How well do you program?
- crazygray1
- Member
- Posts: 168
- Joined: Thu Nov 22, 2007 7:18 pm
- Location: USA,Hawaii,Honolulu(Seriously)
How well do you program?
Just wondering, how good does every one consider themselves to be of a programmer?
Codname: Cipher
Working On: Design Doc(CFFS file system)
Working On: Design Doc(CFFS file system)
- mathematician
- Member
- Posts: 437
- Joined: Fri Dec 15, 2006 5:26 pm
- Location: Church Stretton Uk
Tricky question. How to do yourself justice without being immodest? Whom do you consider a "10" on your scale, and how brain-dead do you have to be to rate "1"? Believe me, I have encountered both off-scale-high demigods and off-scale-low wannabes in the trade. Do you only value raw coding skill, or do you factor "soft skills", documentation etc. into it, too?
I will quote from my last job interview. (You know, one of those situations where false modesty can cost you the job opportunity.)
Interviewer: "Do you consider yourself to be a good C++ programmer?"
Me: "Yes."
{Couple of seconds of uncomfortable, eye-locked silence, with the interviewer obviously waiting for some "modesty" qualifier}
Interviewer: "Well, that is a statement."
He ran me through a timed, 50-question multiple-choice C/C++ test afterwards, claiming he "usually [doesn't] do this in the first interview, but since you claimed earlier that you are good at this...".
I got the job.
I will quote from my last job interview. (You know, one of those situations where false modesty can cost you the job opportunity.)
Interviewer: "Do you consider yourself to be a good C++ programmer?"
Me: "Yes."
{Couple of seconds of uncomfortable, eye-locked silence, with the interviewer obviously waiting for some "modesty" qualifier}
Interviewer: "Well, that is a statement."
He ran me through a timed, 50-question multiple-choice C/C++ test afterwards, claiming he "usually [doesn't] do this in the first interview, but since you claimed earlier that you are good at this...".
I got the job.
Every good solution is obvious once you've found it.
- Colonel Kernel
- Member
- Posts: 1437
- Joined: Tue Oct 17, 2006 6:06 pm
- Location: Vancouver, BC, Canada
- Contact:
There are several things I consider when judging my own coding ability:
But Solar pointed out the most important thing -- there is a lot more to being a good developer than just coding skill. For example, debugging skill -- how long does it take you to diagnose a problem? How many of your hypotheses are disproved along the way? Design skill -- do your designs make the right trade-off between cost and functionality and performance? Are they understandable to other people? Etc.
- How long it takes me to implement a given component from specification to all tests passing.
- How much copy-paste code is there in the end result? (Hint: If the answer is anything other than "none", the code isn't finished yet. Furthermore, the code was written by monkeys.)
- How many bugs are found in test, and later in maintenance.
- (For bonus points) How many compile errors there are. I tend to write everything before compiling even once. On rare occasions when it compiles with no errors on the first try, I stare in disbelief for a few seconds.
But Solar pointed out the most important thing -- there is a lot more to being a good developer than just coding skill. For example, debugging skill -- how long does it take you to diagnose a problem? How many of your hypotheses are disproved along the way? Design skill -- do your designs make the right trade-off between cost and functionality and performance? Are they understandable to other people? Etc.
Top three reasons why my OS project died:
- Too much overtime at work
- Got married
- My brain got stuck in an infinite loop while trying to design the memory manager
I really don't know, because my code has never really been judged. I am entirely self taught and this means that there are programming methodologies I am not aware of and I only know what I have needed to know, and what I am specifically interested in.
All I can say is that my programs do what I want them to do (from C#.net to ASM) and I try to do things in an optimal way if possible.
Cheers,
Adam
All I can say is that my programs do what I want them to do (from C#.net to ASM) and I try to do things in an optimal way if possible.
Cheers,
Adam
While maintaining a modicum of modesty, I feel that I write easy to read, documented, maintainable code. I have recently learned the many advantages of unit and exhaustive testing, and proper design (one has to bear in mind that this is my first programming job, and as such I learned the things that you don't get taught at university).
I also feel that I am good at debugging (generally), and can understand / fix compile errors in seconds. I think, and hope that I am good at getting my point across in a non aggressive way, and also that I have decent leadership skills when required (I am a kayaking instructor, so I hope so!)
Use the above to make your own decision on my proficiency, given the weights you personally attach to each trait.
I also feel that I am good at debugging (generally), and can understand / fix compile errors in seconds. I think, and hope that I am good at getting my point across in a non aggressive way, and also that I have decent leadership skills when required (I am a kayaking instructor, so I hope so!)
Use the above to make your own decision on my proficiency, given the weights you personally attach to each trait.
-
- Member
- Posts: 566
- Joined: Tue Jun 20, 2006 9:17 am
I think i am alright ...
I think i am alrigtht .. I have won prizes in many coding contests including first prize in an 8085 asm programming contest .. I am a finalist of WIPRO's code zap Guru contest ... [National Level Coding coding contest] ... I was one of the youngest contesters ... Only some 20 - 30 people are chosen from a province ... But i have no experience with huge sized projects ... with teams of programmers working for a project [Defenitely i will have it sooner or later ... ] .... I think i am a decent programmer .... I do not have a job yet ... But a big company gave me one .... I wont tell you which .... (Personal Secret ) ... The questions they asked were more or less based on concepts than purely technical ... Initially there was a objective - C/C++ + DBMS + Aptitude knockout round ...
- piranha
- Member
- Posts: 1391
- Joined: Thu Dec 21, 2006 7:42 pm
- Location: Unknown. Momentum is pretty certain, however.
- Contact:
Well, I can program basic and C.
I can't really deal with ASM, and most of the time I program, I should be doing homework.
So, I don't know, my code is angrily written, so not organized.
-JL
I can't really deal with ASM, and most of the time I program, I should be doing homework.
So, I don't know, my code is angrily written, so not organized.
-JL
SeaOS: Adding VT-x, networking, and ARM support
dbittman on IRC, @danielbittman on twitter
https://dbittman.github.io
dbittman on IRC, @danielbittman on twitter
https://dbittman.github.io
Sums it up for me too, I guess.AJ wrote:I really don't know, because my code has never really been judged. I am entirely self taught and this means that there are programming methodologies I am not aware of and I only know what I have needed to know, and what I am specifically interested in.
All I can say is that my programs do what I want them to do (from C#.net to ASM) and I try to do things in an optimal way if possible.
Cheers,
Adam
I'd say that I'm at least a competent programmer. I think I understand "programming" as a concept fairly thoroughly (as in, once you know how to program well in one language, it's not a big deal to pick up another one).
I've been doing C++ for a relatively long time now. In other words, over a quarter of my life (I'm only 20). Of course, I'm no guru, and there's plenty of people out there that have been programming in C/C++ since the language's founding.
I know I'm not an expert. There are still plenty of situations where I have to stop and think about what I'm supposed to be doing before I can write it out. The latest thing for instance was bitwise operations in C/C++. Other things I have little experience in include stuff like practical use of complex data structures, templates, multiple inheritance, and the use of things like the Win32 API, and so on.
But, I know I'm not a complete noob. I can usually immediately realize what to do when I need to in a C++ program. I like pointers, and I have used things like data structures in real, practical ways from time to time. I can't remember the last time I couldn't get a hobby program to work.
Likewise, I've seen plenty of 1 out of 10 quality coders before. I had to work in a group for a final coding project in my last programming class, and the results were a little scary. I wouldn't rate my group mates at 1/10, but probably around 3/10. They knew C++ syntax okay, but they didn't seem to know how to use the language, or really even how to program effectively. Way too much time debugging simple things that could have been solved in ten minutes with the proper use of a debugger, no idea how to organize the program (i.e. three or twenty classes?).
The fact that I ended up writing almost the entire thing myself (a client-server model game) reaffirmed to me that I'm not really that bad of a programmer.
I have been programming(in some language) for about 5 years(and I'm currently only 16) and I think only now am I capable of *finishing* projects...
I think I program pretty well, I usually can make simple things compile once and it work first time, and I am fairly fast at learning new stuff... for isntance, I taught myself (by trial-and-error, no manual or anything) to program TI-BASIC...which I am still amazed that I have learned...
But I have coded about 5000+ lines on my x86 emulation project(single handed) and it works quite fast, and is in C++, so I think I'm at least an OK programmer, if not a good one...
I think I program pretty well, I usually can make simple things compile once and it work first time, and I am fairly fast at learning new stuff... for isntance, I taught myself (by trial-and-error, no manual or anything) to program TI-BASIC...which I am still amazed that I have learned...
But I have coded about 5000+ lines on my x86 emulation project(single handed) and it works quite fast, and is in C++, so I think I'm at least an OK programmer, if not a good one...
-
- Posts: 12
- Joined: Wed Dec 19, 2007 6:40 pm
I think I am probably much like many hobby programmers in that while my command of my language (Pascal) is great, my ability to actually finish things is not.
I have written many complete things, however many of my larger projects have simply not been finished, For example I have been working on a compiler for about 6 years, I have rewrote the language at least 10 times and rewrote the compiler probably 30 times. I get the feeling it will never be finished.
I have written many complete things, however many of my larger projects have simply not been finished, For example I have been working on a compiler for about 6 years, I have rewrote the language at least 10 times and rewrote the compiler probably 30 times. I get the feeling it will never be finished.