One of the better jobs available in America today is a job where you “develop software” or “write code” for a company. These jobs tend to be higher-paying, and also tend to be jobs that have benefits. The code that write might:
- Control the behavior of a web site
- Control the functionality of an App
- Control the actions of an embedded processor
- Control business processes in a place like a bank or factory or small business
- Help with data analytics or machine learning
- And so on…
Software is used in so many different ways today that there are now thousands of ways to “develop software” and millions of companies/people who need software developed.
Ways to become a software developer
So how do you become a “software developer”?
- One way is to get a 4-year degree at a traditional college. This is by far the most expensive and time-consuming route, but if you choose a school with a good reputation your chance of finding a job right now is approximately 100%. A good state school will have a lower price than a private school.
- A community college will typically offer 2-year associates degrees that are nearly equivalent in some ways. These degrees are far less expensive, and take half the time.
- You will hear a lot about “coding bootcamps” that might take 3 months or 6 months to complete and charge pretty high rates for that education. Some of these will make job placement promises, some won’t. We will come back to this idea below. It is possible for this path to go well or to go badly, depending on the program.
- You can teach yourself. There is so much demand for talented software developers, and software development is such a meritocracy, that a self-taught person who can do the work is usually able to find a job. If you want to teach yourself, there are books, online courses, “micro-degrees”, free online classes (from famous places like Stanford and MIT down to much smaller schools), tutorials, etc. You can build a portfolio of projects and use them to get a job. A person with some drive and initiative could easily teach themselves using all of the resources available.
Your next question will be “what should I learn?” There are many, many different niches in the realm of software development. For example:
- Do you want to write apps? Many apps are written in languages like Swift (Apple iOS) or Java (Android). So you would need to learn one of these languages and then the tools typically used to develop apps. There are lots of options besides those two as well.
- Do you want to help companies create websites? You need to learn and become familiar with a “stack”, which can be much more involved. An article like this can help you learn about the possibilities.
If you are now thinking, “wow, this is getting complicated”, you are right to a degree, and this is one reason why the pay can be high for software developers. This is not something you are going to learn in a week. In addition, you have to decide what you want to learn, and then go learn it.
The good news is that Google is your friend here. Just about any question you can think of, you can find answers in Google. For example, I asked Google, “what do i need to learn to be a software developer” and it gave me hundreds of articles to choose from. Here is one that seems appropriate:
11 Steps to Becoming a Software Engineer (Without a CS Degree)
It offers this optimistic motivational perspective:
According to US News, software developers have a median salary of $107,510 per year, and an unemployment rate of 1.4%, making it one of the most lucrative technology careers. Additionally, the profession offers an above-average work-life balance.
Even more, the Bureau of Labor Statistics projects that between 2018-28 there will be a 21% growth rate. Meanwhile, the average growth for all occupations is 5 percent. This translates into 284,100 job openings.
And guess what? Despite the positive outlook and abundance in opportunities, only 3% of college grads study computer and information science. As you can see in the image below, in 2020 there were 1.4 million computing jobs versus the 400,000 CS students.
If you read say 10 articles along this line, you will begin to see the lay of the land.
If you are thinking, “wow, I don’t want to have to do a bunch of Google searching and read a bunch of articles!”, then chances are that software development is NOT for you. You will have to be doing a lot of reading and searching to become a software developer.
A quick note on boot camps
As soon as you start using Google to learn about software development as a career, you will start seeing ads for boot camps and other educational services. Here is what I see today:
Are these kinds of programs, and especially “boot camps”, a good idea? You can find a thousand opinions on Google, and some good discussions on Reddit. Here is a typical discussion:
The first thing you discover is that there is a r/learnprogramming subreddit with a big community (2.2 million members today!). And there are subreddits for every language, stack, etc. where you can see thousands of questions being asked. Lots of advice to go around. If you go look at the 300 comments in that thread (and search for other similar threads in Google) you will learn a lot.
Take a week or two to read and learn the lay of the land. Look at job sites like Indeed and see what kinds of software jobs are available in your area. If there are meetups in your area for developers, consider attending. Think about what you might like to be doing in the software space. And then start learning, either with a formal program or on your own.
More Jobs Articles
Easy directory of all of Marshall Brain’s Jobs-related blog posts:
- Introduction to “Getting a Good Job in America”
- “Getting a Good Job in America” Part 2 – How do you gain skills?
- “Getting a Good Job in America” Part 3 – Newsweek weighs in with 19 jobs
- “Getting a Good Job in America” Part 4 – Driving a Truck
- “Getting a Good Job in America” Part 5 – Information Technology (IT) and Cybersecurity jobs
- “Getting a Good Job in America” Part 6 – Google Career Certificates
- “Getting a Good Job in America” Part 7 – Becoming an Engineer
- “Getting a Good Job in America” Part 8 – Making the most of entry-level sales jobs
- “Getting a Good Job in America” Part 9 – Jobs to Avoid
- “Getting a Good Job in America” Part 10 – Medical jobs like Nurse Practitioner
- “Getting a Good Job in America” Part 11 – Electrical Lineworker
- “Getting a Good Job in America” Part 12 – Software Developer and “Getting a Good Job in America” Part 12.1 – Software Developer
- “Getting a Good Job in America” Part 13 – Cybersecurity