The following is a short essay I had to write for a class.
Its common for people to say
that the level of entry into the field of software development has
never been lower. Development tools have never been cheaper and
easier to use, there is an infinite supply of programming tutorials
on the internet, and the growth of the development market is rapidly
outpacing the supply of software developers.
When we say that the level
of entry has never been lower, it sounds like we're saying its easy
to get started. But it we are strongly something much more than that.
We are implying that the possibility of an average person becoming
successful in the industry is approaching the possibility of success
for a person who has been formally trained and educated; we are
saying the Ubuntu, Eclipse, W3Schools, and StackOverflow are a worthy
replacement for a bachelors degree in Computer Science. That is just
as ludicrous as proposing that you could train to be a surgeon by
watching YouTube videos and practicing on rats.
I don't mean to say that a
getting a degree in Computer Science is a requirement to be a good
software engineer. It is possible for a programmer without a degree
to be better than a programmer with a degree. There are plenty of
terrible programmers who earned a BS degree. But there aren't as many
stellar programmers that don't have CS degrees. Why? Because software
development isn't easy!
I recently attended a
university job fair where multiple companies told me that they will
no longer hire Electrical Engineers for software development
positions because they just can't manage the advanced programming
techniques and theories. But those can be learned with experience,
right? Not easily. I know a guy who has been freelancing for 20 years
but can't code a recursive binary tree traversal.
Large tech companies
understand the difficulties of software development. Google is much
more willing to hire someone with a masters degree than with a
bachelors degree, even though they have to pay him more. The
assumption is that he has received more education concerning advanced
topics and is therefore closer to being an expert programmer; and
they're usually right.
The trend of outsourcing
programming to India is also ending because people are realizing that
talent does not come cheap, but coding monkeys do.
A contributor to Forbes
recently wrote an article titled “The Rise of Developeronomics”
which states that demand for good developers is quickly outpacing
supply which is causing the rise of what he calls developeronomics.
Companies are acquiring other companies purely for talent (not
necessarily for products or technology) and investors are keeping
talented developers busy on fluff projects just to keep them around.
If the level of entry were low and the promise of success were high,
then the supply of good developers would not be a problem.
But the shortage of talented
software developers is a problem because the level of entry isn't
low. It will remain that way until there is a fundamental change in
the field; new tools, resources, and languages cannot make this
happen.
No comments:
Post a Comment