<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Daniel Saputra</title>
    <description>The latest articles on DEV Community by Daniel Saputra (@danielwetan).</description>
    <link>https://dev.to/danielwetan</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F777578%2F3c51afc4-b664-458b-8cf4-f0491712e16e.jpeg</url>
      <title>DEV Community: Daniel Saputra</title>
      <link>https://dev.to/danielwetan</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/danielwetan"/>
    <language>en</language>
    <item>
      <title>Why I Use WordPress.com for My Website (Even Though I Can Build My Own)</title>
      <dc:creator>Daniel Saputra</dc:creator>
      <pubDate>Sat, 15 Feb 2025 04:10:18 +0000</pubDate>
      <link>https://dev.to/danielwetan/why-i-use-wordpresscom-for-my-website-even-though-i-can-build-my-own-4h05</link>
      <guid>https://dev.to/danielwetan/why-i-use-wordpresscom-for-my-website-even-though-i-can-build-my-own-4h05</guid>
      <description>&lt;p&gt;&lt;em&gt;This article was originally published on &lt;a href="https://danielwetan.com/blog" rel="noopener noreferrer"&gt;my blog&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This year, I started creating my online presence. My goals are to share knowledge, build credibility, and in some ways promote my business. I just finished setting up my social media, now I continue to build up my website and blog.&lt;/p&gt;

&lt;p&gt;I cannot rely on social media because the nature of content is messy. I need a website and a blog so I can have a structured platform where I show my work, and also make sure my content stays accessible for a longer period of time.&lt;/p&gt;

&lt;p&gt;I’m a Software Engineer, I’ll explain why I chose WordPress.com for my website and blog instead of building on my own.&lt;/p&gt;

&lt;p&gt;--&lt;/p&gt;

&lt;h2&gt;
  
  
  My Objectives
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqp7e08yuzwlldtfnoilf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqp7e08yuzwlldtfnoilf.png" alt="Image description" width="800" height="533"&gt;&lt;/a&gt;&lt;br&gt;
I had a clear vision for my website and blog. I want a platform where I can share my knowledge and also achieve the following:&lt;/p&gt;

&lt;h3&gt;
  
  
  Knowledge sharing
&lt;/h3&gt;

&lt;p&gt;This is my main goal, and I want to share my knowledge with others. Whether through insight into Software Engineering, technical tutorials, or lessons learned in my career. I want my website and blog to focus on how to help others build their careers in Software Engineering, improve their technical and soft skills, and get promoted.&lt;/p&gt;

&lt;p&gt;Based on this, I need a solid CMS platform because I will create a lots of pages and articles. I need to organize my content so the audience will get the content in a structured way.&lt;/p&gt;

&lt;h3&gt;
  
  
  Building Credibility
&lt;/h3&gt;

&lt;p&gt;I will publish in-depth articles proving my expertise. I position myself as a trusted authority in my field.&lt;/p&gt;

&lt;p&gt;That would be showcasing my portfolio like software developed, open-source contributions, or an achievement I did. I want to explain the challenge and how much impact was achieved.&lt;/p&gt;

&lt;p&gt;I also share online courses to help others grow in Software Engineering.&lt;/p&gt;

&lt;h3&gt;
  
  
  Promoting Business Afterwards
&lt;/h3&gt;

&lt;p&gt;My long-term vision for this is promoting my business in the future. I could create a landing page with CTA about product launches or services I offer. I would use my website and blog as major channels for promotion, where I can promote to social media or ads and set the link to my landing page.&lt;/p&gt;

&lt;p&gt;--&lt;/p&gt;

&lt;h2&gt;
  
  
  Features I need
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9aalv2ej0n8za63elf87.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9aalv2ej0n8za63elf87.png" alt="Image description" width="800" height="1066"&gt;&lt;/a&gt;&lt;br&gt;
Based on my needs, here is the list:&lt;/p&gt;

&lt;h3&gt;
  
  
  Landing Page
&lt;/h3&gt;

&lt;p&gt;I need a proper landing page with a strong CTA to lead the users and guide them to the core section of my website like portfolio, services, and resources. I’m going to optimize the landing page for each campaign, so I need different styles of landing pages with customization capability.&lt;/p&gt;

&lt;h3&gt;
  
  
  Blog
&lt;/h3&gt;

&lt;p&gt;The blog section is heavy in the content creation, I need a reliable platform to organize articles into tags so my readers can have relevant content. This blog also needs proper search functionality to enable users to find what they are looking for.&lt;/p&gt;

&lt;h3&gt;
  
  
  Newsletters
&lt;/h3&gt;

&lt;p&gt;Once I have an audience, I want to engage using newsletters by sending updates, free resources, or exclusive content right into their email.&lt;/p&gt;

&lt;h3&gt;
  
  
  Selling Digital Products
&lt;/h3&gt;

&lt;p&gt;I want to sell digital products like e-books, courses, and software tools. I need a place to perform transactions safely without much hassle in setting it up and doing maintenance. Also for the security concern, it’s better to reuse available tools in the market.&lt;/p&gt;

&lt;h3&gt;
  
  
  Content Management
&lt;/h3&gt;

&lt;p&gt;I need a platform to organize my content efficiently, I prefer to focus on growth instead of managing technical stuff. I also need the capability to schedule posts so I can plan ahead to keep consistent publishing, and the last requirement is SEO optimization for organic traffic.&lt;/p&gt;

&lt;p&gt;--&lt;/p&gt;

&lt;h2&gt;
  
  
  Comparison of Platforms
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5r2p11anuiuj3o4xra5q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5r2p11anuiuj3o4xra5q.png" alt="Image description" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I considered a few options for choosing the platform for my website and blog. Each option had its pros and cons. Here’s a quick comparison of the platforms I considered:&lt;/p&gt;

&lt;h3&gt;
  
  
  Build on my own
&lt;/h3&gt;

&lt;p&gt;I could build my own platform, but I don’t want to reinvent the wheel. Creating a platform with all of features I need requires effort in development and maintenance.&lt;/p&gt;

&lt;p&gt;There is also a security risk if I manage it by myself. Also, the infrastructure part is challenging. I have experience in developing large-traffic apps, and it requires spending so much time managing the horizontal scaling for the app and database cluster. I want to avoid technical complexity because my priority is creating content and building my online presence.&lt;/p&gt;

&lt;p&gt;I know if I choose this, I need to accept the limitation of customization. My solution is using available plugins or the last solution is to build separately as an app with a different domain, for example, courses.danielwetan.com for an online course dashboard and &lt;a href="https://danielwetan.com/" rel="noopener noreferrer"&gt;danielwetan.com&lt;/a&gt; for the website.&lt;/p&gt;

&lt;h3&gt;
  
  
  Wix, Squarespace, etc.
&lt;/h3&gt;

&lt;p&gt;Platforms like Wix, and Squarespace are known for drag-and-drop simplicity and rich templates. Great to non-technical to running website with some basic functionality, but lack of customization. I need the capability to customize my platform using a plugin or edit the source code directly. Also, I need to store the source code so that, in case there is some issue at the platform provider, I can migrate my website to self-hosted and continue operating it.&lt;/p&gt;

&lt;p&gt;WordPress.org&lt;br&gt;
WordPress.org offers high flexibility and control and this platform is very popular for among engineers. However, it requires self-hosting and regular maintenance. While I could handle this but I prefer a fully managed solution.&lt;/p&gt;

&lt;h3&gt;
  
  
  WordPress.com
&lt;/h3&gt;

&lt;p&gt;This is the perfect platform for me. It offers the drag n drop feature like Wix with flexibility similar to WordPress.org, and it’s fully managed solutions so I don’t need to manage the technical details.&lt;/p&gt;

&lt;p&gt;They offer unlimited bandwidth, and the bill is predictable. For the customization part, they offer ssh access, and we can store the source code in a private github and deploy it to their server. This approach balances a fully managed solution that offers flexibility.&lt;/p&gt;

&lt;p&gt;Even more, WordPress.com offer a feature to create a staging site to test changes before deploying to production. The security part-like DDoS protection, brute force protection, and malware detection is also managed so I can feel safe.&lt;/p&gt;

&lt;p&gt;If in the future I plan to host on my own I can backup the entire website then import in WordPress.org. With this approach I can get full development lifecycle with less time managing the technical parts.&lt;/p&gt;

&lt;p&gt;--&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I Choose WordPress.com
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcekd23run2iwop5cm2ot.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcekd23run2iwop5cm2ot.png" alt="Image description" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This platform not only supports all my needs but also allows me to focus on what truly matters to develops my online presence. Here is the details:&lt;/p&gt;

&lt;h3&gt;
  
  
  Support all of my needs
&lt;/h3&gt;

&lt;p&gt;I can manage landing page, portfolio showcasing and selling digital products in single platform. It also reduces the overhead in maintaining multiple platforms for each use case.&lt;/p&gt;

&lt;h3&gt;
  
  
  Fully managed
&lt;/h3&gt;

&lt;p&gt;It’s fully managed. I don’t need to worried about keeping servers up, security part and software updates. Everything is fully managed, which means I can just focus on building an audience.&lt;/p&gt;

&lt;h3&gt;
  
  
  Rich built in features
&lt;/h3&gt;

&lt;p&gt;WordPress.com offers a wide range built in features like SEO optimization, payments, and online stores. It covers all the core functionalities needed to run a website. I can easily customize the theme or extend functionalities using plugins.&lt;/p&gt;

&lt;h3&gt;
  
  
  Easy backup and exportation
&lt;/h3&gt;

&lt;p&gt;As a Software Engineer, I want to feel in control and secure. I can easily back up the full website from its contents and the assets and export to different places. It is very straightforward and also avoids vendor lock-in.&lt;/p&gt;

&lt;h3&gt;
  
  
  Support and community
&lt;/h3&gt;

&lt;p&gt;The community is huge, powering 40% of websites in the Internet. I can find solutions to my problems easily. They also provide 24/7 customer support, so I can ensure every technical problem is solved with at least the minimum cost of time. They also have proper documentation for the technical part.&lt;/p&gt;

&lt;h3&gt;
  
  
  Mobile App
&lt;/h3&gt;

&lt;p&gt;Their mobile application is very useful for me. It helps me manage my blog from my phone, whether it is writing posts, replying to comments, or checking statistics. This app is making me very productive.&lt;/p&gt;

&lt;h3&gt;
  
  
  Newsletter
&lt;/h3&gt;

&lt;p&gt;For the newsletter part, WordPress.com provides functionality to capture the emails of subscribers and send updates from within the same platform used to manage my blog. I can also monetize my content using paid subscriptions.&lt;/p&gt;

&lt;h3&gt;
  
  
  Community Engagement
&lt;/h3&gt;

&lt;p&gt;WordPress.com makes building a community relatively easy. The features like comments and direct messaging help me engage with my subscribers.&lt;/p&gt;

&lt;h3&gt;
  
  
  Minimal setup
&lt;/h3&gt;

&lt;p&gt;This platform requires no technical setup. I don’t need to manage hosting or security. This simplicity saves time and energy so I can focus on writing and publishing.&lt;/p&gt;

&lt;p&gt;--&lt;/p&gt;

&lt;p&gt;Creating an online presence requires so many considerations of which tool to use. WordPress.com is the solution for me to create a website and growing an audience.&lt;/p&gt;

&lt;p&gt;I share stories and insights to help you start and grow a career in Software Engineering. If you like my content, join 11K+ followers on &lt;a href="https://linkedin.com/in/danielwetan" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;, connect with me on &lt;a href="https://x.com/danielwetan" rel="noopener noreferrer"&gt;X (Twitter)&lt;/a&gt;, follow me on &lt;a href="https://instagram.com/danielwetan" rel="noopener noreferrer"&gt;Instagram&lt;/a&gt;, and explore my work on &lt;a href="https://github.com/danielwetan" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;. Let’s grow together 🚀&lt;/p&gt;

</description>
      <category>wordpress</category>
      <category>webdev</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Bite-Sized Tips to Avoid Deadlocks in Your Go Programs</title>
      <dc:creator>Daniel Saputra</dc:creator>
      <pubDate>Sat, 01 Feb 2025 07:12:57 +0000</pubDate>
      <link>https://dev.to/danielwetan/bite-sized-tips-to-avoid-deadlocks-in-your-go-programs-5ekk</link>
      <guid>https://dev.to/danielwetan/bite-sized-tips-to-avoid-deadlocks-in-your-go-programs-5ekk</guid>
      <description>&lt;p&gt;&lt;em&gt;This article was originally published on &lt;a href="https://danielwetan.com/blog/" rel="noopener noreferrer"&gt;my blog&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;What Are Deadlocks?&lt;br&gt;
Deadlocks occur when goroutines get stuck waiting for each other. This stops your program and can be difficult to debug. Avoiding deadlocks is key to writing efficient Go code.&lt;/p&gt;

&lt;p&gt;Tip 1: Close Channels&lt;br&gt;
Always close channels when their purpose is complete. Because It signals receivers that no more data is coming.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9lqdrkjqjc7qtesj6h48.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9lqdrkjqjc7qtesj6h48.png" alt="Image description" width="800" height="326"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Tip 2: Use select with Default&lt;br&gt;
Use a select block with a default case for non-blocking operations. This keeps your code responsive even when a channel isn’t ready.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvi4ijyafnkhgecyr8asn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvi4ijyafnkhgecyr8asn.png" alt="Image description" width="800" height="367"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Tip 3: Use Buffered Channels&lt;br&gt;
Buffered channels can store messages temporarily, avoiding unnecessary blocking.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1tt02j15x6bdaqpf8j1q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1tt02j15x6bdaqpf8j1q.png" alt="Image description" width="800" height="257"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Putting It All Together&lt;br&gt;
Combine these techniques for robust, deadlock-free Go programs: Close channels when done Use select with default for nonblocking sends Leverage buffered channels for smooth communication.&lt;/p&gt;

</description>
      <category>go</category>
      <category>softwareengineering</category>
      <category>softwaredevelopment</category>
      <category>backend</category>
    </item>
    <item>
      <title>How I Learned It’s Okay Not to Know Everything as a Software Engineer</title>
      <dc:creator>Daniel Saputra</dc:creator>
      <pubDate>Sat, 01 Feb 2025 07:08:25 +0000</pubDate>
      <link>https://dev.to/danielwetan/how-i-learned-its-okay-not-to-know-everything-as-a-software-engineer-3189</link>
      <guid>https://dev.to/danielwetan/how-i-learned-its-okay-not-to-know-everything-as-a-software-engineer-3189</guid>
      <description>&lt;p&gt;&lt;em&gt;This article was originally published on &lt;a href="https://danielwetan.com/blog" rel="noopener noreferrer"&gt;my blog&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;When I started working as a software engineer, I was afraid to ask questions because I thought it would make me weak.&lt;/p&gt;

&lt;p&gt;I tried to find out everything myself and it turned out to be wrong, the impact was that the delivery of the work, I took longer because I need extra time to explore.&lt;/p&gt;

&lt;p&gt;Finally I realized that this could disrupt my work, I should have been able to ask my seniors (in 2020 there was no ChatGPT).&lt;/p&gt;

&lt;p&gt;I learned that growth is not about knowing everything but how I evaluate my weakness and fix them.&lt;/p&gt;

&lt;p&gt;Everyone has limited knowledge, it’s okay to ask and clarify but make sure you don’t bother the person. I believe a growth mindset can bring us success in the future.&lt;/p&gt;

</description>
      <category>softwareengineering</category>
      <category>softwaredevelopment</category>
      <category>backend</category>
      <category>frontend</category>
    </item>
    <item>
      <title>My Approach to Crafting Great AI Prompts</title>
      <dc:creator>Daniel Saputra</dc:creator>
      <pubDate>Fri, 31 Jan 2025 19:54:19 +0000</pubDate>
      <link>https://dev.to/danielwetan/my-approach-to-crafting-great-ai-prompts-4l1o</link>
      <guid>https://dev.to/danielwetan/my-approach-to-crafting-great-ai-prompts-4l1o</guid>
      <description>&lt;p&gt;&lt;em&gt;This article was originally published on &lt;a href="https://danielwetan.com/blog/" rel="noopener noreferrer"&gt;my blog&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Learn how to create prompts that get the results you need.&lt;/p&gt;

&lt;p&gt;Why Prompts Matter&lt;br&gt;
A well-crafted prompt is the key to getting accurate and helpful results. Great prompts lead to clear and relevant responses.&lt;br&gt;
Here’s how I approach crafting them.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Start with a Goal&lt;br&gt;
Begin by defining what you want to achieve. A clear goal sets the direction for the prompt.&lt;br&gt;
Example: “I need a summary of this article.”&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add Context&lt;br&gt;
Provide details to guide the response because the context ensures specificity and relevance.&lt;br&gt;
Example: “Summarize this article about AI advancements in 2023.”&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Iterate and Improve&lt;br&gt;
Test your prompt and check if the response aligns with your goal. If not, adjust it.&lt;br&gt;
Original: “Explain AI.”&lt;br&gt;
Update: “Explain the basics of AI to a beginner in simple terms.”&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Practice Makes Perfect&lt;br&gt;
Prompting is a skill don’t be afraid to experiment. The more you practice, the better your results will be.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>promptengineering</category>
      <category>ai</category>
      <category>softwareengineering</category>
      <category>softwaredevelopment</category>
    </item>
  </channel>
</rss>
