It’s an increasingly digital world, and those with software skills are the ones shaping it. The largest tech companies in the US are all, in their own way, shifting to software-defined hardware. Data has in itself become a resource, complete with its own supplemental economy. The job market for software developers is expected to grow 31 percent between 2016 and 2026, making it one of the fastest growing sectors in the nation, and also one of the highest paying.
Outside of the numbers, there are personal benefits to learning software skills. Many workplaces for software developers are considered some of the best in the world. Designed for comfort and creativity, they often lead to not only improved employee efficiency but also increased employee satisfaction. Cubicles may be replaced by hammocks, cafeterias replete with gourmet cuisine, and rigid corporate hierarchies swapped out for fluid and relaxed atmospheres. And that’s assuming one works in an office; software development is one of the top jobs for remote workers who make their office at their home, on a beach, or in an exotic and unconventional environment that best suits their preferences.
Learning software skills can, from the outside, appear intimidating, just as learning any new language can. But the gateway to a career in software development is surprisingly low, and the market’s not saturated with native speakers and quarter-century veterans. In a recent survey of 64,000 developers, around 25 percent reported having six years or less experience with coding. Most software developers begin work with just a bachelor’s degree. And, conveniently, there are a wealth of resources for prospective software developers—boot camps, certificate programs, and collegiate and graduate level degrees—many of which are offered online, and some even available for free.
Software development has hardly been in higher demand, and it’s never been easier to get started. Read on to find some leads for building up your new skillset.
Dr. Venera Arnaoudova is an assistant professor at WSU’s School of Electrical Engineering and Computer Science. She received her master’s degree in computer science from Concordia University (Montreal) in 2008, and her PhD in computer engineering from Polytechnique Montreal in 2014. Her primary research interests include software evolution, source code lexicon and documentation, empirical software engineering, refactoring, patterns, and anti-patterns. Dr. Arnaoudova has published extensively in software engineering journals over the last few years, and served as program committee member at several international conferences.
Sean Butcher is the program director of technology and engineering at UC Berkeley Extension. He received his law degree from the University of Birmingham in 1987 and his MBA from McCombs School of Business in 1994. Before moving into academia, he worked extensively in product management, at one point directing a team of over 30 engineers to launch a startup company’s first product. In a previous role at Shorter University, he designed, launched, and managed the university’s online programs. At UC Berkeley Extension, he’s overseen the launch of several online boot camps for integrated circuit semiconductor technology, user experience and user interface, coding, and data analytics.
Dustin Loeffler is the director of graduate studies in business, as well as an associate professor of cyber security and information systems at Maryville University. He received his BS in computer science and management of information systems from Maryville University in 2002, and his JD (with a focus in tax and intellectual property) from the Saint Louis University School of Law in 2007. As an Apple Distinguished Educator, he belongs to an elite community of 2,000 innovative educators. In addition to various roles within academia, he’s served as chief systems security engineer for Boeing and as an information security consultant with the US government. Professor Loeffler oversees Maryville’s Cyber Fusion Center, a joint student and faculty operation that works to provide free cybersecurity services to nonprofit organizations.
Southern New Hampshire University
SNHU offers an online BS in information technologies with a concentration in software development. Coupled with business courses, the program covers distributed system software development, interactive virtual environments, and digital business. Students take classes such as the fundamentals of IT, database design, human factors in IT, and cyberlaw and ethics. The program consists of 120 credits, but if a student has already earned some IT certifications, they may be eligible to count this towards their total credits and graduate sooner.
ASU’s high-ranking online BS in software engineering offers a project-driven curriculum that’s accredited through the Engineering Accreditation Commission of ABET. Classes are short—most are 7.5 weeks each—and based around the concepts of discovery and hands-on learning. Upper division courses include object-oriented programming and data structures, inception and elaboration in software enterprise, discrete mathematical structures, and the principles of distributed software systems. Each semester, students complete projects that emphasize communication, teamwork, critical thinking, and professionalism. The program consists of 41 classes totaling 120 credits.
Maryville University’s online master of science in software development (MSSD) offers broad instruction in software design and development, coupled with deeper studies of more specialized and complex applications. The curriculum is split between four coding classes and five management courses, with a final capstone project. Classes cover topics such as data structures, object oriented software architecture, agile systems analysis and design, database principles, and applied devops. The program consists of 30 credits and may be completed entirely online in as little as one year.
The online master of software engineering program (MSSE) at WSU’s Global Campus is specifically designed for workplace advancement. Individual course requirements were created with input from an advisory board that includes Amazon, Boeing, Hewlett-Packard, and Microsoft. Core classes cover advanced algorithms, software requirements, and software design and architecture. Electives explore advanced databases and computer security. Advanced courses include software maintenance, software testing, software quality, leadership, and project management. The program consists of 30 credits and may be completed entirely online.
University of California, Berkeley
UC Berkeley’s certificate program in software development and programming has no formal prerequisites. The customizable curriculum offers a mix of theory and practice for those looking to build a career in information management, systems analysis, computer programming, or consulting. After learning how to code, students dive into topic areas like software development life cycles, databases, system administration, technical writing, data communications, and web development. The program consists of four to eight courses, for a total of ten semester units (150 hours of instruction).
In the software development world, learning never stops. As methods and materials evolve, so do the accompanying job descriptions and skill sets. Both veteran and amateur software developers can either stay sharp in their current focus or add an extra dimension to their knowledge base with some of the free and low-cost resources listed below.
Coursera is an online education website where each course serves as an interactive textbook, with videos, quizzes, and projects. Many of the offerings are paired with a major university and are created by their faculty. Students can connect with each other, discuss materials, and collaborate on assignments to earn official certification in a given topic area. The software development offerings at Coursera are particularly vast, with hundreds of courses ranging in subjects from programming languages like Python and Java, to full stack and multiplatform mobile app development, to algorithms and applied data science.
Founded by Harvard University and MIT, edX is an online learning platform offering MOOCs and other learning modules from the world’s best universities and institutions. Their MicroMasters program in software development, a joint venture with the University of British Columbia and Curtin University, teaches full stack software development using an agile and collaborative approach. The self-paced coding courses cover simple data, complex data, data abstraction, object oriented design, software engineering, and a software development capstone. Upon completion, graduates of this program are eligible to apply for a master of science in computer programming at Curtin University, where the MicroMasters credential counts toward 25 percent of the coursework required.
Codecademy is an online learning platform that offers to take people of any skill level—even total beginners—and teach them how to code. They offer structured curriculums, short and free courses, and coding drills and puzzles. Material covers web development (HTML/CSS and JavaScript), programming and computer science (Python and CMD Line), and data science (Python and SQL). Over 45 million people have used Codecademy to learn how to code, and their users include employees of Facebook, IBM, Google, and Bloomberg.
Udacity began as an experiment, when two Stanford professors decided to offer their introduction to artificial intelligence course online to anyone, for free. The company now offers hundreds of online education programs (i.e., nanodegrees) that focus on tech. Many of their classes have been built with the help of companies like Google, Facebook, IBM, and GitHub. Udacity has software engineering options for every level of learner, covering subjects from introductory courses in Python, to scalable microservices in Kubernetes, to artificial intelligence for robotics, to applied cryptography. In addition to educational resources, Udacity has hiring partnerships with IBM, Mercedes Benz, and Didi Chuxing.