Each year a horde of new computer science graduates grace the job market with impressive certificates and awards, they claim to have skills in Java, C++, C, Php, JavaScript, COM, Oracle, SQL etc but the majority of them really struggle to write meaningful code besides the equivalent of “Hello World!”, here are some of the reasons I believe to be chief causes:
They never wrote code
One thing that is universal amongst strong programmers is that they wrote a lot of code (a lot of code) that tried to address real world problems through side-projects. For example before I even graduated I was already a code ninja having written code for 10 major projects and had been a co-founder in 2 start-up companies. On the contrary some of my classmates had a codephobia (I don’t know if that word exists), to put it in simple terms they were afraid of anything that resembled code. One might wonder how did they manage pass courses and assessments that involved writing or interpreting code, the solution was simple, they used the CPF (Crame Pass Forget) method which means once the course is over they have a distinction but they don’t know the stuff they wrote to get the distinction.
They never wanted to code
Given that some high paying jobs are in the IT Industry, some people have Computer Science degrees simply because of the pay. They never wanted to code in the first place or college was like a nightmare and they never acquired any programming skill. They merely went through the course work. Since coding is so painful to them, they simply forget how to program in the real world but instead they choose to pursue other fields in the IT industry that involve less code like Networking, Hardware, Management etc
Real world code
Theoretically speaking, you can discuss abstract data types, common algorithm patterns, etc. all you want but converting that knowledge to implement code that solves real problems is a whole new level. So some graduates may know all the abstract concepts such as if statements, loops, classes, functions etc but struggle with joining all these concepts to come up with a software.
wow interesting read ”code ninja”
Glad that you enjoyed the read
The truth is that there is a thin line between being good in coding when in college and failing dismally most of the modules including the programming languages because the exam isn’t practical. Also since money is the main motivator of professions followed by passion programming is a no go area for the non passionate in programming because it is rather more of a lifestyle than just a profession “The Cyberadmin”
I believe some people become good at coding after college due to continuous exposure to code in their jobs.
somehow true …… though, i think, the root cause emanates from the curriculum itself. the lecturers understands what they teach only and nothing else beyond that. Too much theory…… damn
To some extent the lecturers are correct, they cannot spoon-feed students to code and sometimes they don’t know the latest programming technologies.
Your article is discriminatory. A lot of people are like this, but guess what, those who cant program will see themselves up there, because they keep on trying to rise. Programmers will relax, and remain poor justifying to themselves that they can program. Think of the COBOL programmers. Software Engineering is making it all simple such that those who are willing to understand UML will be able to have artefacts that are more mature than continuous re-Inventing of the code done by most coders. The new world we are entering is slowly removing the need for code ingenuity i.e. 5G Programming Languages. Remember the old days when you would have to use Machine Language. Who does that these days.
Very true, high level programming languages and frameworks have been a blessing since they make work easier and made the barrier to entry in programming.