Hacker News new | ask | show | jobs
by Debonnys 2228 days ago
One statistic that stood out for me was "Professional coding experience":

< 1 year: 29%

1-2 years: 20%

3-5 years: 20%

6-10 years: 14%

11+ years: 17%

--

That means almost half of the respondents have 2 years or less professional experience with python. Not sure how that influences all the other results.

6 comments

Due to roughly exponential growth in the number of developers of all kind over last couple of decades it is true that at any point most developers have very little experience. I don't remember what was doubling time but I think it was more than two years but less than 5 years. It as also easy to see that the growth is already flattening out with some interesting repercussions in the near future (experienced/inexperienced developers ration finally getting better, etc.)

Doubling time shorter for python developers could be explained to be a result of python getting more popular (so even though programming gets more popular as a job, python grows even faster within developer community).

> Due to roughly exponential growth in the number of developers of all kind over last couple of decades

That is certainly true until ~2010, but I wonder if it still holds today. At some point it's got to taper off due to the global population being finite. Anyone got some data on this?

I interview a decent number. At least in my area, college grads have leveled off. There's still a ton of them, maybe 5% growth a year and a lot more applying for first jobs. But its a steady percentage.

There's been a huge jump in code camp grads. Gigantic. And unfortunately the vast majority are not great. We give them coding assignments first, otherwise there's just too many to even sort through. I would say over half are unable to complete the (very simple) coding assignment. Build 3 API endpoints in any language that can do a couple different sorts and limits of a static set of data in CSV.

I work in a large corp as a senior developer/tech lead. I interview 1-2 candidates every week. These are typically people who either passed screening or are already employed by an external company. Unfortunately, I have little influence on that process (remember... Big Co...)

Because I typically hire for more senior roles I get candidates with 5 years of experience at the minimum.

Roughly 4 out of 5 candidates do not know answer to ANY of these questions:

- What is virtual memory?

- Can you pass data to another process by passing a pointer to the data? (tricky, but generally processes have separate address spaces unless you put extra effort to have part of the space mapped to same address, using shared memory, mmap, etc.)

- Can you explain what is a breakpoint? (an instruction injected by debugging program that stops execution and causing an interrupt that causes OS to call debugger)

- Can a process allocate more memory than is physically available on the host?

- Is inserting random integers into a huge sorted array faster or slower than inserting into singly linked list (absent any indexes)? (Inserting to array list will require huge data copy but linear search over linked list is so much slower it will cause linked list to be slower than array every time).

- Please, write a program to group an input list of words into lists of anagrams.

Etc.

HN community is quite self selected. The average engineer I've met chose their career for the money and isn't interested in much that's not right in front of them
No hard data to share but there are 2~3B people coming online still, so I doubt the S-curve is leveling off yet.
The results may include a lot of people who don't consider themselves to be professional developers at all, such as myself. While I've been programming for almost 40 years, I've never been employed as a programmer per se. I've always used programming as a problem solving tool, though some of my code has gone into production, usually by default because there was no coder available or willing to take it up.

Oddly enough I first tried Python because of the "buzz" that it was getting on HN.

Do people jaded by years of experience fill out as many surveys?
Sounds like they have less than 2 years professional experience, period. That might influence other results even more when it's not about experienced developers who have recently started python, but about developers who have recently started their job.
Python is the language of choice for schooling these days. As Java once was. One could argue that Python is much better suited for it.

This may mean that low level language skills become rare though. Besides memory management, Java is kindred of C. Many years ago schools started students in Perl and PHP, eventually giving way to Java. Now they're back on dynamic languages. Will the pendulum swing back the other way when schools realize that graduates are missing many skills needed to work with lower level statically typed languages? I guess time will tell..

You could download the raw data and look at the results of those with more experience ;)