The University of California, Irvine campus, seen in January 2022. (Photo by Paul Bersebach—MediaNews Group/Orange County Register/Getty Images)
When you think of software engineering, programming usually comes to mind, but coding is actually only a small part of what software engineers are responsible for on a day-to-day basis. Professionals in this field rely on in-depth knowledge of IT to develop software and often work on product requirements, design, testing, documentation, security, and software maintenance.
Software engineering is an exciting career that is becoming increasingly popular with above-average job growth prospects and starting salaries in excess of $100,000. Whether you’re entering the job market for the first time or changing careers after working in another field, here are 5 steps to take when looking to break into software engineering.
1. Make sure you’re invested in becoming a software engineer
The process of becoming a software engineer involves a fair amount of commitment, so it pays to first make sure it’s really what you want to do.
“A good place to start is to try to teach yourself a particular technology that interests you,” says Mollie Khine, senior director of coaching at Flatiron School, a popular coding bootcamp in New York City.
You can also take an hour-long online course or simply read a technical book to better understand what the potential course and career field will entail. “You have to prove to yourself that you are ready to work,” adds Khine.
2. Choose a training path to follow
There are three ways to get an education in this field: get a college degree, attend boot camp, or follow a self-taught path. Each option has advantages and disadvantages depending on your background, education, and post-graduate goals.
University or college
Perhaps the most “traditional” first step in the software engineering education path is a four-year degree. However, a computer science degree is relatively new to the world of higher education and is not necessarily a requirement for the position. “The university I graduated from didn’t even have a computer science degree,” says Susan K. (Kathy) Land, program manager at the Missile Defense Agency and 2021 IEEE president, the most largest technical professional organization in the world.
Pro: The advantage of a formal degree from an accredited computer software university is the widely accepted legitimacy and comprehensive nature of the courses. Not only will you learn programming languages, but also software modeling, computer architecture, digital design, and you can participate in summaries that provide real-world experience, according to Land. The notoriety of a college degree is likely to come in handy if you’re interested in working at a more traditional tech company.
Vs : Whether due to a lack of resources or a lack of time, earning an undergraduate degree or a master’s degree is not realistic for everyone. Additionally, academia struggles to keep up with rapidly changing technology. Therefore, even if you acquire basic skills, it is very possible that you will not learn exactly the same technical skills that will be required of you. at work.
You can take a crash course in software engineering by attending a bootcamp. Programs typically last about 15 weeks and are defined as outcome-based educational programs, meaning they are designed with the end goal of gaining employment. Many schools offer software engineering-specific bootcamps, such as the Flatiron School.
“A bootcamp program is really focused on learning basic skills to be able to code in common programming languages,” says Khine. “You effectively learn how to learn.”
Pro: Bootcamps are tailor-made for people who want to study technology for the first time in a structured environment. Often, bootcamps attract people with undergraduate degrees in non-technical fields who want to change careers, people with high school education who want to break into the field, or people with a computer background in the looking for a more hands-on experience. , according to Khine.
Vs : If you choose to take a bootcamp, a possible criticism of your experience will likely be that you lack the software engineering fundamentals and theoretical knowledge of a four-year graduate.
“That doesn’t mean they can’t close that knowledge gap, but I think it’s important to recognize that there is a gap,” says Evol Greaves, vice president of engineering at Betterment. He graduated from the University of Florida with a bachelor’s degree in software engineering.
The third option is both the one that costs the least and invests the least time, but requires the highest personal investment. The self-study option allows highly motivated individuals to combine free or low-cost digital courses and resources and create their own program.
“One of the best engineers I have worked with in my career is self-taught.” said Greaves. “He doesn’t have the qualifications of an engineer who went through a four-year institution, but that doesn’t take away from his ability to do a great job.”
3. Consider software engineering certifications
Once you’ve completed some form of education, it’s a good idea to showcase your mastered skills to employers through certifications. These can provide evidence that you are actively mastering the elements of your CV. Khine of Flatiron recommends anyone interested in cybersecurity, in particular, to research these types of credentials.
“We see people getting jobs every day without seeking additional certifications, but anything you can do to build credibility in your new field helps,” Khine says.
4. Demonstrate your programming skills
Another way to showcase your skills is to create a personal portfolio or project. It’s a hallmark skill of a software engineer to be able to learn continuously, given the ever-changing nature of this field. Doing it proactively with a passion project will signal to potential employers that you’re ready to do it on the job.
“I look for their desire to learn and grow,” Greaves says of interviewing entry-level candidates for software engineering jobs. “I’m looking to see if they’re good listeners and if they’re willing to take feedback.”
5. Apply for software engineering positions
Colleges almost always have a career center to help with resume writing, interview preparation, and job applications. Bootcamps offer similar services and may be even better suited to provide career support, as the programs are hyper-focused on preparing people for the job market. If you are entering the IT field for the first time, it is a good idea to get as much advice as possible from the career centers available to you.
Companies tend to conduct skills-based interviews, rather than relying on resume experience. Therefore, you should be prepared to take on a code challenge or showcase recently completed work during the application process.
Salary expectations and growth opportunities for software engineers
The outlook is positive for both salary expectations and employment opportunities for software engineers. The US Bureau of Labor Statistics reports that the median salary for a software engineer in 2020 was $110,140. In addition, employment is expected to grow by 22% between 2020 and 2030, more than twice as fast as the 8% average for all occupations.
Because software engineering is a high-growth field, continuing education is key to staying ahead and increasing career opportunities. After you’ve been in the workforce and gained experience, a master’s degree or additional courses at a local college can be a great way to expand your skills. However, some experts recommend against pursuing a master’s degree directly after an undergraduate degree unless you plan to enter academia.
“I would suggest people go out and work and get some real-world experience,” Land says. “And then, if they have to go back to school, focus on a narrower technical track. Or get a master’s degree in product management.
Find out how the schools you’re considering landed in Fortune’s ranking of top business analytics programs, data science programs and part-time, executive, full-time, and online MBA programs.