Bite-Sized Dev Tips

Bite-Sized Dev Tips

The goal is to help you, the developer, by turning complex things into understandable, bite-sized pieces.

Should I become a programmer?

A helpful guide on whether to look into becomming a programmer or not

Geoff Safcik

9-Minute Read

Should I become a programmer?

Should I become a programmer?

Should I become a programmer?

Should I become a developer?

Should I go into computers?

How do I learn to program?

What are tips on how to learn to code?

I get questions like this all the time, especially in this current working climate. There are reasons why you might want to look into development/programming by changing careers (or going into the field if you’re starting out).

I’m going to keep this short (otherwise I could talk about it for days). The short answer is, it depends. There are a lot of variables that you need to consider to see if one of these fields is right for you.

For the sake of this post, I’m going to assume that you did your research and that you know the questions you’re asking. When someone asks me one of the questions above, I sometimes quickly get the impression that they do not know what they’re asking…and answering these would be a topic for another day.

I’m also going to use the terms “programmer” and “developer” interchangeably. This might annoy some professionals but hey, this post is not for them but for those trying to decide. Here’s a link to a Google search about the differences between programmers and developers (lots of articles to look at).

Why would I want to be a programmer?

There are many reasons that you are thinking about becomming a developer. Let’s consider some of these reasons:

  • Your current industry is suffering a lot during these times of Covid and high unemployment (e.g. the airline, restaurant industries)
  • You’re looking to potentially reach a six figure income and can’t do that in your current industry.
  • You’re in school now, in a different field, and are exploring options because the field you chose isn’t doing so well.
  • You think programming brings a level of prestige and you’re all about that.
  • You’re thinking of a side-hustle and learning iOS/Android app development will get you where you want to be. And possibly making this your business venture if it works out.

What does it take to become a developer?

Just because there isn’t a ton of schooling and credentials to get, like doctors, doesn’t mean that this will be a walk in the park. Although, let’s be real, it’s not surgery on a human being. That said, you may be developing medical equipment software…

You need to understand that there are a lot of expectations for developers. We [try to] make things easy for our clients/users and therefore they generally think our job is easy (this has been my experience and experience of other professionals I’ve talked with). Let me dispel that myth real quick!

By being a programmer, developer, software engineer (and the like), you are a problem solver1 (sometimes solving complex problems).

The most critical skill you need, in my opinion, is critical thinking2. If you don’t possess (or can’t learn) that ability, then this field is not for you. I don’t mean that in a derogatory way but it’s pretty essential in this field. Don’t get me wrong, you can program without it but you will seriously handicap yourself. Please don’t do that to yourself, it’s not pretty!

Another thing you need would be resilience3. Why? You’re a problem solver, remeber?! When there are complex problems you’re trying to solve, there will be many frustrations that make you want to physically bang your head against a wall or desk. Remember, giving up is not an option. You can’t give up; it’s your job to deliver a solution to your client/customer. Therefore, sometimes you’ll need to work extra hours and even weekends to deliver your solution on time.

It helps a lot if you like what you’re doing, in any career field. I find this to be one of those where it helps extra. If you don’t, you’ll burn out quickly. And staying in the game longer is what you want if you’re seeking much higher pay than the average U.S. median household income ($63,179 in 2018). Again, it helps if you have a genuine interest in whatever field in technology that you’re going into!

Something that often gets overlooked in our fields is the ability to relay information to a non-technical person. This is important when it comes to talking to, say clients, about the solution you’re presenting to them. They don’t have time nor do they want to decipher what your technical jargon means. This may not be something you worry about early on in your career but it will inevitably come up non-the-less.

Where can I learn to code?

You have some idea of what it takes to become a developer or programmer. You also know, through research, what direction you think you want to go. So, with these assumptions, what’s next?

If you’re in college or about to go to college, choose a Computer Science degree. I think this is the best option for you as you’re already there and will learn so much about algorithms and optimization around them, important theoretical concepts (that can be applied later), etc.

Ha! I am way out of college and looking to change fields (or whatever flavor). What about me?

Learning to code is an essential part of our daily tasks (at most levels). If you’ve done you’re research and you have a direction to go, then you should have a general idea of what coding languages to pick up.

Coding Bootcamps

Probably one of the most popular options, which provides a quickstart, is to go for a coding bootcamp. These are usually condensed course programs that theoretically get you ready for your first programming job (with learning material and projects). In my area, some of the popular ones are Galvanize, General Assembly, Denver University, Hack Reactor, etc (there’s quite a few these days). I have no personal experience with them other than I’ve worked with some of their grads throughout my career.

Be aware, these options are not cheap but they are supposed to be worth it. I’ll let you be the judge and come to your own conclusions. Just, please, be realistic with your expectations. Unless you’re really good, you probably won’t be making your dream salary out of the gate after graduation. Give it some time, get some experience, and then level-up!

Self-Learning

Ok, so I took this road on my path to a career as a developer and I have plenty of insight. I don’t recommend it unless you have the following to devote to your self-learning:

  • time
  • dedication
  • realistic expectations

If you choose this route, you’re choosing to go into this field the slow way. You’ll basically need to figure out and create your own self-learning syllabus.

Of course, if you have a mentor - someone to show you the ropes and help you with your direction (highly recommended) - this could be your best option!

I’m not saying it can’t be done without one - I didn’t have one - but make no mistake, it’s tough.

If you choose to proceed with this path, realize that you’ll likely get paid less to start but you can forge your own journey 🤷‍♂️.

I highly recommend checking out the following:

  • Open Source Society University
    • This is a nice open sources computer science curriculum you can use/follow which should help trememdously
  • All the numerous blog articles out there. Just Google your topic and try narrowing down your search.
    • You’re in the learning stages. Grab all the resources you can around your topic(s) and dive in!
  • Course platforms such as Coursera, edX, Udemy, Udacity, etc. offer courses that can help you in general or if you need help in certain areas…
    • Although not a course platform, Youtube is often a resource too, especially if you need help in certain areas or basic programming tips in a certain language.
  • Individual Code Languages Documentation
    • Don’t underestimate the power of good old documentation (e.g. Python docs). You’ll always be referencing documentation throughout your career so familiarizing yourself with it while learning could be considered a head start! Also, many language docs have intro guides/tutorials to follow 😉.
  • If you’re into Apps (phone/tablet), SoloLearn is something I used once when I was on vacation and it was useful.
  • When you’re ready, test your skills at code challenge sites like CodeWars and LeetCode. Don’t be afraid to challenge yourself with tools like these because you’ll need to “practice, practice, practice” in order to pass your coding interviews! They’ll help you tremendously!

Please know that there are many, many more options to utilize here and that I’ve only just scratched the surface (generally)! I’ll be exploring more of the self-teaching aspect in future articles!

Staying Current

Just like doctors, nurses, and other professions, we need to stay current in our field. Unlike those professions, we don’t have Continuing Education (CE) Credits, but we do have a similar expectation that we don’t fall behind.

I find that most developers have an innate interest in keeping up to date because most of us want to learn the latest, greates, and popular languages. Therefore, don’t sweat it. You can also ask your employer to send you to trainings and conferences too. And, I would be remiss if I didn’t mention the certificates that you could get to bolster your resume.

Also, keep this in mind. When following tutorials or a course, copy & pasting is fine for some things. However, try to write out as much as possible by hand so that it cements in your brain. Trust me, this will help you on down the line!


If you think you’re ready, choose a direction and get started. Above all, don’t give up! Your hard work and dedication will pay off!


Definitions

  1. problem solving (Merriam-Webster)

the process or act of finding a solution to a problem
Let’s do some problem-solving and see if we can’t figure out what to do.
problem-solving skills

  1. critical thinking (Oxford Dictionary)

the objective analysis and evaluation of an issue in order to form a judgment. “professors often find it difficult to encourage critical thinking amongst their students”

  1. resilience (Oxford Dictionary)
  1. the capacity to recover quickly from difficulties; toughness.
    “the often remarkable resilience of so many British institutions”
  2. the ability of a substance or object to spring back into shape; elasticity.
    “nylon is excellent in wearability and resilience”
comments powered by Disqus

Recent Posts

categories