pouët.net

Go to bottom

Bad programmers. Are they common, and how do they survive?

category: code [glöplog]
I always assumed coders needed a minimum level of competence to actually function at all, but having spent some time in general coding channels on irc.. well, I'm wondering. I've seen people ask questions that show they have near zero knowledge of the subject, but need to get code written for a work deadline.

Latest example, from #iosdev: "How do i put (variable name) into a variable so i can use it in a switch statement?" So I answered "switch(variable name){…}". Answer: "oh this how to do it in ios". Wat? And then: "Hi Psonice, can I put "case : -60 to -89" condition inside switch statement?" Clearly, no idea how to use even a switch statement, but trying to write an iOS app. Scary.

I've seen quite a few examples, so.. just how common are these utterly incompetent coders? And how the hell do they survive, pure copy + paste without knowing what the code does? Or don't they survive? :D
added on the 2013-08-20 11:27:54 by psonice psonice
They get promoted into management.
added on the 2013-08-20 11:38:31 by Preacher Preacher
I've come across a couple of people who were on the same level - or at least close to it - as the person you talked to.

In some cases they attempt to make themselves look busy by volunteering to take on a lot of work; and then using that as an excuse by saying that they're choked and might not be able to finish any of their tasks on time, which typically leads to requests for other people to help them out (read: doing their job for them).

Others are just lazy, keep in the background and hope that no one will notice. As long as they manage to get through their probationary employment period, it gets pretty difficult to sack them. For one, it could look as a failure on the manager's part to be forced to admit that he/she had kept an incompetent developer on the staff for a long time. And it also creates the problem of finiding a new person, who then has to learn the development environment, the code, etc.
added on the 2013-08-20 11:42:25 by mic mic
psonice: well it depends on their background and how they like to code their stuffs. ex. myself i tend to use if/else over switch case because i see it a good choice while reading the code. I don't tend to do try/catch ex. even though it is well known practice in programming.
added on the 2013-08-20 11:46:57 by panic panic
They survive by giving their stuff to coworker / trainee / irc :)

They should not survive. It's a pain in the ass to work with such guys.
added on the 2013-08-20 11:48:01 by Romain337 Romain337
I work in a team of about 8 devs. (I know you what I do..) but for everyone else.. We used to make a products/kind of a dev kit that sold exclusively to developers and the stuff we had to deal with some times was unbelievable. "visual basic programmers" was our term for that kind of coder as they were always the worst. The nature of the product often meant that knowledge of pointers and buffers was necessary. Its clear to me that a lot of "devs" just don't know this stuff.

We did have one dev (who didn't last long) who would copy/paste from "teh interwebs" repeatedly. He didn't know what functions were properly and the same "bug" would be replicated. What annoyed me was that it'd get fixed in one place where it was found, and the others would be missed due to the unnecessary replication. Long after he left code he wrote remained in the product for almost 10 years. Fortunately during a product upgrade a few years ago I got to rewrite the most commonly used, important parts of it.
added on the 2013-08-20 11:50:26 by Canopy Canopy
Are they really adult programmiers or just 11,12,13 year olds, learning?

BTW I got to know some programmiers during my life, who disregard every other programmer as "bad", who just doesnt reflect their personal style of programming. They sometimes act like they are "god" like creatures, and know the answer to everything, just not work related, boss everyone else around (I know many colleages in other departments suffer from such behaviour of programmers). I wonder, how strong narcissism is common in the profession of programmers.
added on the 2013-08-20 11:54:18 by Salinga Salinga
salinga: I've seen people post code that literally doesn't make any sense, recommended that they go and learn to code first, and been told that they have to finish it by the following day for their boss so they haven't got time to learn to code. So yes, they are really adult programmers :(
added on the 2013-08-20 12:04:09 by psonice psonice
This reminded me of university in dublin, and the many classmates who spent 4 years copying others work rather than learning. I always wondered how they turned out as professionals, as they had almost no coding experience at the end of their degree. Most of what they learnt was on how to game the system, something I have never been good at. Do they make sure always to buy the boss and actual coders drinks or what? (some of them got better marks than me, so I could just be bitter ;)

Given they had a good degree from a decent uni, they would have looked very good on paper. Perhaps this is the way these incapable coders get jobs in the first place, but... how the hell do they sleep at night?

Salinga: yeh i've known that type too. There was a study in the 90s asking coders if they were above or below the average ability, and 95% said they were better than average....
Quote:
There was a study in the 90s asking coders if they were above or below the average ability, and 95% said they were better than average....


I would have classed myself in the bottom 25%. But having seen what gets asked on irc and stack overflow, it's the top 25%. I guess in general "demoscene" fits in top 5%, giving a false impression of what real coders are like :D
added on the 2013-08-20 12:09:07 by psonice psonice
2 years ago a french girl studying at school was in the end of his studies, We meet in a bar in Paris some month ago without talking a word about computer until she told me to stay with her one week to help her to code some kind of facebook plugin.

One week later, she doesn't know anything on programming, nor computer in general, I have learned a bit of an facebook API (I hate facebook lol), coded the whole things (it was big piece of shit the code i have to say lol).

Despite the poor quality of my code, she have well terminated this year.

I regret :) because of me, i don't know, maybe some guys will hang at work with her.
added on the 2013-08-20 12:15:14 by Romain337 Romain337
Quote:
But having seen what gets asked on irc and stack overflow, it's the top 25%


better go make a demo about it then and show us what we've been missing. :)
added on the 2013-08-20 12:27:05 by smash smash
Basically what Salinga said. God oriented programming is a quite common thing, especially for ppl who don't have the skill to reflect their own code and are willing to discuss alternative solutions.

Some example from a senior developer from my company.
Background: We claim to be able to handle unicode here, in Java and C++ basically. As we are developing plugins for layout applications (quark express and indesign), there are some constraints on the actual unicode character set of texts. Not regarding those most likely crashes the layout tool but not the Java editor.
Problem: Characters disallowed in the specific programs have to be removed from the input on the Java side.
Proposed solution by the senior: Develop a function which is called per char of the input and return true/false and then remove the char.
This solution is wrong on so many levels, but he works here for nearly 20 years. I really can not understand how a guy, proposing solutions like that, is still in this business.
Just for the sake of completeness, unicode characters are up to 32 bits so they don't fit into a char. Calling the function per character is a fucking performance bottlenet. In the end I basically forced him to return int ranges, which i use to create a regex using a proper unicode lib. And that's the next problem with many devs. They are lazy and don't read the docs. Everybody thinks: this problem is unique, i have to build a new solution. Wrong, first investigate if the libs you are already using can solve the problem which at this place is the case in like 60% of all special handcrafted stuff. I'm talking about self built XML serializers and stuff like that. I find that even more annoying than ppl who do not know how to use a damn switch statement. These ppl can read it up or you explain it to them: done. But devs who replicate library function (which work in most cases) tend to feel right about their style and are not willing to discuss. BTW. I work at this place for a year now and I've deleted more code than i have written...
added on the 2013-08-20 12:27:42 by skomp skomp
bahahaha... preacher wins
added on the 2013-08-20 12:31:11 by ferris ferris
Quote:
better go make a demo about it then and show us what we've been missing. :)


Hopefully i'll have a 4k done for sundown :) (That ray tracer on the other hand... ouch. Maybe it'll be 'patchable' in time, maybe i'll have to raymarch a cube.)

Not trying to say I'm a good coder there though.. in fact I'd still class myself as pretty bad with a ton to learn. Just saying that "judging by demoscene standards" and "judging by irc/stack overflow standards" give wildly different results :D
added on the 2013-08-20 12:40:59 by psonice psonice
Quote:
Are they really adult programmiers or just 11,12,13 year olds, learning?

All in my experience were adults, some had somehow managed to land large contracts yet were clearly out of their depth. (our product only provided one aspect).

Leads me to believe that "production quality" software, for the most part really doesn't exist.

Quote:

BTW I got to know some programmiers during my life, who disregard every other programmer as "bad", who just doesnt reflect their personal style of programming. They sometimes act like they are "god" like creatures, and know the answer to everything, just not work related, boss everyone else around (I know many colleages in other departments suffer from such behaviour of programmers). I wonder, how strong narcissism is common in the profession of programmers.

Yup seen them too.. Everything everyone else does is shit, wrong and needs to be rewritten from scratch, by him as he's the only person capable.

Will undercut time estimates given to superiors, then stay up all night to prove they could do it within that timeframe..
added on the 2013-08-20 12:43:00 by Canopy Canopy
They are tons of bad programmers and they survive by hiding the fact that they are bad programmers.
added on the 2013-08-20 13:30:48 by gloom gloom
My name is Ian and I am a bad programmer.
added on the 2013-08-20 13:35:45 by djh0ffman djh0ffman
I've experienced the same kind with some co-workers at uni... People where I wonder how they actually managed to get a programming job. But then again, we generally lack programmers so they probably take everyone who claims to be able to program. I never had to prove that I'm good at C++, I just got recommended by a friend.
Actually, quick question to the room. I work for a software company who produce direct commerce / wareshousing etc. sollutions.

Our main product is still compiled in Borland in C++... is that bad?
added on the 2013-08-20 13:57:22 by djh0ffman djh0ffman
re: Borland C++

As long as its stable, and does the job there's no problem?

I'd question significant new products being developed in it though.

Add-ins / DLLs etc could always be written in newer compilers.

We use VS2008 for the majority as that's when the last big push in features happened (mostly due to x64 and marking unicode for multi-lingual support). However some stuff has to be done in VS 6 due to legact toolkits used and some newer stuff is in VS2010.
added on the 2013-08-20 14:19:09 by Canopy Canopy
I'm a bad programmer. I rarely get anything done until it's the last minute and even if I do, it's usually an ugly mess.

Brb, got to rewrite our demo engine ->
added on the 2013-08-20 14:27:27 by msqrt msqrt
funny. tho... i dunno. where do those guys come from? business wise. language wise. programmer isn't programmer. there're languages i can't read. when the statements and flow doesn't make sense. everything boils down to asm tho. so... there perhaps old programmers doing stuff and not feeling competent jumping into coding for the itarget their boss is asking for.

the response on that switch thing is obvious. "that's how you do it on ios". new to ios. however. that case example looks like trying to copy funtionality of a if inrange(x1, x2) statement. looks like a "language" thing. atleast to me.
added on the 2013-08-20 17:15:22 by yumeji yumeji
logged out: the switch thing is just plain C. Everything on iOS is coded in c or obj-c (which is an extension of c). Trying to write an iOS app without knowing basic c is going to be extremely hard :D

But his question wasn't how to use switch, but how to put a variable in "switch(variable)". From looking at some code he posted, he has *zero* knowledge of allocating / freeing memory, or even how a basic algorithm works... he doesn't understand basic programming.

Rough (from memory of his code) example:

Code:int *x = malloc(4000); x = somefunction(); return x;


He didn't understand what was wrong with that code.
added on the 2013-08-20 17:49:10 by psonice psonice
psonice: sadly this situation is not at all uncommon amongst recent university graduates.
added on the 2013-08-20 17:50:12 by smash smash

login

Go to top