Apps

Developers, what is your experience level?

Justin James is curious to know if TechRepublic members are entry-level, intermediate, or senior developers. Let him know your level of development experience by taking this quick poll.

I recently wrote about how a beginner developer can make the leap to becoming an intermediate developer. After finishing the post, I started wondering what experience level readers of the Programming and Development blog considers themselves. Not only will this satisfy my curiosity, but it will also help me figure out what topics to write about in the coming months.

J.Ja

Disclosure of Justin's industry affiliations: Justin James has a working arrangement with Microsoft to write an article for MSDN Magazine. He also has a contract with Spiceworks to write product buying guides.

About

Justin James is the Lead Architect for Conigent.

38 comments
cbader
cbader

In school and wondering if programming is really for me or if I should just stay with networking and systems administration.

Chaz Chance#
Chaz Chance#

if the latest proposal is practical, I guess that means that I am seen as senior, even if the precise job title eludes me. When the latest trends in programming have you saying "why, that's how we used to do it before all the silly programming styles became popular", that's when you know you have been in the business for too long.

gpremec
gpremec

I have been out of development for long time, and now I am back to it again... Or maybe I feel younger this way?

jslarochelle
jslarochelle

I think most people at work consider me senior. Both because of my age and my capabilities. I think I'm senior because I have a good idea of the extent of my ignorance. JS

Tony Hopkinson
Tony Hopkinson

Also what hair I have left is mainly grey. :p To me a senior developer is someone who knows some ways of doings things work out better than others, dependent on circumstance and can quickly see that the way they've picked is wrong or right. If something comes across to me as too complex or too hard, I don't shrug my shoulders and continue, I look into why. Sometimes you can't make the changes that would simplify it, sometimes you are not allowed to , why will never hurt though. The only given is change.

Justin James
Justin James

Not everyone has the same definitions of various levels of developer; why do you think you are what you said you were in the poll? J.Ja

roy.sumstad
roy.sumstad

What?s wrong about being experienced? By using our experience we may know that the latest proposal is theoretically waterproof but it may not be practical or realistic given available time and resources, or that the trends have too big impact on several aspects of a given project. This experience should be of some value, especially for decision makers. So when dealing with trends and popularity we often say ?because we always have done it this way ? and it works?. This should be the main focus ? not the trends. Most users don?t care what technology is used for development as long as the program does what it is supposed to do. Only developers have a strong opinion about development trends. Often they think that their opinion count more than the users need. So once again: we always have done it this way ? and it works. I value my experience.

Vladas Saulis
Vladas Saulis

Ok. That's funny. If I would be the only programmer in the world - who would tell me about my skill level? Does it really matter that I'm not the only one? If programmer has a good self-awareness sence, how could you tell what skills he has? The answer is simple: the only way you may judge - is to judge by results. Am I a hacker? Only others can call me that, not me for myself.

Chaz Chance#
Chaz Chance#

that if it seems complicated, I am probably doing it wrong. Good, efficient code just LOOKS right.

Saurondor
Saurondor

for when the complexity blows up in someone's face and you know why and you're ready to mop up the mess. Reminds me of a job a while back. Always someone with "credibility" asking for the impractical. We developed the "impractical" and the "contingency" solution. One to get us into the mess and one to get us out and prove we were right all along.

AhmedAba
AhmedAba

Seniority is more about attitide than aptitude, because technology always changes and we all have to start from level zero in aptitude, like what I'm doing now learning VB.NET after 15 years in Oracle world, but what distinguish me from others not my skill/experience in VB.NET but the below characteristics: 1- Confidence: not afraid to take blame 2- Curiosity: e.g. (a) problem solving: apply thee 5 whys, why why why why why (b) news: latest tech. news 3- Vision: code for 5 years period 4- Tunner: not accepting any delay in exceution, and seeking always how to speed up the execution of code even by millisecond. 5- Helper: for entry/mid progammer even without their request. 6- Forcaster: expects problems before appear, because he likes to think about bad side effects of code. 7- Fast responder: because he likes to think about what if things go wrong, and prepares backup plans. and the list can go on ... Ahmed.

ztronicsalienware09
ztronicsalienware09

Hi, In this field efficiency comes after hard work. With time one can improve himself. clevo parts service.ztronics.com

MikeZane
MikeZane

Been writing code since 1987, across lots of platforms, database engines, methods, etc. As they change, I change with them. Only problem is I am passionate about coding, which is offputting to most companies and the powers that hold promotions in their hands. Farthest I have gotten is intermediate level, even tho my skillset is higher.

Avinesan
Avinesan

I'd say you measure your level in your confidence in answering the question. Good Technical people are often less confident in their ability. Anyway whats the difference, code is so readily available you don't require to be advanced to copy code of the net.

snow-wolf
snow-wolf

As we all know, if we want to define some ability, we should define the priciple first. That is to say, what are the ability that one develeper should possess in every lever. Please let me know.

Sterling chip Camden
Sterling chip Camden

30+ years of development experience in more than 30 languages on many different platforms. Many years of metaprogramming (writing tools and languages for programmers). If I'm not senior, there aren't many who are. All i want to know is: where's my senior discount?

JackOfAllTech
JackOfAllTech

Almost 30 years and 17 languages, Mainframe, Midrange, and PCs.

Tony Hopkinson
Tony Hopkinson

The decision to follow the general trend and move to .net as a technology at our place, was in real terms not a technical one, but a market based rationale. As much for me as individual, as for the business itself. I don't consider .net technically superior to what we were doing before (Win 32 Delphi). However competent delphi developers are getting hard to find , Borland was f'ed, and is now dead, and a great deal of new stuff which does have customer wow factor is being done in it. Essentially it was a no brainer, but change , not progress. The new code and designs are better simply because they correspond to what we need now, and the code is not old enough to suffer from too much rot. We could have done that in any suitable technology. In fact the business desire to move to .net gave us the resource to rework the applications.

Tony Hopkinson
Tony Hopkinson

I would n't say senior means more skilled, it should mean more experienced. Though in what could certainly be relevant. It usually means more money. It usually means greater challenges, and greater responsibilities. More skilled, t'ain't necessarily so. Skill wise I describe my self as competent based or the interaction with my peers, who have varying levels of skill. Now if you take senior = expert, then you'd have a point, though not with me because I know I'm not, and I have no particular desire to not know anything else....

Tony Hopkinson
Tony Hopkinson

to do both. In fact we keep using up our resource to do something properly doing several more things improperly. Such is commercial development.

Chaz Chance#
Chaz Chance#

I often find the best way to get rid of bugs in other peoples code is to replace the fifty lines they copied from the 'Net with a call to an existing function. The function was there when they did their pasting exercise, but they were too (insert your own derogatory word here) to look through the company code library. I do on occasion use code from the 'Net, with a comment stating where it came from, and an email to the original author if possible. I always write a mini program to thoroughly work the code and discover any hidden bugs. Just remember, as some of my junior colleagues forget, when people post code on the 'Net, they usually remove error checking for simplicity.

D Walker
D Walker

Voted as junior developer. I am a Sr Programmer Analyst when working with mainframe systems (COBOL applications) but rate myself as a junior developer in other languages/systems. Have a some basic Java experience and fairly broad VB.NET training (intended for MCAD certification preparation - minus the most of needed hands on exposure) that would, perhaps, qualify me as a junior developer. Yes, I do tend to appear less confident because I know that I need more familiarity with non-mainframe systems. I am sure I would be good but currently lack enough results in current systems to know how good.

Tony Hopkinson
Tony Hopkinson

I've put your name on the list of people never to consult about IT. The last thing you want in IT, is someone who definitely knows the answer, it isn't lack of confidence that makes a good tech pause, it's awareness, of their ignorance coupled with past cost of rectifying it. It's the really obvious questions coupled with an assumption, that trip you up. 2 + 2 = ? 11 10 or 4 ? As for copying code off the net, it's that attitude, that has left us deep in the crap. What code, how much of it, from which source, and when? Why are these questions pertintent? Does the fact that you can't answer them, mean you don't know what you are talking about? IT Consultant my arse.

Justin James
Justin James

One thing I've found is that really senior developers, even when they do not know the answer up front, can do the research and know if what they found out will actually work; less experienced developers will go down incorrect paths fairly deeply before realizing that what they found wasn't right for them. J.Ja

Former Big Iron Guy
Former Big Iron Guy

I just had a couple or three of thoughts on your principle. I considered myself senior in my shop when: 1. I could look at the error message or ABEND and then be able to tell my staffer that xyz or zyz was the problem. Most of the time I was right at a 3 sigmas level, and when I wasn't right, I was headed in the general direction of the correct analysis. 2. I could add a new program for function or reporting to the system, and get it up and in production fairly quickly. Doing this new development without having to use execution traces, dumps, weird exception handlers and the like. 3. Providing robust analysis and design; deep knowledge of underlying system; clean, simple, easy for newcomers to understand code which was well documented; good run book instructions with valid, tested, restart and recovery procedures; systems and programs which produce correct, verifiable results. 4. The person that managers talk to when they want to know "Can we do abc or defg with the system?" and/or Being someone that friends and acquaintances may email or call for a two minute answer. Just my $0.02 worth. /s/ Former Big Iron Guy oh, and 40+ years of development. Multiple machine generations. Many different platforms. Several different languages, besides the "standards" of the day. Being able to code down on the bare metal if you have to. Delivering complete, functional well documented systems on realistic schedules. Knowing when and how to say NO. Participant in professional activities outside of "the job". Producing a significant utility, device driver, or application that lots of people wind up using. Creating ph34r in the minds of pointy haired boss types, but not in the minds of your peers and the good bosses. And I guess being able to ramble on and on with semi-cogent ideas like these.... -fbig

Sterling chip Camden
Sterling chip Camden

... and it doesn't matter how smart you are or how much you've read, if you haven't programmed something significant in a language then you do not know it.

Tony Hopkinson
Tony Hopkinson

of how to apply your skills. Knowledge without application, means you are an encyclopedia not a developer. :p

Vladas Saulis
Vladas Saulis

What I actually meant to say was that skill is more about experience and less of brutal knowledge.

Justin James
Justin James

... is potential copyright/licensing issues. For example, copy so much as one line of code that is under GPL, and your application such became open source under the GPL license... J.Ja

joeller
joeller

to quote the old Alka Seltzer commercial. I di some work on some Main Frame Cobol. I was very happy to became a Desktop app programmer using VB and then a Web app programmer using VB.net. (particularly since I'd used old Basic IV back in college) Since then I've had to learn Java, C++ and C#. But I've never matched the joy of producing maximum results with minimum code, without having to worry about syntax that I get with VB.

Tony Hopkinson
Tony Hopkinson

2 + 2 in Base 3 is 11 2 + 2 in Base 4 is 10. Thanks for proving my point by the way.... Definitely knowing the answer means you don't question whether you do, therefore you are making an assumption. And your assumption turned out to be incorrect didn't it?. Many of mine have, hopefully less do. That progress was made when I too made a complete arse of myself in public. It's a good learning experience, as long as you learn from it. Keep buggerin' in, you'll get there.

dragon
dragon

2 + 2 = ? 11 base 2 = NO 3 in base 10 10 base 2 = NO 2 in base 10 or 4 ? = yes base 16, base 10 and base 8 100 base 2

joeller
joeller

My current boss hired me when we were both working for another company because he felt knowing was not as important as the ability to find out. He asked a question about ADO in the interview to which I did not know the answer. When I got back to work I looked it up and emailed him the answer and got the job. Too many people think they know it all and set out to do things their way without seeing if there is a better solution. They end up with some of the most convoluted programs because of work-arounds used to resolve issues the only way they can. Then there are the folks who see something neat on the web and build a very convoluted app just so they can use the new neat tool. I would say a senior programmer is a person who knows how to go out and find solutions to problems he or she is having, but is able to evaluate how relevant the tools he or she found are to what he or she is trying to accomplish. He or she is also has sufficient theoretic programming knowledge that he or she can learn new languages and skills by reading a book or researching the web.

neilb
neilb

None needed...

Sterling chip Camden
Sterling chip Camden

... more experienced developers won't blindly copy/paste code from the web. They'll analyze it to understand the principles involved, and reuse only the bits that apply to their problem -- perhaps enhancing them in the process.

Editor's Picks