Are developers professionals or spoilt brats?Filed Under: Weekly Tuesday Dose of goodness
In this article, we’ll talk about developers themselves in terms of their responsibilities, whether it’s technical, ethical or professional.
Some developers have developed a “spoilt-brat” habit over the years and they unknowningly impress it on their employers as well as their possible future employers.
How is that so?
Read on…
I commonly hear 2 things about the developers that they hate to do.
1) Documentation
2) Testing
Actually, there should be a 3rd thing.
3) Debugging
Guess what? There is actually a 4th thing.
4) Developing storage classes
Omg! So where does it lead to? A developer doing nothing at all?
Come and think of it, sometimes these people think too highly of themselves. Of course I’m not referring to the majority of developers who are mostly professional and hardworking.
I’m referring to those who think of themselves so highly that they reject mudane tasks that a developer is supposed to do.
Let’s talk about the 4 things:
1) Documentation
Most developers hate that because they seem to be additional work and doesn’t direct contribute to the project efforts.
Developers would always want to make an impact when they develop, to the extent of making some assumptions and decisions arbitrary.
However, they cannot do the same for code documentations! For goodness sake, if you can’t write up proper documentations of what you’ve done, then nobody can! It’s your own work you know…
So what are code documentations for? They’re there to remind you of what you’ve written yesterday, the day before, the week before and even 6 months ago. Why? Because if you can’t even remember what you ate for lunch, what’re the chances that you’ll remember what you’ve written.
One might argue against that in figures but it doesn’t stand for long since eventually, without documentation, you’ll forget about it and it comes back to haunt you in all directions one day.
So, if you still insist that code documentations are not important, then all I can say is, good luck to you.
I’ve maintained 140,000+ lines of code for my game engine alone and probably another 150,000 lines of codes for my editors and I seldom have a big problem understanding what I did because of previous efforts to document all my codes. Yes I mean it, ALL.
It’s a requirement. If you can’t do it, then it means that the project is doomed to a certain failure when it comes to maintenance.
2) Testing
Now what’s wrong with you people? If God has to flood the world once to reset its cycle, I don’t see why developers should hate testing. In fact, testing does a lot more to improve one self and is a preventive measure against future problems.
Now, I’m not saying that a software must be so perfect that no one needs developers anymore. That’s complete bullshit. Making a perfect software is inherently impossible. Therefore there’s no need for such childish arguments. Rather, we can make software that is reliable and usable. Just these being able to fulfill these 2 aspects of software alone will make one an asset.
I’ll not dive into test details for now therefore I’ll move on.
3) Debugging
Developers don’t like to debug because it makes them feel as though as the process is wasting their precious time. Instead of moving on, developing new codes and modules, here it is, getting stuck with bugs and logic problems.
The problem is, since developers don’t like documentation and testing, they’ll have to pay a price for debugging. It’s an exceptional price especially when the codes are not properly documented. I can understand if testing can be difficult due to the need to generate white box unit test cases manually, but lack of documentations? One can only blame one-self for such lack of vision.
4) Developing storage classes
Now, this is one of the most tedious and mudane tasks in development and guess what? Developers don’t really like to do that all the time!
That’s because, again, such codes do not directly impact the project progress greatly and can be a pain when they have to be modified.
Guess what? Storage classes are tedious yes, but they form the backbone of any applications when used in the memory. This alone should prove its impact to many short-sighted developers out there.
Conclusion
In conclusion, I can only say that some so-called developers are complete idoits. They do nothing to serve the team and the project as a whole and their self-delusional mindset and self-important attitude makes them a liability more than an asset.
This probably explains why sometimes certain developers are being laid off the moment a crisis hits the company.
For these types of developers out there, go and do some self-reflection. Have you suffered for nothing? What are you so arrogant about? Why are you so condescending? What are you trying to prove?
Some developers are pathetic. They have such a great hindsight but they cannot look beyond their already narrow scope and only make decisions based on their hindsight and experience. So what do you call that? Lazy. Useless. Weaklings. Incapable.
Good developers always look forward, this person will always look at the big picture and understands the design decisions made by the company to move forward. This person will never treat his superiors like idoits and as though as they’re not as technically inclined as he is.
Good developers are also good communicators and team players. They think out of the box but keep within their limits. They don’t overstep their obvious boundaries and offer solutions to the problem rather than indirect self-praises to their own technical capabilities. It’s a pleasure working with such people and the company is very likely to benefit a lot more from such a team.
So, spoilt brats or true blue professionals? Decide for yourself!
Signing off,
Jeremy
- Permalink
- Admin
- 9 Jun 2009 2:45 PM
- Comments (4)
June 15th, 2009 at 6:14 pm
what is a storage class?
June 15th, 2009 at 9:53 pm
Hi anteater,
A storage class in general under Object Oriented Programming is nothing but a class with the following characteristics:
1) Has more attributes used by other classes than by itself
2) Has the copy constructors, assignment operators or clone() overrides done carefully
4) Has only getters and setters
5) Has little or no internal logic to manage its data other than serialization at most.
Regards,
Jeremy
June 15th, 2009 at 10:11 pm
To add,
Such classes are typically more than tedious and repetitive than challenge to most developers.
And they somehow have the impression that these classes do not make a major impact or at least the amount of impact they wanted to make.
June 17th, 2009 at 8:40 am
thanks for the explanation.