Internet, Software Engineers and Problem Solving Ability
I have been doing programming and software engineering since 1998. And professionally since 2003. Over the last 20 years or so we the software engineers have become incredibly productive because of advances in techniques and tooling. What used to take 5 days now can be accomplished in a day or two.
Better tools are available for free thanks to the open source movement. Thanks to the proliferation of the internet these tools are now just a click away.
The internet has also enabled some of us mediocre engineers to solve problems that were beyond our abilities. In that sense, the internet has become an extension of our brains and has made us appear smarter than we are.
If we make a scale from 1 to 10 of programming problem-solving abilities where 1 being the lowest ability and 10 being the highest ability, then it has become a bit difficult to separate folks between say 3 to 6.
I would rate folks who are at 7 or above as exceptional and the internet probably won’t be much of help in getting to that level in day-to-day work.
For people who are between 3 and 6, standing out has become difficult. This is particularly problematic for junior developers who are early in their careers. The internet has also commoditised intelligence aka problem-solving ability of a particular kind namely programming among others like music, photography, videos etc.
Does the question then become if one cannot stand out based on programming problem-solving alone then how can one stand out? Some things can be done to stand out and these have nothing to do with programming at all:
- Be better communicators both verbally and written.
- Be reliable. If a work item is allocated to you, try to complete it in time and if you can’t let the team know why.
- Be available. Don’t disappear without informing. This is very important when working remotely.
With better and better tooling, will there be a place for programmers with say middle level abilities in the future? Only time will tell.