Module 1 - Introduction
1. Welcome to the course2. Why Go3. Why start and build a blog?4. What about React/Vue/Angular?5. Getting setup and source filesModule 2 - Tech Stack Walkthrough
1. Introduction to Golang Part 12. Introduction to Golang Part 23. Introduction to Golang Part 34. Structuring Golang Applications5. Templating with Templ6. Just enough interactivity with HTMX7. Getting started with postgres8. Servers, routers and endpointsModule 3 - Creating the MVP
1. What are the minimal requirements?2. Doing some initial plumbing3. Embedding static assets4. Creating our views5. Tailwind & Utility-first CSS6. Embedding Assets7. Styling the Landing Page8. Styling the Article PageModule 4 - Managing Content
1. Choose your own adventure2. Writing in Markdown3. Parsing Markdown to HTML4. Frontmatter and Meta Information5. Serving the Content6. Making our Code examples look niceModule 5 - Adding the Database
1. What is a Migration?2. Our first Migration: Posts Table3. Creating the Database Layer4. Showing the Latest Posts5. Slugs and Human Readable URLsModule 6 - Managing the Blog
1. What are the minimum requirements?2. A new layout approaches3. Creating a rough outline4. Our second migration: Users Table5. Introduction to authentication6. Storing passwords securely7. Authenticating users8. Remember me9. Managing posts using a hypermedia API10. Our third migration: Altering Posts Table11. Only show posts marked readyModule 7 - Adding Subscribers
1. What are the minimum requirements?2. Our fourth migration: Subscribers Table3. Creating the subscription form4. Adding some interactivity with HTMX5. Saving new subscribers in the database6. Verifying subscriber emails7. Our fifth migration: Tokens Table8. Email validation view9. Email validation tokens10. Sending validation emails with SES11. Making it all come togetherIntroduction
Why start and build a blog?
Summary
In this video, I discuss why developers should build and maintain their own blog. I explain how writing helps supercharge learning, solidify knowledge, and improve communication skills. I emphasize how running your own blog provides hands-on experience with web applications in a low-risk environment, and address concerns about AI's impact on content creation by highlighting the value of personal style and authentic human writing.
Transcript
Welcome to episode 3. Here, I'll be going over why I think you should build and run your own blog as a software developer. So why should you have a blog and why should you build one yourself? Well, if you're in marketing, the answer to this question might be pretty obvious as content marketing has been growing like crazy in the last couple of years, especially with the advancement in AI. But what are the benefits to you as a developer? Personally, my learning has been supercharged after I started writing about concepts or technologies or ideas that I have explained throughout the years. Putting some experience into words will help solidify it to a much greater extent as you work through knowledge gaps and aha moments. If you also try to do it in a very simple way, you will be forcing yourself to be more clear and precise, leading to a better understanding of the topic. It will also provide you with more chances of expanding your network to build relationships in the industry and also contribute to the community. Not to mention that you now have a backlog of case studies that you can show to future potential employers. It could lead to attracting business partners or freelance clients. Communication is a much larger part of software engineering than we actually give it credit for. Being able to describe something in written form that is clear and precise will make you stand out from the rest. This is also very crucial if you want to be in a remote role. But more importantly, it gives you hands on experience managing a web application. It's in a controlled environment where you can experiment, you can make mistakes. You know, if you take down the production server, it's not really going to be as big of a deal as it is if you do it at your job. Right. So do you want to learn a new language? Great. Rewrite the blog in that language. Do you want to learn Kubernetes? Do you want to learn DevOps? Great. Change your server environment to use those technologies. Continuous exposure to the elements of running web applications will make you a better developer. And it will also help you not to panic if anything goes wrong because you know how to deal with that because you've tried it before. So the more you tinker with these things, the better you will eventually become. But what about AI? Will it not just do all of the writing for you? Well, there are some competitive advantages that you have, you know, if you ever try to use Claude or OpenAI to write, you can see that it's very generic. It's very, let's say formal and boring. So you still have the chance of standing out by, you know, developing like a unique writing style or storytelling. You can tell if something is human made still. It might change in the future, but. For now, don't worry about it. Just, you know, try and develop a really good communication style.