Live data from Hacker News

What Level Programmer Are You?

whattofix.com

31–40 of 68 posts

Re: What Level Programmer Are You?

#31
I think the only "level" you should really care about and isn't on that list: being fluent enough on all systems, APIs, libraries and infrastructure you are connecting to or using so you ultimately do not really care all that much which language you are programming in, on which system and OS and even if you didn't know the system or language all that well to begin with, you would still manage to become fluent and productive in it in reasonably short time.

It takes experience and some understandings of the fundamentals of computers, software and networks and some curiosity and will to find things out and better yourself but if you want to be a programmer and even work as one, then this is what you should aim for... be "fluent" enough on (almost) all OSI layers so you can figure things out and understand what is really going on and whatever very-specialized knowledge will be required at a certain point in time, you will be able to figure it out and pick it up along the way because you will have the broader overview and understanding to connect things.

Level 5 sounds close but still too limited still.

Re: What Level Programmer Are You?

#33
I think the most interesting element was the idea that as you become more abstract you get a target audience of those who are less abstract. Sometimes it seems like programming (with the start-up space in particular) is a kind of pyramid scheme where you advance to create nicer tools for the people who are less advanced. Of course there are plenty of other ways that start-ups and programming are not like that, but it's a really interesting lens through which to view a lot of the news that is popular on HN.

Re: What Level Programmer Are You?

#35
post #8

I think Donald Knuth, who must be placed at the Mystery Level, never went through the functional phases. http://homepages.cs.ncl.ac.uk/m.j.bell1/blog/?p=49 DK on the subject of functional programming: “Out of the ~250 programs I wrote last year, 2-3 would have benefited from being written in a functional style.” DK on the subject of functional programming: “With 1 or even 2 hands tied behind your back it’s hard to do…

Knuth is a competent mathematician, though; that's closer to the core of functional programming than most languages get.

Re: What Level Programmer Are You?

#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 serious illness - plus social insurance, more than twice as many vacation days than the average USA employee who just started out, plus way more restrictive labor laws, plus some sort of retirement money the government pays you (at least still for now) and paid sick leave. Then factor in the money USA employees have to spend to "keep up" with the on-average higher working hours - ever wondered why there are so many convenient services for practically everything in the USA that we Euros can only dream of? And ultimately you have to factor in costs of living in the valley or surroundings which are way higher than over here and way higher than in most other places in the USA.

Ultimately, I think this level of proficiency might be hard to sell in an interview because employers care about what you can actually do and if they want a Java or C genius, then they probably don't care that much that you could "write a library" but have no working experience in the languages they are requesting. But if you can plausibly sell them on your broader view and understanding of all things IT, ideally backed by some sort of study and degree, that might work but I am sure it would also depend on the position you are applying for.

You want to make close to or more than €100k as a programmer/it-expert in Euroland? Shouldn't be too very hard, either find a fantastic niche and work it and/or combine that niche with consulting work... I think the unfortunate truth is that unless you are some sort of coding rock star and/or become technical lead or something like that, just being good at writing lines of code in an arbitrary language isn't such a highly paid job anymore. Make that some obscure language for a very specific system, ideally serious-business system, somehow directly business/profit-related and all of a sudden you have leverage. A lot of the old host neckbeards are retiring or, excuse me, dieing out and I have to yet see a bank or stock exchange that runs completely without those old "legacy" systems and has successfully migrated 100% away from them. So, time to polish your COBOL and what-not skills, get some working experience there... I am sure you could find a LOT of happily paying customers with all sorts of software running on some host system and they no longer have anyone who knows what is going on. Or look into the myriads of software systems surrounding banks and stock exchanges in general. It's all just some software and a lot of it is pretty damn terrible but the prices customers have to pay for using it and for support is still ridiculous plus you have a niche with lots or a couple of customers pre-made for you.

If you like working as a consultant and carrying all the risks and benefits, then 5-figures a MONTH aren't a fantasy or wishful thinking but of course you are giving more than just your work and you are "paying" in other ways.

Just don't expect you will be making more than €100k just because you are so much better at LAMP than Johnny at age 16.

Re: What Level Programmer Are You?

#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.

Re: What Level Programmer Are You?

#38
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…

Agreed and to expand on this, there's a big difference between the advanced architect who takes a year to build an incomprehensible framework, and the multi-paradigm programmer who solves problems efficiently.

Re: What Level Programmer Are You?

#39

Earlier quoted context omitted.

Of course, the problem here is that by making that statement, you are both trying to wisely speak about programming ability while still claiming it's mostly unknown to you. Both bases effectively covered. Score! :) It's just a blog entry with observations. I make no claim on being an expert or creating the next standard. Just throwing some ideas out. I knew this would generate a bit of a stir on HN, so I thought it w…

I'm sure those who have wrote complex scripts would probably disagree with you. Do you know what writing complex scripts in equally complex environments entails? I sure don't, therefore it makes me sufficiently unqualified to determine "meta levels" (whatever that means) for that skill. Unless you are deeply familiar with both, i'm not sure how you can say one is higher then the other.

Complex scripts?

I hit the "reply" button to tell you that no, no amount of "complex scripting" is as mentally challenging as developing a Turing complete language.

But maybe you mean scripts as any program? In that case, I agree that developing things like, I don't know, database engines and file systems and such are equal in complexity to developing a language.

I suppose the only caveat is that those things are usually teams -- sometimes huge teams. A language is often a 1-man or small team effort.

Re: What Level Programmer Are You?

#40

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…

I was mostly agreeing with you until you starting on the technology bigotry.

> Because while the Java+IDE environment makes it extremely difficult for an individual engineer to have a 1.5+ impact –there are two cases in recorded history of programmers breaking 2.0 in Java; one is Martin Odersky, who wrote Scala, and the other is Rich Hickey, who wrote Clojure

What about people like Doug Lea and Josh Bloch? What about people like Trustin Lee? Why do these people not qualify as 'multipliers' in your framework because of their choice of technology?

The idea that using a single technology or approach - in your case a functional language and not even a functional style - would be the difference between an adder and a multiplier is simply absurd.

And then you go on to say:

> This is because the Java+IDE environment, and operating systems like Windows, are designed to bring up the rear (0.7 to 0.9) while holding back the best programmers, artificially imposing that “ceiling” around 1.2-1.5

You have now introduced a definition which implies that the designers behind projects like the Windows kernel, MSSQL, and Kinect are a lower level of programmers because of the technology they use or the company they chose to work for. What about many of the really useful sites and services that are served from Windows (or Java running on Windows, gasp!) or the innovative and world-changing pieces of software which are primarily developed for Windows? Excluding all the people behind those from being upper levels seems like a stretch.

> these technologies are intentionally designed for a performance-middling effect– to make it possible for huge teams of “commodity” developers to produce something while holding the excellent back from producing great things.

This is the core of my problem with your argument. I can think of many more things I would call great that used technologies like C++, Java and Windows than used technologies like Lisp, Scala and Clojure.

> Functional programming is a shibboleth of good (1.5+) engineers because it's usually what they first learn as they break through the 1.2 ceiling observed in Javaland (since Java and enterprise programming actively work to prevent people from having multiplier effects).

You are simply wrong about this. There are many marks of a good engineer. An interest in different programming paradigms is one of them, for sure. To call functional programming a 'shibboleth of good engineers' seems to exclude too many people I would call good engineers to be a good or even useful measure. I would go as far as to say that, for above average programmers, interest in and use of functional programming is orthogonal to their contribution and skill.

I have been lucky enough in my career to work with many great engineers, leaders in their fields, who have chosen to use the technologies you deride and are therefore forever stuck at the lower levels of your hierarchy because of those choices.

(On the other hand, I may have just fed the troll).

Post reply on HN