A guy throwing a dart

A Guide to Developing Coding Career Goals

Not all paths lead to the same software development job. And not all programmers are suited for the same kind of coding work. If you’re starting from the beginning, then those first few steps are going to look very similar if not identical. Once you’re a bit further along with your studies, however, you’re going to want to know which direction you’re being pulled. We’ve created this guide to developing coding career goals to help you figure it all out.

This is one of those – grab your journal, a pen, a beverage, and start writing this all out – kinds of exercises. It’ll take some brainstorming, some introspection, and some dreaming about the future. If you do it right, it can also be a lot of fun. What you want to get out of this is clarity for yourself about where you want to end up, how you think you’ll get there, and a plan written down to follow.

To start, know where you are currently in your software development journey. If you’re not really sure about that either, read through this guide on starting points and then come back. Once you know where you’re starting from, it’s easier to plan your next steps.

You also want to take into consideration your interests and your strengths as a developer. Are you going down the front-end developer path, or are you much happier working on the back end? Who knows, maybe you’re a unicorn. A one in a million perfect developer who is equally suited to the front and back end, a true full-stack developer. You’re not. But…maybe.

So, grab your pen and your journal and brainstorm as much as you can about how you feel regarding what you’ve already learned and what you’ve built along the way. Here are a few questions to ask yourself during your brainstorming, and along the rest of your journey from time to time. Write as much and as quickly as you can, and don’t filter your thoughts at this point. Just write.

  1. Am I an “artistic” person?
  2. Do I love data and all things math?
  3. Do I love the way it feels to sit and tweak CSS for five or six hours straight?
  4. Does a good API make me warm and fuzzy?
  5. What is the hardest part of web development for me, why?
  6. What is the easiest part of development for me, why?
  7. If I could do (fill in the blank) all day long, for months on end, I’d be happy.
  8. I want to avoid (fill the blank) at my job no matter what I do.

These questions can direct your learning for sure. You don’t have to give up CSS if you’re going to be a database developer, but you might not want to pour half of your entire being into the benefits and drawbacks of flexbox and grid.

And if integrating Vue into a web project is your idea of a fantastic weekend, you may not want to study the ways to shave milliseconds off of a database call. Again, you might be one of the few who want to know it all, but most of us do have narrower interests than that.

It is really valuable for a front-end developer to know a good amount about how the back end works, and vice versa. That knowledge will make you a great team member, and you’ll know what your colleagues are going through when dealing with the code you send them. So, I do encourage you to study what we call “full-stack” development. You’ll have at least a broader knowledge base than developers who only stick to their specific interests.

Pay close attention to where your interest gets pulled while you’re studying and building projects. It can tell you a lot about what jobs you should be targeting when the time is right.

Once you’ve brainstormed the above questions, and anything else related that makes sense to you, think about the following:

  1. What kind of company do I want to work for?
  2. What kind of work do I want to do?
  3. Working for a company that (does this specific thing) would make me proud and fulfilled.
  4. I never want to work for a company that (fill in the blank).
  5. I do/do not want to work for a startup.
  6. I do/do not want to work for a large, established company.
  7. The important things for me are (money, vacation time, room for advancement, an amazing office in an amazing building, etc etc.)

Do the same kind of brainstorming that you did with the first batch of questions. With number 7 in that list, write out as many things as you can think of, and then prioritize them.

These questions are as important as any technical ones you ask yourself. Positioning yourself to work for the companies that are right for you is a crucial step in your professional life. Doing work that you feel is important will help you overcome frustration, boredom, and serious burnout.

Look for patterns that you can pull out of your brainstorming sessions that say something meaningful to you. You should have a better idea of what you want to do from a technical perspective as well as your ideal professional setting.

From here, make a list of the types of companies and the types of work that you would love to do. Make a dream list, and don’t filter it. If your dream is to be a Senior Engineer at Google, list it. If you want to work in the non-profit sector developing applications that help people find dogs to adopt, list that.

You should end up with a good idea of what kind of work you are most interested in from a technical standpoint, as well as the specific types of companies that you’d love to work for. When you have these data points, you can start to do research on what companies match your dream list and which ones might be looking for the type developer that you’ll become.

Use this information to go onto Glassdoor, indeed, or your favorite jobs site and do actual research on actual companies and jobs.

This is an ongoing exercise that you can keep coming back to throughout your coding journey and your professional life. Always examine where you are and where you’d like to be with your next step. Let that knowledge direct what you study, learn, and build from day to day.

If you’d like more help on developing a learning plan for your DIY coding career path, check out our services page for more info.