The Current State of Programming in 2017

The Current State of Programming in 2017

This post was originally posted on Quora

Back in the day, being a software engineer wasn’t sexy. It was a deliberate choice by people who were obsessed about tinkering machines and the rising world of information technology.

Nowadays, we see active discussions from programmers such as As a programmer, do I have to absolutely love writing code? by people who are employed as developers and don’t even enjoy the craft anymore.

The European Commission has reported a realistic shortage of up to 900,000 skilled ICT workers by 2020 - Digital skills, jobs and the need to get more Europeans online - European Commission - European Commission

The high demand for software engineers leads to Computer Science and Informatics programs popping up across the world without the right planning or attitude by professors. A ton of people with no passion for programming choose the craft simply because it’s profitable and promising over the past 2–3 decades.

This leads to an entire generation of non-motivated people who simply program for a living, or practice job-hopping for a living in order to find a high-paid gig with numerous company benefits, bonuses, shares, remote working opportunities and the like, without enjoying programming at heart.

Of course, that’s not a rule of thumb - but it’s a growing trend. I am a seasoned teacher at several universities, academies, and schools, and a large percentage of my students have simply signed up thanks to the trend of working in the IT field, or the fuzz around the unicorn companies.

In terms of programming experience or background, I’m not a proponent of the traditional education but I know how important is the in-depth know-how of computer architectures, data structures, algorithms, networks, and a ton of other courses studied in Computer Science classes. Self-learning platforms like Codecademy, Code School, Udemy, Free Code Camp, Coursera, Pluralsight often focus on promoting how easy programming is and how quickly newbies can become professional programmers. It’s a standard marketing talk, but people really buy into it.

Sites like TechCrunch and Mashable constantly cover stories about massively successful entrepreneurs who sold their startups for $500,000,000 or so, or crafted something within a week that became an overnight success. It’s easy to read between the lines with a decade or two of experience in the field, but is often deceiving for beginner programmers who dream of building something for a week and becoming millionaires the very next day.

Start-up communities are flooded by fresh programmers who are aiming for The Next Big Thing. They have no real world experience programming for enterprises or high-scale solutions, nor do they have business experience that allow them to build MVPs that can scale iterationally as the product grows (or understand what are the limitations that are being pushed with the influx of traffic or user sign ups).

Professional Q&A networks like StackOverflow targeting programmers are invaded by beginner programmers with no experience asking for basic 101 questions available on the first page of Google with the right search term. Fresh programmers are often lazy, unwilling to spend the time to dig into documentation or conduct any sort of R&D before building something. There are fewer pet projects build by enthusiastic programmers who want to launch something and learn along the way as their project grows and requires more and more features and better scalability patterns.

At the end of the day, not all hope is gone, and there are millions of fresh college students or young programmers who are talented, smart, and willing to learn. But there is a large volume of people signing up for developers without the right attitude or understanding that programming is a craft that requires constant learning and continuous improvement, unlike some stalled professions that haven’t evolved over the past century.

I think the discussion is complicated by our historical view that 'developer' means all manner of technology workers. It's a bit like 'factory worker' at this point in time. There are engineers and scientists needed in a factory but not that many. There are mechanics, plumbers, and there are line workers and laborers. In Software we are stilling trying to hire engineers for every job in the plant and everyone that comes to work in a software factory expects a masters degree wage. Is it really necessary to pay a hundred thousand dollars plus to train someone to be an effective JavaScrip developer?

Chrisogonas Odhiambo, Ph.D.

Machine Learning Engineer | Solutions Architect | Data Architect | Data Engineer | CodePath Volunteer

7 å¹´

Ditto!!! It will be natural selection, though. SOLID serious developers will filter out as the rest who cannot do the job will naturally drop by the wayside. Tragedy is that the industry will starve of the right passionate qualified coders. Thank God, though, the world is now flat such that a company or a person in Brazil can source around for solution from the best devs online sitting in some 1 bedroom apartment in the heart of Pakistan or Kenya.

Michael Patrick

Geospatial Analysis and Technical Architect

7 å¹´

The software field is long overdue for the stratification that occurred in other fields, like electronics. There needs to be more 'vocational' tracks and job descriptions which enable a lower bar to entry and a broader pool of applicants. Every field has it's flint knappers, arrow shooters, road builders, and maintenance folks - all which require substantially different attitudes, aptitudes, and expectations. There is complete misunderstanding of 'transferable skills' from other fields - really talk to master plumber or carpenter who does design build and you will find they have a finely honed innate knowledge of flows, control interfaces, error trapping, testing, subsystems, and refactoring. This should be screamingly obvious because most software systems are replicating some system which has already been occurring in meat space for decades, if not hundreds of years. I've seen office administrative assistants which, essentially re-invented the concept of a relational database in Excel, because it was the tool at hand, and nobody had ever explained what database was to them. Ask a chef what issues should be considered when they expand a recipe from 'serves four' to a banquet of a couple hundred people, and you will identical analogous issues dealing with structure, timing, and storage as you would encounter scaling a software application. We need to refactor the business, technical, and professional landscape - there is plenty of talent :-)

Harvey Payne

Sr. Analyst at QuantiTech, Inc. at QuantiTech -- Retired

7 å¹´

I don't think there are a shortage of coders, I think there are a shortage of companies willing to hire, train, and mentor younger employees' progress that show an aptitude for developing systems. Regardless of the results, it is much cheaper and easier to farm development overseas and have the current employees train there replacements.

Sean Baird

Managing Director at Cordicate IT

7 å¹´

I couldn't agree with your basic stance here Thomas Baird. Hire folks with aptitude and train them for what you need. Our field changes so fast we need good talent that is willing to learn and gets excited about our constantly transforming industry.

要查看或添加评论,请登录

Mario Peshev的更多文章

社区洞察

其他会员也浏览了