
Our world runs on software. The applications you use every day on your phone or computer are software. And your devices rely on operating systems, also software, to make all its components work together. Nearly every industry in the world relies on technology that runs or is programmed by software.
Not only does software development span across many industries, it has plenty of room for specialization and needs more people.
According to the Bureau of Labor Statistics, software developer roles are expanded to grow by 15% in 2034. That’s five times the average growth rate for all jobs, which sits at just 3%. Plus, the median yearly salary is over $131,000 per year, according to the BLS.
If you’re trying to get a better handle on this field, here’s what you need to know about what software developers do, how you can enter the field and what you should do to succeed.
What is a software developer
A software developer is the person who designs, programs and maintains the applications and operating systems you rely on every day. You benefit from their work, even when you can’t see it. Hospitals, restaurants, stores and other businesses rely on digital architecture for everyday operations.
“To me, it’s basically trying to solve a complicated puzzle using really basic pieces,” says Maxim Veligan ’19, a Pacific alum with a degree in computer science. “If you like solving problems, if you like really detail-oriented things, then working with software is probably a good fit for you.”
That’s a broad summary of the job, and individual software development roles can vary widely across industries. Different companies need software to do different things. Some may produce consumer goods while others need specialized or unique software to power their own machines, technologies or systems.
For Pacific computer science professor, Solomon Berhe, that’s part of the draw.
“If you work in a hospital, you naturally learn a lot about the hospital domain. In automotive, you learn about automotive. You gain knowledge beyond your technical skills,” he says. “In my experience, many people in software and computer science are naturally curious, and I think that’s a real advantage.”
Maxim, for example, helps maintain ethernet switches at a commercial level. Certain businesses, like data centers, rely on dozens or even hundreds of servers that are connected by ethernet. He helps make sure that runs smoothly.
“These switches run their own operating systems,” he says. “I work on the kernel that’s running all of these switches. And so, a lot of my day-to-day job is working on the kernel output project, where we go from one major version to another. Our hardware also needs high-level support, so we support that, too, like bug fixes.”
The benefits of a traditional education for software developers
The most traditional route into software development is through a four-year degree, often with a major in computer science or software engineering. These degrees give you a foundation in programming, systems design and other essential skills for developers.
That foundation is one of the major benefits of a traditional college education. There’s so much room to specialize that your choices can be a little overwhelming. When you learn a little bit about everything, you learn what you’re really interested in.
Another benefit of university education is your community. You build connections and friendships that you take with you past graduation, which are an asset in your career and personal life.
Plus, your joint projects for class or clubs teach you how to work on a team. Collaboration is an essential skill in the working world and it’s one that Berhe focuses on teaching.
“One of my goals in teaching is teamwork, learning how to build a product together incrementally,” he says. “Most projects involve teammates and stakeholders. Learning soft skills, such as communication, is just as important for long-term success.”
Your professors at college are a resource, too. They are already experts in the field of computer science and may have previously worked in industry. They can give you specialized guidance, especially at smaller universities where you can develop closer relationships.
Universities can also help connect you with research, work or internship opportunities through job boards, career fairs, career services centers or other programs. Pacific has the Cooperative Education program, where partner companies offer paid internship positions exclusively to Pacific engineering and computer science students.
These Co-op internships can even lead to full-time jobs, which is how Maxim landed his first role after graduation at Intel. He took advantage of every opportunity he could find and stayed on after his Co-op to do part-time work.
“I networked as much as I possibly could and met a manager, who worked on the driver development team. I was really interested in that kind of work,” he says. “So, I got to work on a project with him and he basically said, ‘hey, we have this opening on our team if you’re interested.’ So, I interviewed and ended up interning again for a few months before I went back to school.”
When Maxim finished his second internship, Intel offered him a full-time job once he graduated. It’s not always easy to get your foot in the door, so look for an education that gives you unique opportunities.
Building your career path during high school and college
Even if you plan to study computer science in college, you don’t need to wait to get involved. Maxim started his programming journey in high school as a hobby.
“I used to make Pokémon modpacks,” he says. “Eventually, I felt limited by the tools I had and so I figured, ‘Well, if I’m limited by the tools that I have, then I should make my own tools.”
That’s when he started to build video game emulators. And that work taught Maxim the basics of programming that gave him a headstart when he arrived at Pacific. Personal projects like that are a great way to learn coding, find your interests and build your ability to self-teach.
“Being able to teach yourself and look stuff up is so important,” Maxim says. “Learn where to find documentation and how to read it. The field is constantly changing, there’s always new technologies coming out, so knowing how to learn is probably the most important thing.”
Berhe has similar advice to Maxim, though he points out that personal projects can also be a way to network.
“If you can contribute to an existing open source project, for example, you become part of a community,” he says. “That experience is valuable. When you graduate, you can point to those contributions and show that you’ve worked as part of a team.”
There are other ways to get involved. You can join (or start) the coding club at your school or join hackathons. In other words, look for ways to build your skills and make connections with other people in industry.
Artificial intelligence and the future of software development
Artificial intelligence is reshaping many industries, software development certainly among them. It’s increasingly common for developers to use AI tools in their day-to-day work. You might wonder, since AI can code, is there still room for you?
One thing I want new students to know is that they don’t need to be intimidated by AI,” Berhe says. “AI is a tool that can help make software developments easier. But software engineering is much more than writing code, so I don’t see AI replacing the field.”
Maxim has an additional piece of advice for you as a coder.
“Try not to let AI write any of your code. I think it’s extremely important to understand everything that’s being written. Otherwise, when something breaks, you won’t be able to debug it.”