A Few Ways to Become a Software Developer

Matt Kornfield
6 min readDec 6, 2022

All roads lead to midnight debugging đŸ˜ŽđŸ’»

Photo by Nubelson Fernandes on Unsplash

As someone with a non-coding education background (editing C files in Nano in college 👎) I have a few contrarian opinions on traditional university software education.

I found all three of my Computer Science classes boring. But a Comp Sci degree is one of the most surefire paths to a developer role. But before debating on the path to take, first


Should you be a Software Developer at all?

Some Developer pros might include:

OK so maybe now is not the best time to be a developer. But hey it beats “steel worker” or “automotive worker” on more than one count.

So weigh all of these reasons to be a developer against some cons, namely:

  • Coding is seriously confusing, even for simple tasks. Just getting your environment set up to write code can be a nightmare.
  • Many software projects are notoriously rushed/ late and anxiety inducing (just ask video game developers)
  • Certain jobs roles are ultra-competitive, like for FAANG/ MAAMA.
  • If you’re On Call, yeah
 no fun
  • A lot of software development is just working with other people’s code/ super old code. “Code archaeology.” This can be a real bore.

There’s probably more I can go into, but suffice it to say, don’t code just because of the good reasons. Code because you’re fine dealing with the pain brought on by the bad ones.

OK I want to code for $$$, now what?

If this were a choose your own adventure book, there’s really two paths:

  1. Pay someone (coding tutorial) or something (university) $$$ to teach you coding
  2. Learn on your own, usually with paid tutorials, books, and begging people who know things to show you

Pay Someone

I’ve used Udemy for option (1) but haven’t done anything much more extensive, like a 4 year degree (I started a Masters but gave up since all the information was antiquated/ not helpful for my actual job).

I said before that option (1) works; people who get CompSci degrees get jobs coding for a living. People who do coding bootcamps get jobs as well, though I’m too sure which one is more worth it.

I’d probably say I’d go with whatever option you can afford, since the main upside to a 4 year degree is the networking opportunities. But these are full time commitments, either for 4 years or a few months, and definitely big financial commitments.

I mostly dove in on my own, so I’ll speak to option 2 now:

On Your “Own”

This approach is a bit more stress inducing I think. Universities and bootcamps really require your full attention, but it’s hard to justify learning on your own with joblessness. So you’ll really end up having two jobs

  1. Your current job (moving boxes IDK)
  2. The one you aspire to have (but don’t get paid to do)

The real key to making it so you don’t spend all your waking hours working/learning is to use what you learn to make your current job easier. Maybe the only useful advice of this article: find a way to solve problems in your current job using coding.

Eventually someone will notice you or you’ll know enough to weasel your way into a real opportunity. Most people just see their current job as “paying the bills,” but really what you should see it as is “I’m getting paid to learn how to solve problems for this company.” Why not try and solve some development related problems?

Find your advocate

Getting someone who will advocate for you as a “coder” even when you aren’t competent yet is the best way to get ahead at your current job. My old boss was a real advocate for me, and gave me the opportunity to work in a different department where I could cut my coding chops (I started as a non-coding, software consultant at Appian).

I’m not 100% sure why he advocated for me, but I think part of it was because I kept trying to solve problems using some form of code or novel approach.

(I spent an overwhelming amount of time trying to make a small change to a plugin and eventually did, only to have someone overwrite it shortly thereafter, haha!)

Let’s go back to your current job. If you have a problem to solve, let’s say it’s moving boxes (for real), maybe you can do something with Python to figure out the most optimal route. If that article hurts your head like it does mine, maybe find a different tack. But if you find it interesting, keep digging! Find something that:

  1. Interests you
  2. Helps solve a problem you’re currently stuck on

If there’s someone you know that has any technical capability, glom onto them! I learned so much in those early days from technical folks that were kind enough to pair with me/ teach me what the heck was going on. Don’t be afraid to appear stupid; it will happen many many times.

Decide to Give Up or Go Hard

Last piece of advice on how to get started as a developer: if you’re really serious about it, and you’re not going the 4 year college/ bootcamp route, remember that millions of other people did.

You’re up against the cream of the crop too at top companies: people with PHDs and many years in front of a computer, hobbyists who have been programming since they were kids. The people without 4 year degrees are tough as nails too.

If you want to be in this industry and succeed, you’re going to have to put a lot of time in to stay afloat if you didn’t have a big upfront ramp up. So either back out and find a different way to make $$$ or dig in.

When I first started my “developer” job, I put in long hours and read a lot of books. I did tutorials and courses. I busted my hump because I had NO CLUE what was going on. I hadn’t seriously used GitHub until I joined engineering, and that first set of Pull Requests was a struggle 🚌.

I put in a lot of late hours, at the office and at home, mostly so I could keep up with people that were smarter than me and had more relevant coding backgrounds (lol I studied physics and know some integrals.) And I kept learning about how git and other systems worked, to the point where people asked ME how to do things.

It was a bizarre time when folks started asking me for help, mostly because I still didn’t know what was going on. But it really helped me realize that what had helped me learn the most was to


Teach Others

The bottom (largest part) of the learning pyramid is teaching.

Once you actually know how to patch methods for unit testing in Python, or integrate a system using OIDC authentication, if someone you work with or know has that same problem, help them out.

It will reinforce what you know or, better yet, you’ll learn of a few more ways that things can go wrong. It’s the best way to give back to a company or community that helped you learn.

Closing

  1. Figure out if you even want to code for a living (the world needs people who do other things too)
  2. Pick the four year degree/bootcamp option or go it alone
  3. Solve problems at your current job with code
  4. Find your advocate
  5. Bust your hump
  6. Give back by teaching

--

--

Matt Kornfield
Matt Kornfield

Written by Matt Kornfield

Today's solutions are tomorrow's debugging adventure.

No responses yet