I was chatting with a friend, and the topic of making it in the software development industry came up. They were concerned that programming is so hard to break into and takes a long time, so they asked for a backup plan that’s in high demand but doesn’t involve coding and isn’t over-saturated like development. This perturbation led me to question their motives for getting into software in the first place. I’ll walk you through the most common wrong reasons to enter into this field, along with how to evaluate alternative options.
everyone’s doing it
Following the herd only leads to stampedes. The sentiment of this market as saturated is dangerous to the degree that it’s both accurate and inaccurate. Demand for these positions seems to grow without limit, suggesting that we have yet to hit a saturation point. At the same time, there’s been a torrential flood of new programmer supply from coding bootcamps, online tutorials, and remote workers the world over. The mismatch here is that most of the supply of new developers is at a junior skill level, but the bar for in-demand skills keeps rising higher toward the senior level.
Another misconception stems from the belief that because developers perform their work on computers that it must be easy to do. After all, the rest of the world is mostly using these devices to watch cat videos, surf the rabbit hole of search results for a given topic, play games, and check their email. The only tricky part that those outside the industry tend to identify is the amount of typing performed, which seems trivial for anyone in a field involving large amounts of writing. The actual difficulty for programmers lies in the creative parts of the work that occur inside the developer’s mind, and thus, are unseen. With few exceptions, most software engineering involves building new or modifying existing things to perform tasks they have never done before. There may be a software design in place, but it’s more of a vague notion and less of a blueprint.
A successful developer will need to keep adapting their design when continuously thrown curveballs upon discovering new unknowns or changing requirements. Excellent developers will understand the business problems they are solving, and make decisions aligned with what will give their software the best chance for success. Truly superb developers also have top-notch communication skills to ensure their work fits seamlessly with the greater whole and are proactive about helping teammates who are stuck. This unique combination of creative and technical abilities is scarce and not easy to acquire.
It’s no secret that software is among the top paid careers, right after the medical professions. Combine high pay with far more affordable education options from bootcamps to free learning materials, and the choice appears to be a win-win. Beware of those offering income share agreements or high-interest loans to fund this form of learning. Even if you utilize entirely free information, there’s still the opportunity cost of what you could be doing with all the time you spent educating yourself. Just because there’s good money to be made doesn’t make you any more qualified to make it. Become a developer if you’re incredibly motivated or already possess the skills mentioned above to advance quickly beyond a junior skill level, but please don’t do it for the money or just because other people are doing it.
Writing software isn’t for everyone, but using software is what gives you leverage to automate your work and grow beyond what you can accomplish alone. If you write that software, you’re trading your time for the full amount of that leverage. If you buy the software, you’re paying for a portion of it. As long as your productivity improvement exceeds that software’s cost, you’re getting a good deal. More and more companies find themselves in the business of automation through software to survive in today’s economy. You may bypass the need for some software skills, but don’t expect to escape them all.
There are many in-demand fields, so it’s easier to start searching for alternatives from what you’re already good at and love doing and then find which of those pay well. This trifecta of factors commonly is referenced as the best combination for making a successful career.
If you have yet to master anything that pays well, then your path is less certain. Some will start from what pays well and work backward, however that has a high likelihood of falling into the money trap of software development. Others will begin with what they love, but beware, not all passions make good careers. The best approach is from where you already have the most talent, even if you’re struggling with applying it in ways that you enjoy and pay the bills.
There’s no magic wand that instantly transports you to the intersection of this Venn diagram in the center. Many times honing your craft won’t be fun until you reach a certain level of proficiency. In these cases, there’s no substitute for trusting the process and persevering through your doubts. Even if you don’t find success along the first course you set, you will learn about yourself along the journey. If you pay attention to the lessons life offers you, you will continue to make progress, the most any of us can hope for.