[{"data":1,"prerenderedAt":171},["ShallowReactive",2],{"\u002Fposts\u002Fgoing-with-go":3,"posts-nav":133},{"id":4,"title":5,"body":6,"date":119,"description":120,"draft":121,"extension":122,"meta":123,"navigation":124,"path":125,"seo":126,"stem":127,"subtitle":128,"tags":129,"__hash__":132},"posts\u002Fposts\u002Fgoing-with-go.md","Going with Go",{"type":7,"value":8,"toc":112},"minimark",[9,18,21,26,29,40,43,51,55,63,72,81,90,93,97,100,103,106,109],[10,11,12,13,17],"p",{},"Whether it's for a new job, a side project, or out of boredom, I've always had a knack for learning new stuff.\nAfter ",[14,15,16],"del",{},"120 years"," 4 years of React-bending (yes, like the Avatar), I decided it was time to learn a new element.",[10,19,20],{},"In this post, I'll be sharing why I decided to learn Go and how it's going.",[22,23,25],"h2",{"id":24},"itsjust-simple","It's...just simple",[10,27,28],{},"It's been about a year since I picked up Go, 3 months since I started contributing to production software with it, and I still maintain what I initially assumed about it; it's simple. Though, despite it's simplicity, I didn't like it at first. In fact, I had to abandon it for about a month or so. It wasn't because it was complex, I just wasn't comfortable with some of its syntax; capitalizing types to make them public, the numerous ways to print stuff, and a couple of other things that felt strange coming from JavaScript\u002FTypeScript backgound. But after returning to it, and the more I used it, the more those things actaully made more sense.",[10,30,31,32,39],{},"One of the things that fascinated me early on was seeing what people were able to build with so little code. I remember coming across a web crawler written in Go that was only about 240 lines long (excluding import statements). The idea that something useful and powerful could be implemented so concisely made me even more curious about the language. You can find the repository ",[33,34,38],"a",{"href":35,"rel":36},"https:\u002F\u002Fgithub.com\u002Fafazio1\u002Fweb-crawler\u002Fblob\u002Fmain\u002Fmain.go",[37],"nofollow","here",".",[10,41,42],{},"When I say it's simple, I mean in terms of predictability and readability; when I pick up 5 different Go codebases that solve different problems, I can easily follow along because there aren't too many constructs or diverse patterns to solve problems, the language encourages conventional approaches.",[10,44,45,46,50],{},"I also consider explicitness an act of simplicity. An example is error handling. Coming from a JS\u002FTS background, you have to throw and handle errors that jump across your code. In Go, you handle errors ",[47,48,49],"em",{},"explicitly"," right where they happen. I strongly believe that all of the above have made it easy for me to maintain and debug applications easily till this point.",[22,52,54],{"id":53},"the-things-that-hooked-me","The things that hooked me",[10,56,57,58,39],{},"When it comes to learning a programming language, high availability of resources is a huge factor for me. At first, I didn't have to guess which tutorial was good or not good, or a waste of time. With Go, a bulk of stuff I needed to get me started was right there on the official ",[33,59,62],{"href":60,"rel":61},"https:\u002F\u002Fgo.dev\u002Flearn\u002F",[37],"website",[10,64,65,66,71],{},"Another resource I immediately fell in love with was ",[33,67,70],{"href":68,"rel":69},"https:\u002F\u002Fgobyexample.com\u002F",[37],"Go by Example",". The simplicity of seeing core concepts at a glance, as well as code snippets right beside them was a major win for me. It's a very straight to the point source of knowledge. I still refer to it a lot in my day-to-day work, and it's one of my favourite places to go when I need a refresher.",[10,73,74,75,80],{},"A third resource I came across was ",[33,76,79],{"href":77,"rel":78},"https:\u002F\u002Fquii.gitbook.io\u002Flearn-go-with-tests\u002F",[37],"learn go with tests",". This one teaches Golang with an emphasis on test-driven development. I loved how it reinforces TDD patterns and teaches you to write tests in a step-wise fashion.",[10,82,83,84,89],{},"Lastly, one of my favs that drew me closer to the language was ",[33,85,88],{"href":86,"rel":87},"https:\u002F\u002Fwww.boot.dev\u002F",[37],"Boot.dev",". After going through a couple test lessons, I knew I had to subscribe. And since then, it's been the platform I've learned Go from the most.",[10,91,92],{},"One can go through some resources and gradually fall in love with them later. For me, these resources got me hooked instantly.",[22,94,96],{"id":95},"sowhats-the-point-ツ","So...what’s the point? ¯\\(ツ)\u002F¯",[10,98,99],{},"If there's anything that I want you to take away from this, it's that you don't have to like something immediately for it to be worth learning.",[10,101,102],{},"When I first picked up Go, some of its conventions felt unnecessarily strange to me. I put it down for a while. But coming back to it with better resources and more context completely changed how I saw the language.",[10,104,105],{},"So if you're picking up something new, don't spend forever looking for the perfect course, tutorial, bootcamp, or roadmap. Find a few solid resources, bury yourself in them, and give yourself enough time to get past the parts that are unfamiliar.",[10,107,108],{},"You might not fall in love with the thing immediately. That's okay.",[10,110,111],{},"Sometimes, you just need to spend enough time with it before the things that felt strange start to make sense.",{"title":113,"searchDepth":114,"depth":114,"links":115},"",2,[116,117,118],{"id":24,"depth":114,"text":25},{"id":53,"depth":114,"text":54},{"id":95,"depth":114,"text":96},"2026-09-14","Whether it's for a new job, a side project, or out of boredom, I've always had a knack for learning new stuff.\nAfter 120 years 4 years of React-bending (yes, like the Avatar), I decided it was time to learn a new element.",false,"md",{},true,"\u002Fposts\u002Fgoing-with-go",{"title":5,"description":120},"posts\u002Fgoing-with-go","Why I believe Go was the way to go",[130,131],"general","golang","ZxUwA96jukCdZFa2hrqfc3FmgRWo8MP2bOHV-7CY1a8",[134,138,142,143,147,151,155,159,163,167],{"path":135,"title":136,"date":137},"\u002Fposts\u002Ffunctional-options-may-not-always-form-closures","Functional options may not always form closures","2026-10-06",{"path":139,"title":140,"date":141},"\u002Fposts\u002Fgo-closures-functional-options-pattern","Understanding closures in Go through the functional options pattern","2026-09-25",{"path":125,"title":5,"date":119},{"path":144,"title":145,"date":146},"\u002Fposts\u002Fcollecting-blogs","Collecting blogs","2026-09-10",{"path":148,"title":149,"date":150},"\u002Fposts\u002Fhello-world","Hello, world!","2026-08-01",{"path":152,"title":153,"date":154},"\u002Fposts\u002Fwhy-my-first-react-app-should-have-been-tic-tac-toe","Why my first React app should have been tic-tac-toe","2025-07-02",{"path":156,"title":157,"date":158},"\u002Fposts\u002Ftyped-and-tested","Typed and tested","2025-05-29",{"path":160,"title":161,"date":162},"\u002Fposts\u002Fforms-without-the-stress","Forms without the stress: React hook form does it best!","2025-03-16",{"path":164,"title":165,"date":166},"\u002Fposts\u002Fdata-fetching","Data fetching in React","2025-01-26",{"path":168,"title":169,"date":170},"\u002Fposts\u002F2024-in-review","2024 in review as a frontend engineer","2024-12-31",1791245350721]