The 'A' Developer
Being an 'A' Developer is not easy: you should work hard, and read, and learn from your mistakes.
I tried to summarize my convictions about who 'qualifies' as an 'A' Developer, below:
1) 'A' Developer writes her/his code with a lot of enjoyment and enthusiasm.
2) 'A' Developer is not a coder; 'A' Developer is an ENGINEER.
3) 'A' Developer is always asking "Why" before starting to learn a new technology. For example, "Why Spring?", "Why JPA?", "Why JSF?"
4) 'A' Developer is Big Picture oriented, not details oriented.
5) 'A' Developer believes that Design Patterns are a MUST.
6) 'A' Developer should be involved in all tiers.
7) 'A' Developer is a good starter and a good finisher as well.
8) 'A' Developer has v.good communication skills.
9) 'A' Developer does not depend on "Hello World" examples when trying to learn and master a new technology .
10)'A' Developer is always updating him/herself with the latest market news and reads developers articles and comments.
11)'A' Developer is not a fantasist in terms of the latest framework or technology.
12)'A' Developer is a very good user to his IDE. He/she knows the most important options and shortcuts the IDE has.
13)'A' Developer hates the systematic route and always asks: "How I can automate this."
14)'A' Developer tends to keep things simple.
15)'A' Developer is a reliable, committed, and hard worker.
16)'A' Developer likes new challenges.
17)'A' Developer understands the business before beginning to code.
18)'A' Developer looks for the best practice for everything he/she works on.
Am I right... what do you think...?!
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)






Comments
Arul Kumaran replied on Sat, 2009/01/24 - 9:10pm
Well pointed out Mohammad. 'A' Developer should work smarter and continuosly invest in his or her career. Investment should be made in acquiring hard skills, soft skills, business skills and ability to promote him or her as a great contributor. Let me add some more
- 'A' developer should not only look at things from a technology perspective, but also from a business perspective.
- 'A' developer should understand the 14 key areas I covered at http://java-success.blogspot.com/2006_10_01_archive.html so that he or she can understand the potential faiuires and write more robust, maintanable, and extendable applications.
- 'A' developer will be a good problem solver, will have great analytical skills and ability to research things.
- 'A' developer will have the abilty to list design alternatives, technological choices, and tools and pick the right ones for the job at hand.
- 'A' developer will be flexible and adaptable to changing and growing business needs. Will liase with multi-disciplinary teams to get the job well done.
- 'A' developer will have the ability to translate the business requirements into technical specifications. He or she will identify gaps in the requirements and will pro-actively finalize the requirements. So, he or she is never stuck all the time behind the keyboard.
In a nut-shell, he or she will be a great well-rounded contributor to add value to the bottom-line of the business.Martin Flores replied on Sat, 2009/01/24 - 9:40pm
I think both of you have very good points. I want to add my opinion about an "A" developer:
Casper Bang replied on Sun, 2009/01/25 - 9:50am
Some good points in the list for sure, but I don't agree with them all. For instance, I see a direct contradiction between 5 and 14. We resort to patterns to overcome limitations in the language (especially true in Java), rarely will patterns actually simplify things and I truly dislike the idea of sneaking in design patterns for the sake of patterns themselves.
Ray Walker replied on Sun, 2009/01/25 - 12:43pm
Donny A. Wijaya replied on Mon, 2009/01/26 - 1:30am
I don't think hardworking is an essential part of a complete developer. Developers work using their brains, not their muscles. They need to be smart and effective. They should keep everything simple, and always want to learn more. A developer should be a team player. A development team must work together as a team, real team, helping each other, helping a new member to adapt to the environment, and so on. Smart developers know how to code properly and effectively and they always want their codes to be readable by others in their team. For them, code crafting is an art.
So far in my career, I never see any development team work as a real team. Most of the ISVs need you to be a team player in their job requirements, but once you get in, you hardly find a real team worker inside. And most likely, you can only find a group of hardworkers. To them, having each developer working in isolation is part of team work. From their point of view, newbies should learn to adapt to development environment on their own, and that's a team work skill. They just need to finish whatever they are asked to do, as much as possible if they could, and if they could, they would be admired as good team workers. In these kind of ISVs, code quality is not essential.
Ronald Miura replied on Sun, 2009/01/25 - 7:43pm
I'd change (3) to "... is always asking 'Why' before use a new technology."
You can't learn too much. And you should already know (or at least have a good idea of) your options when facing a problem, or else, how will you decide which is most appropriate?
The more you know, the better. Even better if you know what NOT to use :)
Daniele Dellafiore replied on Tue, 2009/01/27 - 9:44am
A lot of point I feel "mine", some about I need to work on but I agree, some I disagree or I feel they are "non central" for a first class developer, but the most important objection I do is that there are too much point.
You are saying: it has to be perfect, almost, and identify many point about "perfection.
Do less, cut the list down to ten and then republish it after having cut again to five, eventually trying to mixing more concept in a single point, without faking :)
I tried to focus on detail of single points but I find more comfortable tumblring you message and answer there couse I have a lot to say and cut.
Arul Kumaran replied on Tue, 2009/01/27 - 8:57pm
in response to:
Daniele Dellafiore
Liam Knox replied on Wed, 2009/01/28 - 4:38am
My only comment about articles such as this, and you do get a lot on this forum, is what is the point, what are you trying to achieve by posting a bunch of assertions that you ask other if they agree or not ? What are you going todo with these assertions based on whether people generally agree or not? Do you actively grade developers on them internally at your company or for interviews assesment?
Anyone can publish a bunch of assertions and ask for feedback, but it also seems a bit meaningless if there is no goal.
Admitidly these seem atleast sensible relative to
http://java.dzone.com/news/your-architecture-starts-be-su
This should of atleast attempted answer what the hell is an optimal system in the first place before pontificating some unqualified nonsense.
hookfi john replied on Sun, 2009/05/31 - 8:06am
hookfi john replied on Sun, 2009/05/31 - 8:06am
jame jack replied on Wed, 2009/06/17 - 7:48pm
dfdf dfd replied on Wed, 2009/06/24 - 9:24pm
I like the ed hardy clothing. ed hardy is one of the most popular brands. ed hardy clothes displays the brilliant work of Don ed hardy uk. He is a gifted painter, printmaker and tattoo artist. cheap ed hardy offerings include ed hardy tank, cheap ed hardy clothing, ed hardy on sale, ed hardy handbags, ed hardy discount etc. ed hardy swimwear is just 4 years old and was launched by Audigier in 2004. There were many Hollywood stars who wear his ed hardy swimwear. Some of the famous celebrities include Ed Hardy Belts, Jessica Alba, Mariah Carey, Paris Hilton etc.
derek green replied on Mon, 2009/11/30 - 9:29pm