Software development is somewhat specific field. All you need to create an application is a computer, text editor, a compiler and some spare time and you are ready to go. And if you are developing in script language, you don’t even need a compiler. Hence, anybody with some spare time on their hands and an internet connection can learn how to code. Due to this, people get a false perception that creating good, working software is an easy thing to do. And this lead to the situation we have now, where numerous companies employ just about anyone that can copy & paste Hello World example from Wikipedia.

I hate copy & paste coders. They are the ones that throw bad light on us developers. You may have noticed that I refer to them as coders. I do that intentionally, as copy & paste coders are not developers. Why? Because, all they can do is find solution to their problem on StackExchange or Google, copy the code and paste it into the project they are working on without even knowing what that code actually does. It could erase entire server and they would not care. If you, god forbid, assign them a task that takes more than half of brain cell to solve, you are in big trouble. Either they will take a year and a half to implement something that could easily be done in a week or they will nag you every five minutes until you solve the problem for them or they come up with solution so stupid and time consuming, that you would be better off writing it on your own.

At one of my gigs, a copy & paste coder (touted as “seasoned developer” by his peers) had to come up with solution where a database entry would get marked as deleted, if it is older than n working days (holidays count as non working days). This was his solution:

  • for each entry:
  • while count of days is less than n
  • alter date by 1 day
  • check in the database, if that day is a holiday
  • check if day is weekend day
  • if none of those apply increase count by 1.

So basically, he got O(n^m) and maxed out on database connections each and every time it ran. If you consider each request taking 80ms and database table having 1000 rows, this alone would take over 80 seconds to complete.

This is exactly what I am talking about. The guy could not find a solution to copy and paste into his project online, so he “invented” his own.

But why do companies hire copy & paste coders in the first place? Well, we developers are difficult, weird and such and we cost good money. A good developer in Slovenia will cost you from 30K to 50K gross a year. Why bother cashing out, when you can get copy & paste coder for next to nothing? This is a correct viewpoint, if you neglect the costs of slower development and time spent on fixing and maintaining crap code. However, once you calculate the delays due to bad written code, you will quickly see that good developers are hard to find and well worth the money.