Live data from Hacker News

What Level Programmer Are You?

whattofix.com

41–50 of 68 posts

Re: What Level Programmer Are You?

#42
post #30

This same idea seems to crop up every month or so on HN, and it just seems like ego stoking. My friend is learning to program with a functional language. Does that automatically shoot him up to level 9?

Well it's part ego stroking and part just a normal wondering of how one stacks up to others who do the same thing. For me it's also part learning experience. For example, I know Carmack is a much better programmer than I am, but having never seen him program or his process it's hard for me to put it into concrete terms other than he's better. But what does better mean? Faster, more creative, more X? Knowing the details of better is how I can build a plan to improve.

I also liken the fascination with ranking to when I thought I was pretty fast running a 5 second 40yd dash. Of course I had read about or seen sub 5s of other people, but until I finally ran next to a D1 track athlete it was a foreign concept just how much faster he was. Once again, putting something into concrete terms helps people understand where they rank.

Re: What Level Programmer Are You?

#43
post #36
post #17

I would say I'm close to 7, with a lot of peeking ahead toward levels 8 and 9. It's an interesting way to look at prowess. Instead of looking at specific languages/technologies, we look at the progression of understanding. Ie how rich, efficient, and effective the programmer's mental model is. What's a good salary aspiration for someone at this level who's situated in Sweden? I am currently making nowhere NEAR the lu…

> I am currently making nowhere NEAR the ludicrous fantasy sums (ie $100k+) that you Americans consider to be a human right but I'm thinking I could aim higher. When comparing USA and €U salaries, you always have to factor in all the things you basically get for more-or-less free like complete medical care which you are paying ridiculously little for, way less than the amount of money you actually need in case of a s…

Thanks, great feedback.

What are some highly specialized niches that I could look into for consulting?

I actually don't care that much about money, in absolute terms. I care about maximizing my free time and maintaining a somewhat decent standard of life. Ideal scenario for me: a high hourly wage + the freedom to take on work in whatever chunks I prefer.

Re: What Level Programmer Are You?

#44
I don't really get this stuff. Building stuff that's considered to be hard are actually the things I learned when starting out with programming. Things like a driver, a boot loader, a compiler aren't things that are harder than any other piece of software. Of course everything gets hard when you go beyond the basic stuff, but I never got why people that program in C++ or Java (usually) tend to be so arrogant when it comes to these things. Assembly isn't hard and building an interpreter or compiler also is pretty simple. The thing that's really hard when programming is the "maintenance" stuff. Be it a web application, an operating system kernel, a compiler, video game or an IRC client. Implementing the feature itself usually isn't that hard. Fixing bug is, finding the right balance between performance and simplicity is too. Oh and progressing without breaking API or ABI compatibility.

It usually not important what paradigm you follow. I myself like languages like Perl, where I can choose what way I want to go. Also functional programming languages like Haskell are awesome for building interpreters, but really I consider Assembly to probably be the easiest language there is and everything should start with it, especially C or C++ programmers, because it will prevent you from making assumptions that are wrong and prevent stupid code.

Also looking at different languages is fun and everything that is considered hard is usually lots of fun. Haskell and Assembly are the best examples.

About research. If you don't do the same thing over and over it's always a way of researching things. Most people building awesome stuff are people connecting things that haven't been connected by now.

What I want to say in short is that I don't see how these "levels" can ever fit to anyone. Also I don't get what paradigms and well, everything thing listed fits the term "level". It's about what I thought when I had even less of an idea of what programming is about. I am still exploring stuff and am a complete beginner. I never had a serious project. I just hack (as in writing bad code) some scripts together.

Disclaimer: I know I am a bad programmer, if you can even call me one at all. I have a very idealistic view on things.

Re: What Level Programmer Are You?

#46
post #18

I disagree with the premise of this article. By trying to differentiate the different "programmers" by nothing other than their skill , he is ignoring the fact that you simply shouldn't group together low-level chipset programmers with PHP programmers with LABview drag-and-drop-individual-components programmers with computer scientists who also happen to be programmers. These people are fundamentally different, and t…

I agree completely. I work on high performance C API's. Most of the code I write is as close to the silicon as possible because of that. So where am I? Not level 7, because our OO design doesn't have the performance we need.

But I've never done anything in the web space, which means I don't actually qualify for level 1.

Re: What Level Programmer Are You?

#47
post #37

Seems naive. I came up with an engineering scale that I think is pretty solid, at least over the 0.5 to 2.2 range. http://michaelochurch.wordpress.com/2012/01/26/the-trajector... . I'm only about 1.7 so beyond about 2.2 I had to start using "bigger and badder" type definitions because I could only delineate those levels based on visible accomplishments, not experience or observation. Also, it's more of an "liberal ar…

You know, one thing I like about your system is that you aren't at the top of it. I have to question peoples' motives when I see an article like this where they're clearly at the top of the hierarchy.

I developed the scale because I found myself frustrated by "95th-percentile" syndrome. I noticed that, from when I started programming to now, I always considered myself around 95th percentile. And so did most other programmers I knew, whether they were "objectively" 80th or 99.5th. Which meant that these percentile-based self-assessments were worthless.

Similarly, if I were at the top of the scale, that would show a lack of imagination on my part, and also make the scale worthless in a "I won at a game where I just wrote the rules" sort of way. Personally, the territory that's most interesting to me is 1.7 to 2.2, because that's what I intend to be covering over the next 5-10 years.

People tend to estimate themselves as average within what they consider their peer group when comparisons are difficult or impossible to make (and the fact is that it's really hard to compare two programmers). So I think the 95 comes from the fact that it's "common knowledge" that 90% of "programmers" are incompetent.

Of course, these percentiles depend on a population and competence distribution that are by no means immutable, which makes them meaningless as technologies evolve and more people come into software, so I needed a scale for professional development of an engineer based on general knowledge and approaches. The actual 95th percentile is probably around 1.5 on that scale, but that's just a wild guess.

I'll still use "5-percenter" (loosely; no clue what the actual percentage is) to describe an elite set of programmers, but that has more to do with attitude, bearing, and trajectory than present-time skill. For example, the guy who picks up SICP because he's topped out and bored at his Java job is probably only 1.2-1.3, which is not yet 95th-percentile, but he's a "5-percenter" because he has the attitude and has found the resources that will make 1.5 likely and 2.0 possible-- which wouldn't be the case if he stuck with his same-every-day enterprise Java job.

Re: What Level Programmer Are You?

#49
I don't accept that there's one track.

I know scientific programmers who still use FORTRAN and write incredibly fast programs in a domain that's much harder to get things correct than you think.

On one level these people are "geniuses" but many of them would be completely lost if it came to object-oriented programming or relational databases.

As for the computer scientist, he's an odd animal.

I remember a time when I got a program that did something almost magical from a guy who's a household name in machine learning and CS instruction. It turned out this program crashed before getting into main()! On close inspection the problem was that he was allocating a huge array statically that he never used! This worked OK on the 64-bit monster he was using, but would kill any 32 bit machine.

My experience is that code written by computer scientists is very rarely suitable for commercial use because computer scientists usually aren't professional programmers. They get rewarded for writing papers instead of writing programs, so a succesful endpoint for them is producing some artifacts that would demonstrate how the program would have worked if it really worked.

Re: What Level Programmer Are You?

#50
I think in an effort to categorize himself, the OP has created layers of knowledge that only apply to him.

Personally, my expertise slides up and down all of these types, proving you can't really nail this one down.

There are going to be those who write to automate, write for design sake, write for scale, etc. Even saying that is a bit of a misnomer because there are so many facits that incorporate one or many of those functions.

Post reply on HN