11 ms·
We asked 15,000 people how they're learning to program
- quincyla 10y agoThe full open dataset here: https://github.com/FreeCodeCamp/2016-new-coder-survey https://github.com/FreeCodeCamp/2016-new-coder-survey
- hunterwerlla 10y agoI know code camps are usually web focused, but I'm really surprised about the lack of any lower level, desktop, or non web back end options for "which roll are you most interested in". Coming from a CS background I was also surprised that more people were interested in front end web development than back end web development, because most of the people I interact with hate front end web development with a passion.
- sdegutis 10y agoWhen people want to learn how to create something, usually it starts off as imitation. "I want to make a video game just like Mario!" "I'd love to learn how to make a social network just like Twitter!" "I'd like to learn how to make a desktop app just like iTunes!" "I want to know how to make a programming language just like Lua!" But the majority of software people use these days is web-based, even the desktop versions, from Facebook to Spotify to Twitter to Snapchat or whatever that's called. (I'm dating myself aren't I?) So it makes sense that people getting into programming want to learn how to make web stuff first. But as they get deeper into learning how to make some website, they'll necessarily need to learn how to make the stuff that goes with it, like a backend server that uses a database, or a companion iOS app, or whatever.
- santaclaus 10y agoWouldn't this lead to a lot of mobile-first developers as well, though?
- thesimon 10y agoAt least getting an basic introduction into web development (basic HTML, CSS, maybe PHP and jQuery) is probably a lot easier than mobile development. Setting up IDE's, learning about OOP etc is probably harder than throwing some Bootstrap components together.
- passivepinetree 10y ago> desktop app just like iTunes Ha. Haha. Hahaha.
- khedoros 10y agoI come from a CS education and a professional background that's not focused on any kind of web technology. I guess that I'm accustomed to the idea that most new devs aren't remotely interested in the areas of technology that I am, because the survey results didn't surprise me very much. Eventually, I imagine I'll be forced to move at least into web back-end development with a modicum of front-end thrown in, but I can't imagine that ever being my main focus.
- Swizec 10y agoAs someone who comes from a CS background, spent many years as a backend web developer, and is now focusing mostly on frontend ... ... I go where the complexity goes[1]. In the age where most [web] backends are just glorified DB wrappers with an API, and the main app is on the frontend - I'm gonna stick to frontend, thanks. Although it's starting to look more and more like I should rekindle my interest in non-research[2] machine learning and AI. [1] complexity and users, really. You could call it "the market" [2] with much regret, I have discovered that I am too impatient/dumb/product-focused to do well in research.
- marssaxman 10y agoI sometimes wish I could just go where the market goes, but I can't. I've never learned how to aim the analytical engine in my head, only to figure out where it is pointing, so I can try to put myself into a job where someone will pay me to think about whatever it is that I am apparently going to be spending my time thinking about next. Nothing about the web inspires me or engages my attention, which has left me wondering lately whether I'm still in the right industry. Not sure what else I could reasonably do for a living, though, since I doubt my brain is going to stop working on software problems whether I'm still getting paid to work on them or not.
- chlee 10y agoFront-end programming is very visual. You can immediately see/sense/feel what you have developed/program, so there is a expedited positive feedback loop. This can appeal to beginner programmers because it gives a immediate sense of satisfaction and accomplishment vs. backend programming where you see lines of output spit back to you in a terminal.
- kuhzaam 10y agoThat's interesting, as I feel the opposite. I am a front end dev for a large eComm company, but do a lot of back end programming and scripting in my free time. The reason I love programming is problem solving. I have the most fun doing coding challenges, and get the most immediate sense of satisfaction and accomplishment when I write an algorithm that solves a test case. Although my day job is primarily "application level" JS, I am least happy when I have to do the visual things, like adding new templates with HTML/CSS. To me, design tends to be too subjective (if I'm going to do it, I'd much rather have someone provide me with a design PSD), and it tends to feel monotonous/tedious. I guess that's why I'm considering moving more into back-end development.
- technomancy 10y agoI wonder how much of this is because they are simply new to the field. Front-end stuff is more immediate, and immediacy is appealing. Back-end stuff has you spending less time worrying about compatibility headaches and all the non-problem-solving rabbit trails, but if you haven't spent a lot of time programming, you might not realize this and just assume that the level of headaches doesn't vary much.
- collyw 10y agoThats what I thought. Front End involves knowing a lot of quirks between browsers / css / JS and I find it a lot less about solving problems in an abstract way. Instead its solving "why does this display this way one one machine and another way on that machine" problems.
- k__ 10y ago
- marssaxman 10y agoYeah, wow - if all CS work consisted of web development, I'd have dropped out of the industry years ago.
- draker 10y agoI have been teaching myself programming and feel front end is really the only way in without formal schooling or extensive self study. "Full stack" was the most popular in the survery and I feel most code camps teach "full stack light"; enough to put up a site using RoR or Node back end/JS front end framework. I would love to get a job doing backend development and have worked through some CS moocs and I just feel like there are so many things I don't sufficiently understand to even be considered for a backend position. I could probably handle a "full stack light" position, but get overwhelmed when I try to really understand everything going on instead of just accepting "use this gem".
- bduerst 10y agoWhy didn't they ask which languages they're trying to learn?
- santaclaus 10y agoI was surprised to see no mention of game development as what drew one into coding. Half the cats I've worked with got bit by the programming bug initially wanting to make games.
- shurcooL 10y agoYep, that was me. Now I'm more into making helpful tools, but games are a fun side hobby.
- sharkweek 10y agoJust to be unnecessarily argumentative, I think video games ARE helpful tools for a wide variety of reasons =)
- danielhooper 10y agoThis is somewhat true for me. My first exposure to coding was with Action Script back when I was animating stick figures in Macromedia Flash, which led to me discovering what CSS/HTML were. I never went anywhere with it at the time, I must have been like 8 or 9 years old, but I like to think it's helped lead me into my role as an iOS developer.
- lucb1e 10y agoGame Maker is what got me started after MSIE 5 let me down - only like ten years later I discovered MSIE did in fact have an error console to show you what you did wrong, making it not completely trial and error! So did creating games pull me into programming? Hmm, kind of, after another avenue failed. But I certainly recognize what you mean, I also know many people who'd love to make games full time (and some do! Just not all, not enough demand).
- hkmurakami 10y agoThe survey says that the median age of respondents was 27 and on average they started programming 11 months ago. They didn't give a standard deviation, but presumably there are not many who are in their early teens. I say this because the cohort you describe will have started playing games at a younger age, and would have self selected itself out of this survey by venturing into small time game development on their own at an age younger than the survey respondent demographic.
- DLR 10y ago"21% are women" Why mention this statistic?
- marssaxman 10y agobecause the dearth of women writing code has been a huge, widely-reported problem for several years now, perhaps?
- oracardo 10y agoTo show that the data collected in this survey is biased towards answers by men.
- jff 10y agohttps://d262ilb51hltx0.cloudfront.net/max/800/1*HsD7w8Y1rQL9qIMP1B426g.jpeg https://d262ilb51hltx0.cloudfront.net/max/800/1*HsD7w8Y1rQL9... Looks like my job is secure, then
- marssaxman 10y agoWow. I've had what has felt to me like a varied and interesting career across the nearly-25 years I've been writing code for money, but with one small exception everything I've ever been paid for fits within this survey's "other" category. That's... an odd feeling.
- bbcbasic 10y agoAmazing free market research. I am going to make good use of this :-). Also note there are 2 links to other free research in the github repo.
- justinlardinois 10y ago> Most of them are already applying for developer jobs, or will start applying within the next year. I think the possible answers for this question bias towards that conclusion. Out of the five options, four refer to a time frame between now and a year from now. Also, for the "Which learning resources have you found helpful?" I'm surprised that the official documentation for the language one is learning and "random tutorials I found on Google" aren't options. I know that's how I initially learned to code, and I was under the impression that it was somewhat common.
- deleted 10y ago[deleted]
- sotojuan 10y agoYou'd be surprised as to how many people do not read the official documentation for the tools they use. They'll spend time on Google or Stack Overflow rather than a minute in the official docs—even when they're great (e.g. Rails guides).
- teach 10y agoWell, in their defense, most documentation is terrible. You get used to being able to find something in two Google searches that you couldn't find in five minutes looking through the docs.
- zacmps 10y agoShoutout to the golang docs, they're actually amazing.
- sotojuan 10y agoTrue. It's something we have to improve.
- justinlardinois 10y agoI suppose it depends on what languages you use. The docs for C++, Java, PHP, and the man pages for C have all been very useful to me. Python is terrible.
- chlee 10y agoOn a tangential note. I've spoken to a few hiring managers who have expressed disappointment with some of the hires that they have made straight out of bootcamps (w/o prior CS knowledge or fundamentals). Specifically, the bootcamp graduate are smart, motivated, and know their specific toolsets well. However, they tend to struggle a bit if you place them outside their comfort zone. Is this a sentiment that others have heard through their work colleagues or friends as well?
- DarkTree 10y ago>However, they tend to struggle a bit if you place them outside their comfort zone. I mean.. yeah, I think you could say that for most people. I would also think that when hiring a bootcamp graduate you would already have some inherent bias, almost like you are waiting to find their weaknesses. Basically, it's easy to place the blame for their struggle on their bootcamp degree, when it could really just be that it would be hard for anyone. Just a thought
- draker 10y agoThis is something that has made me hold back from applying for development positions. I like to really understand the how and why of things (and feel like that is what expected of a developer), which is why I started learning CS concepts after being frustrated following tutorials/books that just asked you to follow the specific steps for the framework. I have done Harvard CS50 and am working through Berkeley cs61a (with the goal to then do 61b/c), the Stanford database class and reviewing maths on Khan academy. I'll likely apply for a front-end position first even though I enjoy back-end more because I don't feel like I am at the level that is expected of a back-end or fullstack developer.
- sotojuan 10y agoI've heard the same thing about college graduates with minimal or no experience (no internships, for example).
- deleted 10y ago[deleted]
- 10y ago
- MollyR 10y agoIt's funny. I'm seeing this, while I'm thinking about dropping out of this career. I don't want to be one of those girl dropout stats, but lately I'm feeling a desire to start a family. fwiw I just passed 32 and I don't know if I want to do programming/software engineering jobs anymore. I'm hoping its just a phase.
- deleted 10y ago[deleted]
- leeoniya 10y agoIronically, it's an ideal profession for staying home while raising kids :)
- 35bge57dtjku 10y agoI'd definitely go with a family if I had someone to support me. You can always program more later.
- pasquinelli 10y agohey, i turn 32 today. i'm also feeling dissatisfied with being a programmer. i don't think it's a phase though. honestly, i can't remember a time that i've been satisfied with my situation.
- RALaBarge 10y agoWhy do you think that is? Have you spent much time thinking about what would make you happy?
- PavlovsCat 10y agoBy wanting to do something, then finding out how I need to do it. I never learned anything just to learn it, it was always for direct use. Once I made a bunch of Renoise plugins in LUA. Never had used LUA before, never used it since, I don't know any LUA. I know what I use while I use it, so to speak. So I don't really know if I ever "learned programming", I probably wouldn't call myself "programmer" and surely not developer.. I just do things until I have what I want and it works. With things I make up and expand as I go along, until I realize I need to restart from scratch with a better structure. And of course, that I like simple things helps :) The code always has some (cough) messyness to it.. but the next thing I start, is usually a bit cleaner and better organized from, because it incorporates what I learned in the previous adventures.
- kraftman 10y agoIt's 'Lua' btw.
- leggomylibro 10y agoI'm surprised at the education numbers; out of the respondents who attended university, 22% studied either Computer Science or IT. Reading their 'how we made the survey' piece (1), it looks like they asked for responses across a wide variety of media and only branded it as a 'New Coders Survey'. So I have to wonder if they caught a bunch of people with traditional computer science education in their net. That would definitely skew the data considering the sort of conclusions that they're trying to draw about coding bootcamps. (1): https://medium.freecodecamp.com/we-just-launched-the-biggest-ever-survey-of-people-learning-to-code-cac81dadf1ea https://medium.freecodecamp.com/we-just-launched-the-biggest...
- gjkood 10y agoIn the Demographics and Socioeconomics section, I see 1% of respondents speak Chinese, and no data shown for China in country of citizenship. Also it says 8% have served in the military and a picture showing what I presume are soldiers in the Chinese military (I could be wrong). Is it that there are few survey respondents from China? Is the survey accessible from China or blocked by the great firewall? Just curious since the numbers seem very low and I presume there should be a far greater percentage of Chinese respondents purely by population demographics.
- quincyla 10y agoThe survey was accessible behind the great firewall. We had 88 responses from Chinese nationals. 137 respondents were native Chinese speakers. We're still working on building a sandbox for the dataset, so I can't answer your questions at the moment, but you're welcome to dive in to the data. Or you could create a GitHub issue asking this and we'll try to create a visualization: https://github.com/FreeCodeCamp/2016-new-coder-survey/issues/new https://github.com/FreeCodeCamp/2016-new-coder-survey/issues...
- wc_cs 10y ago> 58% have earned at least a 4-year college degree. In the UK (possibly other countries), you can get a Bachelor's degree in 3 years.
- gjkood 10y agoIt's the same in India. Most Bachelor's degree are 3 years, but a degree in Engineering, which is also a Bachelor's (BS/BTech) is roughly 4 Years (8 Semesters) long.
- quincyla 10y agoThank you for pointing this out. I wrote this late at night and forgot about regional differences in degree duration. I've corrected this.
- rifung 10y agoActually you can do this in the US too, but they are still called 4 year colleges here.
- ciaranm 10y agoIn Scotland, most* Degrees are 4-year courses. *technically, the 4th is an 'honours' year, and you can graduate without honours after 3 years. This isn't that common for people who aren't struggling.
- dudul 10y agoInteresting to see that only half of bootcamp attendees actually found a job. That's not the kind of stats these camps like to advertise.
- mverwijs 10y agoBut than again, this is not your average bootcamp. From the FAQ: "What is Free Code Camp? We’re an open source community that helps you learn to code."
- forrestthewoods 10y agoI Wish their data set wasn't so biased. 72% of respondents found freecodecamp helpful? Well that answers almost everything about who they're talking to! Doesn't seem like a fair representation of people who are learning to code. There are 40,000 computer science graduates per year. So perhaps 160k to 200k CS majors at any given moment. Those people learning program doesn't seem to be represented at all in this survey.
- quincyla 10y agoThese are all things you can filter for in the data. 13% of respondents, for example, were computer science grads, so filter just for them and you still have what will be statistically significant dataset for most questions.