What is a "good" software developer?

TelkomUseless

Honorary Master
Joined
Mar 13, 2006
Messages
12,142
Just because something works doesn't necessarily mean it was done properly.


I couldn't have said it better myself. I am working on a project that has billions components. Pain in the rear. The code has to travel the world to do a basic task.

Now the system is down and the guy who developed it has left - the company didn't renew his contract and now I have to fix the problem. What a horror of a system.

Just to give you an example - one of the main front ends has about 15 iframes. I wanna cry.

ouch! .

And it's funny how business doesn't renew contracts or not care when core people leave. My previous company also... the core people left and they[business] didn't care. At the end of the day they had to hire these guys at extra rate to do the work. These guys worked for 6-7 years.. they know the business etc... but business people think it's just "devs"
 

FarligOpptreden

Executive Member
Joined
Mar 5, 2007
Messages
5,396
I guess I'm lucky to be in a company that acknowledges the developers to be the absolute core of the business. Without the developers, they wouldn't have a product to sell.
 

Raithlin

Executive Member
Joined
Jan 4, 2005
Messages
5,037
I guess I'm lucky to be in a company that acknowledges the developers to be the absolute core of the business. Without the developers, they wouldn't have a product to sell.

Nice. Got an opening? I'm on the market (contract expiring, no renewal)...
 

Waansin

Well-Known Member
Joined
Feb 16, 2005
Messages
284
My opinion is that a good developer is someone who does as little as possible to create as much functionality as is needed. A great developer does so in a way that makes the code maintainable by others.

The best programmers know that they lack the knowledge they require.
 

Raithlin

Executive Member
Joined
Jan 4, 2005
Messages
5,037
The best programmers know that they lack the knowledge they require.

:D That's how I felt in the interview I had today. I know that in the field I am adequately prepared to get the job done, but I didn't feel that way in the interview...
 

guest2013-1

guest
Joined
Aug 22, 2003
Messages
19,800
....and continuous employment maybe? :confused:

IMHO, the reason developers want to redo EVERYTHING from scratch, is simple.....EGO!

Err... no. And I sincerely doubt your "16 years" of experience in software development. You're probably just the boss, not the actual work-horse.

So let me shed some light onto this:

Companies don't want to spend money on I.T. At all. Even when the company's primary function is an e-commerce site... their bread & butter (South Africa... *shrug*). So they try to get the cheapest deal they can. They hire a developer with little-to-no experience (or one that claims he has experience, but since they're oblivious to the fact and can easily have the wool pulled over their eyes when it comes to I.T, hires him). This is usually to take-over already-written code to add functionality to/maintain, or to actually write code from scratch. Most of the time it's taking over already-written code and USUALLY it's done by an outsourced party which has become too expensive for the company to maintain and deciding to hire an in-house programmer.

Since the developer has little-to-no experience, the mistakes they make (which I have seen time and time again and attribute to inexperience) add's up into one big ball of maintenance nightmare. It then takes so long to make a simple change to the website that work that was scheduled to happen (nb, NEW work) can't until the maintenance/functionality change happens first. In the end it's just bug after bug after bug. Fix one thing, introduce a new bug etc. These guys wait until the workload has built up to such an extent that they quit and move on to a different company. This usually takes +- 1 to 2 years. Depending on the size of the company and how involved other developers might be with the same project.

Enter, new programmer. Usually more experienced than the previous guy since the pay grade went up a bit in the 1-2 years the other one worked there (if he had 1 year of claimed experience, they need a 3 year experienced programmer according to their logic). Since the new programmer is more experienced than the previous one, and then takes over the existing work of maintaining the system and fixing any bugs AS WELL AS building in new functionality, he soon realizes what a nightmare JUST maintaining/fixing the code is.

This is where the "rewrite" comes in. Because 90% of the time the database is also such a mess that any kind of functionality being added to it would be like adding a new wing to beach-house built on the sand without a proper foundation. So you sit there, with your hands in your hair trying to bite your tongue and not go postal on everyone at the company for being dumb-asses. Since they'd much rather pay for a "manager" than a proper developer to get things fixed.

And this grows and grows and grows till it just gets to the tipping point and everything HAS to be rewritten.

HOWEVER I have to agree with you that rewriting software constantly to be on the latest frameworks is just insane. In a perfect world (my world, when I code usually) I write the code once with the future in mind. That is what software architects do. Such thinking, unfortunately, only comes with experience. Hence why I attribute those mistakes in the beginning as inexperience.

80% of your time has to go into writing *new* code (read, new functionality). 20% maintenance. If this is swapped around, then it's the quality of code forcing you backward and you have to consider re-doing it. BUT. Only redo it if you have someone that's experienced enough not to go paint the room's floor and find themselves in the corner opposite the door when they're almost finished...

For the people who says "business wants it asap so they have to do it asap" and "they pay so do it have no clue what they're talking about. 1 month to do an application in MIGHT be feasible IF time allows for all the other bull**** the programmers have to deal with (especially the lovely "open ended" specification where "something simple" changes where, in fact, it ****ing changes fundamental aspects of the application)

Doing it properly doesn't necessarily spending a long time on a project. This is why you have project managers who knows WTF they're doing and why you have a functional specification of what the client wants. However, you have to ****ing do it properly from the start otherwise you'll spend years (LITERALLY) on maintaining/fixing bugs and trying to make things work as functional changes/additions to the application are added.
 

guest2013-1

guest
Joined
Aug 22, 2003
Messages
19,800
My opinion is that a good developer is someone who does as little as possible to create as much functionality as is needed. A great developer does so in a way that makes the code maintainable by others.

The best programmers know that they lack the knowledge they require.


+1000000
 

Raithlin

Executive Member
Joined
Jan 4, 2005
Messages
5,037
<offtopic>
You on a roll today, AcidRaZor? That's 4 comments in about 2 minutes... ;)
</offtopic>
 

guest2013-1

guest
Joined
Aug 22, 2003
Messages
19,800
Just to add on to my comments. What I meant by doing something properly is:

Start with the database design
Build stored procedures/functions you might need to interact with it based on the specs
Write the code / implement code into the design received.

simpler is better

I've spend MONTHS in my decade debugging code with *include file* within *include file* within *include file*. n00bs use include files and sessions so extensively it'll make anyone's head spin. Most of the full-sites I write these days don't exceed 200kb (that includes ALL files except product images) whereas the same ecommerce site w/o product images written by some tool can get as big as 50mb. This adds into the comment about programmers writing 200 modules and some containing only 1 function.
 

Cicero

Expert Member
Joined
Jul 20, 2010
Messages
2,286
Not this...

At a mates company they had a masters developer that used to write absolutely terrible code. He'd use variable names like dog, cat, anna, girlies, face, bonk ...whatever, you get the picture. He quit and is doing his PHD now, and get this...the company has to hire him as a consultant/contractor whenever the code needs to be modified.

He's prob been paid 10 fold what a good software dev would get for the same thing. That pissed me off. Writing non-maintainable code pays well.
 

Raithlin

Executive Member
Joined
Jan 4, 2005
Messages
5,037
Writing non-maintainable code pays well.
..up to a point. The company will get to the point where they will pay to have that changed - it's a question of how expensive the upkeep is, and how good the client relationship is with the dev. I've seen it happen - and when it does, it's quick.
 

guest2013-1

guest
Joined
Aug 22, 2003
Messages
19,800
Not this...

At a mates company they had a masters developer that used to write absolutely terrible code. He'd use variable names like dog, cat, anna, girlies, face, bonk ...whatever, you get the picture. He quit and is doing his PHD now, and get this...the company has to hire him as a consultant/contractor whenever the code needs to be modified.

He's prob been paid 10 fold what a good software dev would get for the same thing. That pissed me off. Writing non-maintainable code pays well.

My ex-Boss knew a guy who would do this in his code:

For i = 0 To 100000000
'Do nothing
Next

Then when it gets "too slow", he just takes away a 0. They paid him for this.
 

guest2013-1

guest
Joined
Aug 22, 2003
Messages
19,800
Nice try. ;) 20 posts in the next week qualifies you. Check the announcements.

I have no idea what I'll do with an iPad. And i haven't read the announcements. I'm just on here to ask advice about schooling for my nieces etc and figured I haven't posted here in a while
 

jabezz

Well-Known Member
Joined
Feb 8, 2007
Messages
193
My ex-Boss knew a guy who would do this in his code:

For i = 0 To 100000000
'Do nothing
Next

Then when it gets "too slow", he just takes away a 0. They paid him for this.

Just blame it on VB :p
 

Raithlin

Executive Member
Joined
Jan 4, 2005
Messages
5,037
I have no idea what I'll do with an iPad. And i haven't read the announcements. I'm just on here to ask advice about schooling for my nieces etc and figured I haven't posted here in a while

In that case, welcome back. :) What advice?
 
Top