The demand for developers is higher than ever. We live in a world that is increasingly reliant on digital technology and tools, and developers help keep it all running. The US Bureau of Labor Statistics expects the number of software developer jobs to grow 19% in this decade - which is nearly 3X the average growth rate of 7% for all other professions.
This boom is mirrored in the phenomenal growth of college students declaring Computer Science majors. These generations have grown up with a variety of learning tools including STEM programs, robotics clubs, maker activities and an online world of learning resources available at their fingertips, 24/7. This new kind of learning is closer in spirit to vocational education - albeit high tech - since students learn through doing and are free to pursue the unique paths that interest them.
Oftentimes, these self-taught students find current education institutions to be inaccessible, or failing to prepare them for future computer science careers - whether due to limited class openings, or classes that aren’t up to date with the latest industry advancements.
This is why developer education is changing just as rapidly as the field itself. Together, the developer job boom, the large numbers of entry-level developers, and the ever-present pressure for existing developers to keep their skills relevant in the face of ongoing technical innovation, has created a demand for developer education that has outpaced traditional education. Luckily for all of us, this has opened the floodgates for a wide variety of new and innovative pathways for developer learning.
MOOCs, Bootcamps and Nano-degrees
Probably the most visible innovation to emerge to help fill the developer education gap has been the rise of Massive Open Online Courses (MOOCs), bootcamps, and nano-degree courses. A prime example is the QDN sponsored Build Your Own Internet of Things specialization created by UC San Diego through Coursera. Other examples include the EdX, CodePath, App Academy, Udacity and more. These are online courses and programs offered to the public that allow learners to gain real-life skills and, for some programs, credentials. What better way to learn development than through tools that were invented by developers themselves?
MOOCs, bootcamps and nano-degrees allow developers to learn on their own time (often outside of work hours) and choose programs that traditional universities likely don’t offer on a flexible schedule (if even at all) including courses on machine learning.
Many existing developers use these courses to grow their skillsets, while new developers use these courses as a means to enter the field. According to the Stack Overflow 2017 Survey, over half of professional developers have taken an online course, and 79% of people who took a bootcamp hoping to become a professional developer were hired within a year - now that’s effective!
The Democratization of Communication
Thanks to social media and other technological advancements, we live in a content-sharing world. While not the norm for everyone, creating, sharing, and consuming media created by others is now part of most of our daily lives. Communication - and education - has been democratized.
This aligns well with the developer spirit of self-education. Many self-taught developers have created educational resources to help others do the same thing. From YouTube how-to’s, to GitHub gists, to Khan Academy, there are no shortages of sources for learning.
Changes in Traditional Education
Even traditional education is changing to meet the new needs of developer education. Ultimately, both K-12 schools and universities face the challenge of teaching long-term value fundamentals and producing graduates capable of being effective in the workforce, but they’re approaching the issue in different ways.
Many universities are tackling this issue by expanding their core curriculum through online courses. For example, MIT offers MIT OpenCourseWare, an online publication of virtually all MIT course content. Schools like Stanford are working with platforms like Coursera to publish selected professor-taught courses online. These tools not only provide public accessibility (in some cases), but they also allow universities to offer educational content such as machine learning and data mining courses that are aligned with industry demands, but can also be updated quickly and flexibly as new technological advancements change the field. Try doing that with a textbook - the process is much longer!
At the K-12 level, groups like CSforAll are working to make computer science literacy an integral part of K-12 education. Many local school districts are working to set up introductory courses for their students, while others are partnering with local institutions to host weekend workshops and after school programs. These K-12 schools believe that early education, even if informal, can spark a passion that will propel students toward their desired career when they graduate.
To meet the changing demands of technology, employers are also sponsoring continuing education for their employees.
Companies like Google and Facebook have internal programs for teaching developers up-to-date skills, often at a peer-to-peer level. This kind of program ensures that relevant knowledge is shared across an organization so that everyone benefits. Having a skilled workforce is key for companies to anticipate and respond to the challenges of the future.
Lead Your Own Learning Journey
Whether you’re just starting out or you’re a seasoned developer, it’s a sure bet that continuing education will play an important role in your career. That’s also one of the best parts about being a developer - it’s one field that never gets boring. If you’re looking for ways to continue your learning and explore a new development field, here are some great places to start: