Who Needs A Computer Science Degree Anyway?

While they can’t necessarily replace a college degree, MOOCs are playing a key role in addressing the software development skills gap.

Two candidates apply for a software development position: One has a degree in computer science from a prestigious school. The other is self-taught with several years' experience under his belt.  Who one gets the job?
    
Of course, there's no definitive answer to this question, but it's one that CIO's are increasingly going to have to think about.

That's because more and more software developers – and very skilled and competent ones at that – are entering the job market without any degree-level training.

What's interesting is that many of the newer and in-demand languages like HTML5, JavaScript and Apple's Swift are particularly favored by self-learners, whereas programmers of more established languages like C# and Java tend to have more formal instruction.

That's according to the global Developer Economics: State of the Developer Nation survey of more than 13,000 developers carried out by VisionMobile, a London-based developer research company. It found that 46 percent of Swift developers had not studied computer science at a college, and 45 percent of HTML5/JavaScript developers also fell in to that category.  In fact 29 percent of HTML5/JavaScript developers have had no training in the scripting languages at all and are completely self-taught.

By contrast, around 73 percent of Java and C# devs have computer science degrees, and about 65 percent of C and C++ devs.

The survey found that Massively Open Online Courses (MOOCs) offered by the likes of Coursera, Udacity and Khan Academy are playing an important role in helping would-be developers develop skills in Swift and other languages such as Python and Ruby. Many MOOCs also offer courses in iOS and Android app development, Web development and data science.

What's notable about developers who have studied a language through a MOOC is that many of them already have bachelor's degrees of some sort or another, and many were already software developers.

"The typical Coursera learner taking a programming or other technology course has a bachelor’s degree, is currently employed, and is between 22 and 35 years of age," says Kevin Mills, a Coursera technology vertical manager.  "Among these learners, it is about an even split between those looking to begin a new career in programming versus those seeking to advance their existing programming skills."

That's echoed by Oliver Cameron, vice president of engineering and product at Udacity. He says the company sees a lot of programmers come to Udacity to learn new programming languages or gain new skills in languages they already work with.

"But we also see a lot of people in nontechnical fields like event management or art or music learning to code with Udacity and making the leap to a full-time technical job," he adds.

Alternatives abound
As an alternative to MOOCs, some would-be professional coders are also turning to intensive "coding boot camps" which often last just a week or two, focusing on specific coding skills.

The idea of employing a developer who is self-taught or who has attended a boot camp or online course may be alarming – after all, who would want to consult a physician who hadn't been through medical school?

Jan-Martin Lowendahl, an education analyst at Gartner, points out that computer science courses teach much more than specific language skills. "At university in a computer science course the emphasis is on learning skills like programming logic, not particular languages. You get much more depth on a computer science degree course."

The flip side of this is that there is great inertia when it come to the actual languages that are taught – many still teach FORTRAN, he adds.

There's an argument to be made, however, that teaching FORTRAN is a little like teaching Latin to language students: Studying it may not be useful in its own right, but it brings a deep and broad understanding of the discipline as a whole, and makes learning to code in other languages more efficient.

That may be true, but studying for a computer science degree is a luxury that many people can't afford – both financially, and in terms of time – particularly if they already have a bachelor's degree.

"Many people simply don't have the time to go to [college] to learn new skills, and there is a question mark over the value of a formal diploma in a fast-changing world," says Lowendahl. "At the same time, software development has always been a realm that is suited to self-teaching and learning by doing. People who are drawn to software development tend to be good self-learners."

Daun Davids is a good example of this type of software developer. She earned a bachelor's degree in computer science and worked as a software engineer for many years before taking time off to homeschool her children and finish her master's degree in Computational Science and Robotics. When this was finished, she decided that she was interested in resuming her programming career as an Android developer.

"I was trying to learn Android development on my own but most of the information I found was very basic or outdated. Then I saw that Coursera was starting a Mobile Cloud Computing with Android specialization so I signed up," she says.

The course took a year to complete and Davids says she then found work almost immediately as a freelance Android developer.

CIO: http://bit.ly/1TICGTK

« EU Protects Online Data Quite Differently From The US
Active Cyber Defense Task Force »

CyberSecurity Jobsite
Perimeter 81

Directory of Suppliers

CSI Consulting Services

CSI Consulting Services

Get Advice From The Experts: * Training * Penetration Testing * Data Governance * GDPR Compliance. Connecting you to the best in the business.

Jooble

Jooble

Jooble is a job search aggregator operating in 71 countries worldwide. We simplify the job search process by displaying active job ads from major job boards and career sites across the internet.

Authentic8

Authentic8

Authentic8 transforms how organizations secure and control the use of the web with Silo, its patented cloud browser.

ManageEngine

ManageEngine

As the IT management division of Zoho Corporation, ManageEngine prioritizes flexible solutions that work for all businesses, regardless of size or budget.

ZenGRC

ZenGRC

ZenGRC - the first, easy-to-use, enterprise-grade information security solution for compliance and risk management - offers businesses efficient control tracking, testing, and enforcement.

TrustedSec

TrustedSec

TrustedSec is an information security consulting services, providing tailored solutions and services for small, mid, and large businesses.

Chubb

Chubb

Chubb is the world’s largest publicly traded property and casualty insurer. Commercial services include Cyber Risk insurance.

Forensic Control

Forensic Control

Forensic Control specialise in providing simple & straightforward Cyber Security to organisations, helping them assess, prevent and respond to cyber threats.

Stott & May

Stott & May

Stott & May is a specialist cyber security recruitment agency.

Hillstone Networks

Hillstone Networks

Hillstone Networks offers a broad range of security solutions for enterprises and data center networks – whether physical, virtual, or in the cloud.

ZenMate

ZenMate

ZenMate is a Virtual Private Network services provider offering secure encrypted access to the internet.

IronNet Cybersecurity

IronNet Cybersecurity

IronNet’s product and services provide enterprise-wide security management and visibility of your network, users and assets.

Advens

Advens

Advens is a company specializing in information security management. We provide Consultancy, Security Audits and Technology Solutions.

Navaio IT Security

Navaio IT Security

Navaio helps clients with IT Security related challenges with a primary focus on Identity and Access Management, Data Governance, User Awareness and Cyber Resilience Services.

Envelop Risk

Envelop Risk

Envelop Risk is a global specialty cyber insurance firm, combining decades of insurance industry expertise with sophisticated cyber and artificial intelligence-based analytics.

BackupVault

BackupVault

BackupVault is a leading provider of automatic cloud backup and critical data protection against ransomware, insider attacks and hackers for businesses and organisations worldwide.

SOFTwarfare

SOFTwarfare

SOFTwarfare deliver high-quality, reliable and secure enterprise application integrations through RESTful APIs for Cyber, Ops & Dev.

UNS Inc.

UNS Inc.

UNS is a top services partner for multiple leaders in the global cybersecurity industry – we do business in 40 countries, including the United States, Canada, Chile, and Colombia.

Fireblocks

Fireblocks

Fireblocks is a digital asset security platform that helps financial institutions protect digital assets from theft or hackers.

Relatech

Relatech

Relatech is a Digital Enabler Solution Knowledge (D.E.S.K.) Company that offers digital services and solutions dedicated to the digital transformation of businesses.

modePUSH

modePUSH

modePUSH is a cybersecurity company focused on end-to-end breach response from Digital Forensics to Restoration across the enterprise and cloud environments.