<?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>Forem: Ryan Kelly</title>
    <description>The latest articles on Forem by Ryan Kelly (@rykelly).</description>
    <link>https://forem.com/rykelly</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%2F3816165%2F5f59c831-fd81-4cea-9af8-386e4ff79077.png</url>
      <title>Forem: Ryan Kelly</title>
      <link>https://forem.com/rykelly</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/rykelly"/>
    <language>en</language>
    <item>
      <title>Learning Go Over Past Few Months</title>
      <dc:creator>Ryan Kelly</dc:creator>
      <pubDate>Fri, 27 Mar 2026 10:35:11 +0000</pubDate>
      <link>https://forem.com/rykelly/learning-go-over-past-few-months-1inb</link>
      <guid>https://forem.com/rykelly/learning-go-over-past-few-months-1inb</guid>
      <description>&lt;p&gt;From Hype to Harmony: Learning Go Over Past Few Months&lt;br&gt;
Whenever someone would mention Go to me, I was always the brash guy asking why?. Another language? Over another thousand?! Well, now I’m a few months in and I can confidently say Go has been one of the most enjoyable (and sometimes painful) languages I’ve learned. Here’s a snippet of my experience.&lt;/p&gt;

&lt;p&gt;The First Few Weeks&lt;br&gt;
The first thing that took me aback about Go was its simplicity. No fighting semicolons for whom-alls. No wheel reinventions. No “here’s twenty ways to skin a cat” type BS. So I fired up my first Hello, World!, followed a few tutorials, and thought this is going to be easy but turns out i was wrong but in a good way&lt;/p&gt;

&lt;p&gt;Finding Your Wall: Beginner Frustration&lt;br&gt;
Go has a wonderful way of taking things that seem simple and making them feel difficult. It was important for me to realize Go is simple, but not easy.&lt;br&gt;
The biggest issue I ran into was how Go handles errors. Coming from other languages, I figured there would be exceptions that I could deal with later. But Go likes to keep things honest. Here’s how errors are handled:&lt;br&gt;
go result, err := somethingFn()&lt;br&gt;
if err != nil {&lt;br&gt;
    // handle error here&lt;br&gt;
}&lt;br&gt;
This bothered me for far too long. I constantly felt like I was writing if err != nil more than actual code. Then one day it clicked — Go made me be comfortable handling failure, because I was literally handling it everywhere! You start to internalize your failure paths.&lt;/p&gt;

&lt;p&gt;Channels as a Reinforcement Tool&lt;br&gt;
If Go has one shining feature in my opinion, it’s goroutines. The barrier of entry to understand them and utilize them is so low. It took me a second to understand that in order to spin up a goroutine, all you do was:&lt;br&gt;
go doSomething()&lt;br&gt;
One single keyword. My life changed that day. I was writing a small script to ping some urls and in that moment I just decided “fuck it, I’m gonna do this concurrently”. No google, no tutorials. It was empowering.&lt;/p&gt;

&lt;p&gt;Getting Stuck? Here’s What Still Stumps Me&lt;br&gt;
The good news is I haven’t hit a wall lately. But there’s still things that catch me unexpectedly:&lt;/p&gt;

&lt;p&gt;Pointers.Don’t Lie to Me.I get pointers. Conceptually, I understand them. It’s just deciding when to use them vs when to pass by value that trips me up occasionally.&lt;br&gt;
Interfaces… am I implementing you?Go is weird about interfaces. They’re implicitly implemented, so understanding why something doesn’t implement an interface can send you down some weird rabbit holes.&lt;br&gt;
I still don’t understand Go’s package system.I get it, I really do. It was just one of those “when do I use what” moments that took me a freaking week to learn importing because of Cannot Find Module.. errors.&lt;/p&gt;

&lt;p&gt;What’s Next?&lt;br&gt;
Having successfully navigated the initial deep-end, I’m now focused on a year-long intensive dive into Go and Git. The goal is no longer just "making it work"—it’s about mastery, scalability, and building tools that matter.&lt;/p&gt;

&lt;p&gt;If you're thinking about starting your journey with Go, my advice is simple: Don't be afraid of the low-level stuff. It’s where the magic actually happens.&lt;/p&gt;

&lt;p&gt;Are you learning Go too? I'd love to hear what tripped you up or what made it click — drop a comment below!&lt;/p&gt;

</description>
      <category>go</category>
      <category>softwaredevelopment</category>
      <category>learning</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
