(Part 3 of my Programming Concepts Series)
During 2018 over 1.3 million people were employed as Software Developers, with each of them earning a median income of $105k per year ($51 per hour)!  That’s a pretty great living, but it gets better. They also expect the workforce to grow over 20% over the next decade.  So not only can you earn a comfortable income as a Software Developer, but there will be a huge need for new Software Developers for many years to come. In fact, in the US there were between 500,000 – 1 million unfilled programming-related jobs in 2020, depending on who you ask.  This figure probably includes the many thousands of people who work in supporting job functions that surround software development, too.
That’s right, companies need more than just Software Developers and Programmers to create computer applications! Some of these roles include but aren’t limited to: Technical Support Engineers, Project Managers, Configuration Management Specialists, DevOps Engineers, Designers, Database Management Specialists, Software Testers, many different types of Analysts, and a wide variety of other technical specialties. On top of that there are many fields which utilize software development skills but focus on building technology beyond software like: Computer Hardware Engineers, Computer Research Scientists, System Administrators, and Network Technicians. All of these positions need to have varying degrees of skill in writing or reading computer code in order to excel in their discipline. However, it’s Software Developers that really need to be intimately acquainted with how to write elegant code that’s easy to read and optimized to work well.
The point is, there is a wide open field of opportunity for the would-be code learner. By beginning to learn how to read and write code in a popular programming language you’re on your way to a reasonably bright future.
Aside from considerations on what sorts of jobs you can get and how much money you can earn while using your skills with reading and writing code, it’s important to realize that it can be a really fun and rewarding hobby too! The internet is quickly becoming a larger and larger part of our everyday lives. We’re gaining access to better and better, more interesting types of devices too. There are more fun ways to use code to do cool, interesting, and useful things than there ever was before. From creating artwork and editing music with custom apps, building tools that make life generally easier, or simply putting together an app for just about any project you can imagine – coding and being aware of how code works can enrich just about anyone’s life.
Although this might all sound really complicated or intimidatingly impressive to some, over time and with enough effort you can build just about anything with the right ideas and some code skills. Let’s say you’re putting together garden at home and you’d like to create a system to help. It’s totally possible to build and program your own automatic sprinkler system to water your garden, add in sensors to measure soil and weather conditions, and even find interesting ways to analyze the health of your plants. Your only limitation is your imagination… and a few hundred dollars for the materials, along with a few months of concentration to design and perfect it.
Software developers and technologists are paid a comfortable living because the skills and experience they have make it possible to create useful and rather groundbreaking things. Add in a little creativity, some direction with a good idea, and plenty of persistence; and a small team of software developers can change the world. It’s a powerful skill that help encourage the growth of other more subtle skills, too.
The goal of the writing that follows in this series is to bring you up to speed with the basics of what programming is and give you a general overview of how programmers do what they do. Regardless of what job you can get, or what hobbies you keep, knowing about the methodology behind solid software development is almost universally useful. Programming requires a special type of thinking which can really improve your problem-solving abilities and logical cognition.
The ability to break a large problem that seems impossible down into smaller and smaller pieces that are easier to handle is not just a fundamental part of programming, but an important life skill that anyone could benefit from. This can be done for almost any practical problem or situation in your day-to-day life, which can lead to better decision making and planning. Improving your life by changing how you think, learning to program can help if you choose to use it this way.
, : Bureau of Labor Statistics, U.S. Department of Labor, Occupational Outlook Handbook, Software Developers,
on the Internet at https://www.bls.gov/ooh/computer-and-information-technology/software-developers.htm (visited June 15, 2020).
: FullScale.io “Talent Shortage Of Software Developers” article, 2019. https://fullscale.io/talent-shortage-software-developers/