How well do you program?

All off topic discussions go here. Everything from the funny thing your cat did to your favorite tv shows. Non-programming computer questions are ok too.
User avatar
crazygray1
Member
Member
Posts: 168
Joined: Thu Nov 22, 2007 7:18 pm
Location: USA,Hawaii,Honolulu(Seriously)

How well do you program?

Post by crazygray1 »

Just wondering, how good does every one consider themselves to be of a programmer?
Codname: Cipher
Working On: Design Doc(CFFS file system)
User avatar
mathematician
Member
Member
Posts: 437
Joined: Fri Dec 15, 2006 5:26 pm
Location: Church Stretton Uk

Post by mathematician »

Modesty prevents me.
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Post by Solar »

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.
Every good solution is obvious once you've found it.
User avatar
Colonel Kernel
Member
Member
Posts: 1437
Joined: Tue Oct 17, 2006 6:06 pm
Location: Vancouver, BC, Canada
Contact:

Post by Colonel Kernel »

There are several things I consider when judging my own coding ability:
  1. How long it takes me to implement a given component from specification to all tests passing.
  2. 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.)
  3. How many bugs are found in test, and later in maintenance.
  4. (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. ;)
In my experience doing well on #2, 3, and 4 has a negative impact on #1. Sadly, even though it is still more cost-effective to do it right the first time, higher-ups often don't see it that way.

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:
  1. Too much overtime at work
  2. Got married
  3. My brain got stuck in an infinite loop while trying to design the memory manager
Don't let this happen to you!
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Post by Combuster »

I would probably say as much as "I wrote a 3D platformer, a raytracer, and built a website for helping people train basic maths, so I guess I'm decent at it"
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
User avatar
AJ
Member
Member
Posts: 2646
Joined: Sun Oct 22, 2006 7:01 am
Location: Devon, UK
Contact:

Post by AJ »

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
User avatar
JamesM
Member
Member
Posts: 2935
Joined: Tue Jul 10, 2007 5:27 am
Location: York, United Kingdom
Contact:

Post by JamesM »

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.
DeletedAccount
Member
Member
Posts: 566
Joined: Tue Jun 20, 2006 9:17 am

I think i am alright ...

Post by DeletedAccount »

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 8) 8) ... ] .... 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 :P ) ... 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 ...
Zekrazey1
Member
Member
Posts: 37
Joined: Sat Mar 10, 2007 8:28 am

Post by Zekrazey1 »

User avatar
Alboin
Member
Member
Posts: 1466
Joined: Thu Jan 04, 2007 3:29 pm
Location: Noricum and Pannonia

Post by Alboin »

I'm pretty much in the same kayak as AJ.
C8H10N4O2 | #446691 | Trust the nodes.
User avatar
piranha
Member
Member
Posts: 1391
Joined: Thu Dec 21, 2006 7:42 pm
Location: Unknown. Momentum is pretty certain, however.
Contact:

Post by piranha »

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
SeaOS: Adding VT-x, networking, and ARM support
dbittman on IRC, @danielbittman on twitter
https://dbittman.github.io
User avatar
Telgin
Member
Member
Posts: 72
Joined: Thu Dec 20, 2007 1:45 pm

Post by Telgin »

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
Sums it up for me too, I guess.

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.
earlz
Member
Member
Posts: 1546
Joined: Thu Jul 07, 2005 11:00 pm
Contact:

Post by earlz »

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...
thegreatseph
Posts: 12
Joined: Wed Dec 19, 2007 6:40 pm

Post by thegreatseph »

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.
User avatar
Zacariaz
Member
Member
Posts: 1069
Joined: Tue May 22, 2007 2:36 pm
Contact:

Post by Zacariaz »

in terms of skills/talent/whatever you wanna call it, i would rate my self fairly high on the scale, as for knowledge and dedication i am, unfortunantly pretty low on the scale, which is atually worse than if it were the other way around i think.
This was supposed to be a cool signature...
Post Reply