Find Your Ideal Software Career
No one would gasp at the mention of software development as a well-paid, in-demand and prestigious profession. (This CodeSubmit article shows a steady 20-year rise in salaries.) What may be surprising is the diversity of roles available to people with software skills; software development is just the beginning of many possible career paths.
The varied curriculum of UC Berkeley Extension’s Certificate Program in Software Development and Programming can help you upskill and reskill to start working in the field or boost your career trajectory forward.
We found ten popular, growing and well-paid positions for aspiring IT professionals. Look below for the career that best fits your skills and interests and for programs and courses that can lead you toward that career.
Software App Developers
Software application developers design and develop software programs, no surprise there. As part of that development life cycle, developers need to accurately determine needs, then perform coding and testing to ensure that the programs work as intended. Refinement and iterative development are also part of these duties.
Educational path: You don’t need to have a bachelor’s, but a look at Indeed.com shows that 61 percent of developers have one. Beyond that, additional certification can help you excel. You’ll definitely want to be proficient in an imperative language such as C or Java. Students should also be familiar with at least one scripting language (JavaScript or Python) because apps coming out now will likely be running on browsers. Data structure knowledge is also key. (And learning Agile, while not part of the certificate path, can give you a practical leg up on the competition.) Some other tools that you’ll need to add to your kit are a thorough knowledge of scripting language (JavaScript, Python, Ruby); object-oriented programming; and software architecture.
Software QA Engineer
Software quality assurance (QA) engineers ensure that software products work. You test and try to find bugs and even crash the program and put your problem-solving skills to the test. You’ll be working in lockstep with the software development team. You should gain familiarity with test-driven development.
Educational path: While a bachelor’s is still expected, this is one of those jobs you just might be able to sneak into with a lot of extracurricular learning. You certainly need to know programming languages. In addition to the C family, you’ll need to be proficient in Java as well. Software QA is obviously another skill that you should learn.
Database Administrator
As a database administrator you manage the overall database environment, which includes regular updates and security. You really need to have a penchant for problem-solving, because data needs (and threats) are always evolving.
Educational path: You are definitely going to rely on SQL knowledge to work effectively as a database administrator. Depending on your role, you may want to gain some data analytics experience as well. Given the upsurge in cyber extortion (including ransomware attacks), you probably want to have a thorough background in cybersecurity.
Business Intelligence Analyst
A business intelligence (BI) analyst collects and uses data to provide support for business decision-making. In this role, you analyze operational challenges and then propose data-driven/based-solutions.
Educational path: You need to be comfortable working with large amounts of data and finding ways to effectively/clearly communicate your analysis of that data to stakeholders across the company. You might want to lean into your knowledge of the software lifecycle so that you can propose achievable timelines to correspond with your solutions.
Game Developer
As a game developer, you will be using your coding skills to bring game concepts and designs into working prototypes. Most likely, you will work within a team and crank out a lot of iterations of code. Patience is key, as you are going to be doing a lot of testing.
Educational path: Programming is key to success in game development. You can start with the C language family, as this compiled language makes it easier to interact with hardware-level components. (C++ is the basis for popular game engines such as Unity, so a thorough grounding in the C family will give you insight into the nuts and bolts of game development.)
Mobile Apps Developer
A mobile app developer turns code into an app that is user friendly and bug-free. CNN Money routinely lists it as one of the top job prospects. Because it’s a desirable job, there is lots of competition in the market, but that’s more reason to get a thorough grounding in the knowledge you need to excel at making mobile apps.
Educational path: Starting with the basics of HTML and CSS is your initial step into a mobile app career. You are also going to need to develop proficiency in JavaScript to bring interactive features into your apps.
Network Systems Administrator
A key strength in modern business is that computer networks allow coworkers to share information and collaborate more effectively. As a network administrator, you ensure that the servers operate properly and that users can access the information that they need.
Educational path: Take the first step into your network administrator career by shoring up your basic networking knowledge. Knowing how to protect your network and business assets is unfortunately the cost of doing business these days, so you will need to improve your cybersecurity skills.
Systems Analyst
Every time you see “analyst” in a job title, you can easily substitute “problem solver” to get a clearer idea of what you’ll be doing. Systems analysts work closely with non-IT professionals in an organization to make sure that technology resources are used efficiently to solve business goals.
Educational path: Mastering the software product lifecycle can help you become the “go-to” expert for needed upgrades. Learning SQL will help in a variety of business-oriented software solutions, including many Microsoft products.
Web Developer
As a web developer, you use your knowledge of programming languages to code websites and web applications. Of course, you have to keep up to date with the latest tools and technologies to ensure your sites and apps meet your users’ needs and expectations.
Educational path: Basic line here is that you need proficiency in a variety of programming languages. Java is a great place to start as it’s heavily used in many web applications. Students should have a good understanding of structured and non-structured databases, MySQL and NoSQL, respectively. The C family and Python are other assets you will need in your skill set. If you have no experience with front-end development, you’ll of course need to learn basic HTML and CSS skills.
UI/UX Designer
UX/UI designers ensure that their site architecture reflects the needs and wishes of users. To be an effective designer, you must have a combination of design and coding skills. With today’s emphasis on interactivity on sites and apps, UX/UI designers are more in demand than ever.
Educational path: Getting up to speed in HTML and CSS is your first duty as a UX designer. Really digging into the languages that drive interactivity will keep you competitive in this sought-after field. (You might want to brush up on your design skills as well!)
Take the First Step
No matter which job fits your career goals, the Certificate Program in Software Development and Programming can help you build a competitive skill set. See the complete array of technology and information courses available at UC Berkeley Extension.