Why I'm Becoming a Software Developer
April 20th, 2020
I can put an exact date on when I decided I wanted to become a software developer. It was the night before my 25th birthday, November 1, 2019.
I was in Mexico City on vacation. I’d decided to go to CDMX for my birthday because my birthday, November 2, is also the Day of the Dead and that’s always something I’ve wanted to experience. And probably more importantly, I have a deep aversion to all the attention you get on your birthday. I wanted to not just escape that in a foreign country, but have it be overwhelmed by the attention granted to another holiday.
Plus, tacos al pastor, tequila, mesoamerican pyramids, mole, and more tacos al pastor. (Side note: I gained at least 5 pounds during my 2 weeks in Mexico.)
At the time I was working remotely in a marketing and sales position for a Silicon Valley startup from Medellin, Colombia. I learned a lot in the position, but I had an itching feeling that I wanted to transition to the more technical side of the world of tech.
Concurrently, I’d started studying a bit of front end development because it was relevant to some projects for the company and a side project e-commerce store I was working on. I liked it. There was a ton to learn, instant gratification when you get something right, and lots of career opportunities when you get good at it.
I was apprehensive about taking the leap into an entirely new field. It’d basically be starting from zero in a new career, and that wasn’t a decision I wanted to take lightly, especially because I’d just gotten into the world of tech and marketing less than 2 years previously.
But in a hyper-cliched ¼-life crisis move, on the afternoon before my 25th birthday, I decided that I need to make a career change. I think that it was an inevitability, but the birthday provided the catylist that I needed to take the leap.
The week I got back from the Mexico, I told my job I was quitting by the end of the year, and I dove deeper into programming. I’d spend the mornings and weekends upping my programming chops with the Odin Project, and figuring out how I wanted to proceed with my studying. (I eventually decided that a bootcamp would be the best route for me, but that’s the subject for a different blog post.)
The more I immerse myself in the world of programming, the more I love it, something that continues to this day.
Below I talk about some of my favorite aspects of software development, which inspire me everyday to become a better programmer and learn more.
Infinite Learning Opportunity
I’m a nerd and I ain't afraid to say it. I love to learn. I can and do happily spend an hour or 2 down a Wikipedia rabbit hole about mid-19th century South American interstate relations or read some weird hard sci-fi book—shout out to Isaac Asamov, Ted Chiang and Liu Cixin.
The number 1 thing that I love about programming is that there is pretty much infinite learning opportunity. As much as you know, there is a helluva lot more out there. Even if you’ve mastered a certain field, you have to keep learning the fire hose of new technologies and implementations coming out or you’ll be practically a relic within 5 years.
But unlike my Wikipedia rabbit holes, almost all the learning in programming is applied, so you can actually put it to use to make some cool stuff. To sweeten the deal, most everything you need to know can be found free online. That’s pretty darn cool.
As a programmer, you get to work on interesting problems, and create solutions that have a genuine impact on the world. Plus, every project is different, requiring you to learn more and implement novel solutions. Those are both pretty great things to have in a job.
And one thing that I love about programming is the instant gratification. Even if this isn’t talked about so much, I suspect it’s one of the chief reasons people get into programming (along with lack of athletic ability). When you’re working on something you just have to run it and you get instant feedback. Either it works or it doesn’t. More likely than not, it won’t work the first time, so you iterate until the feature works. And boom, you see it there on your screen. It gives you a little dopamine hit, and pushes you to keep going, and going and going.
With 30mbs of internet and a decent laptop, you can probably work as a developer regardless of where you are (timezone permitting). This is maybe the single most appealing thing about becoming a developer to me, as I'm a passionate traveler and devoted believer in the efficacy of remote work.
I have been living abroad for the last 4 years and working remotely for US companies for 2 years prior to devoting myself to learning software full-time, from my current home in Medellin, Colombia. The prospect of having a career that gives me the flexibility to work from anywhere is deeply personally appealing.
With that being said, I’ve accepted the fact that for the first couple of years of my developer career I'll likely have to be in person as many companies only do entry-level jobs in person, and I look forward to learning from more senior developers. But as of now, it is my ultimate goal to return to remote work at some point in the not too distant future, be it in 1 year, 3 or 5.
Being a developer pays. it is no secret. This is of course one of my main motivations for becoming a software developer. Anyone who says otherwise is probably a liar.
Moreover, software development is probably the single best way to earn a good US salary while living outside the country, which as noted above, is very important to me.
Earning a boatload of cash isn't my principal motivation for become a developer—if making lots of money were my main goal i would have gotten into finance or gone to law school—but it certainly is something that matters to me, especially as i leave my early 20s and get into the meat of adulthood and pay for my own health insurance (thanks Obama for getting me to 26 on the parent's tab though!).
Software isn't going anywhere...it's going everywhere! Basically every company is a tech company these days, and if they’re not they probably should be. They need people to make that technology, and due to some gross inadequacies in the US educational system, there's a severe shortage of practitioners in software development.
So ample job opportunities will exist for software developers for the foreseeable future. That's something I certainly have in mind as I enjoy being gainfully employed.
*Now I don’t think software development is necessarily future-proof indefinitely. Who knows what the economy of 20 year from now...certainly not me. But I am quite confident that being a software developer is a secure job choice for the foreseeable future, say the next 20 years or so.
Conclusion: Just the Beginning
I'm just at the beginning of my journey into the world of software development, but so far I love it, and that's only increasing. I have a long way to go, and I'm looking forward to every step of it.