16 ms·
Developer Skills Report
- meritt 9y ago> And new generations are opting for YouTube to self-teach over books I'm definitely in the older generation because it's completely mind-boggling to me how someone effectively learns to code from watching a video tutorial. You can't flip back to a page, bookmark a link, copy text, zoom-in to see exactly what was done, etc. It feels like you're inherently missing out on so much you gain from a book or a text-filled website. MOOCs generally have a great UI/UX intermingling video, text content, and usually a REPL of some sort... but YouTube videos? Is this a huge flaw in my learning ability or is there some secret to effectively learning these sort of skills via video?
- wainstead 9y agoI don’t think it’s either-or. I find video tutorials incredibly helpful. I’m a fan of SafariBooksOnline where you get full texts and hours-long professional videos.
- megaman22 9y agoIf you're the older generation, then so am I, and I'm not even 30. Video is garbage, for me, and I really wish people would just write up their materials, because they are essentially useless to me in that format.
- meritt 9y agoDon't get me started about searching for how to configure/troubleshoot a piece of software and the best answer lives inside a 60-second video.
- newfoundglory 9y agoWebdriver.io literally has gifs of themselves typing in the terminal as documentation. Wtf.
- shrewduser 9y agoVideo to me is just to give you a rough orientation and a small amount of depth on a broad set of ideas. after i watch a talk about new features in [insert language] sometime later i'll be writing something and remember that feature, and off to google or github i'll go to find how exactly to imeplement it or the specific syntax.
- taneq 9y agoHorses for courses. Video tutorials are great for things where you have to find some obscure menu item, or otherwise perform a non-obvious "secret GUI handshake" to access a feature or perform a task. For learning to how to actually write code, they're awful, for all of the reasons you mention.
- deleted 9y ago[deleted]
- philipov 9y agoThat's what documentation and github repos are for. Video is for the discussion section. And you can seek to any point in a video you like. The best videos are organized as playlists of chapters, and/or contain a table of contents with links to that time in the video.
- catmanjan 9y agoThere are lots of secrets you can pick up watching videos. Books glaze over some details like IDE choices and how to set up dev environments, but you get to see all that watching someone code from scratch
- baron816 9y agoDon’t knock it until you try it. I’ve learned a great ton from YouTube videos or just watching the videos in sequence on Frontend Masters. Watching them at an increased speed let’s me cover a lot of ground very quickly. I also like writing down headers of important topics, and then going back and doing research on those topics and essentially trying to write a brief book in my own words on everything. Helps me get a deeper understanding, ensure I’m actually learning stuff, and be able to come back to things for reference. See: https://baron816.gitbooks.io/good-stuff-to-know/content/ https://baron816.gitbooks.io/good-stuff-to-know/content/
- dentemple 9y agoNot only that, but when the speaker starts going over "fluff" (or stuff you already know), it's easy to pull up a spare article or resource in another browser and multitask until we're back on track.
- dragonwriter 9y ago> Don’t knock it until you try it. I've tried it, and found video quite good for conveying emotional content, general high-level overviews, and general feeling of comfort with the shape of a topic, but quite bad at detailed technical information. That's not saying that they aren't useful: I find videos that provide overview of material provided in detail in a textual medium to be quite useful. But if I had to do one or the other alone for learning technical material, it would be textual media over video 100% of the time.
- JimDabell 9y agoI'm not sure it's generational. I've always encountered developers who prefer to learn from people rather than words. I think the difference here is that now that YouTube has come along these developers are catered to more, so the people who prefer to learn this way have a better choice. I don't really see any advantage to video over text / rich documents for learning development topics, and I see several downsides. But perhaps I'm biased, because I'm like you and very strongly prefer words. I expect improvements to the technology will help alleviate some of the downsides to video in the long run as well. Are there any video platforms widely used for developers that let you do a full-text search over the transcript for code and then jump to a point from a list of results? Because that at the very least is a dealbreaker for me.
- hinkley 9y agoMany of us learned in classrooms. At the end of the day you have to sit down at a keyboard and try things. How your filing your head before that I think comes down to the learning styles you’re comfortable with.
- iLemming 9y agoYou just need to know about these keys on Youtube: Pressing ">" speeds up the video, "<" - slows it down. "f" - toggles fullscreen, "c" - captions. You can be very fast reader, but you can't keep up with me when I'm watching videos in 2x.
- meken 9y agoVideos (and talks for that matter) are good a giving a quick over and showing you what is possible (i.e. getting you into a position where you know what you don't know). Books are good ways to dive deep into things you already know you want to learn.
- meken 9y agoVideos are dynamic. They are the closest medium currently we can get to pretending we're inside the presenter's head in real time (I'm thinking of khan-academy style videos). To experience how an expert solves a problem and the steps they go though is great and is hard to convey though a book (you would essentially need a flip-book or multi-step diagrams that get very big very fast and it's also hard to convey the temporal aspect of the process that's being explained).
- blt 9y agoInteresting - older developers like Swift a lot. There is a resurgence of C++ among younger developers.
- 0xcde4c3db 9y agoI don't know how or to what extent it's organized, but I've noticed a considerable effort promoting C++ per se (not scoped to a particular dialect/platform/product) in the past ~5 years. Outlets like isocpp.org and CppCon seem to have done a lot to raise the profile of the language.
- kamaal 9y ago>>There is a resurgence of C++ among younger developers. C++ is the only tool of choice for the time limitations online judges like hackerrank have. So most people submitting code there are basically writing it in C++. Also most people using C++ there are using a very minimal subset of C++, which would largely look like C with things like vectors<int> etc. That doesn't say anything about production uses of such languages.
- christophilus 9y agoYeah. I suspect you're right. When I've done HackerRank, I've done it in Clojure, but the handful of times that was too slow (due to boot speed, I think), I solved the problems in Go.
- baron816 9y agoThere’s no way that many people use VIM.
- hinkley 9y agoThere are dozens of us.
- derblitzmann 9y agoI am proudly one of those dozens.
- hinkley 9y agoMostly I use IntelliJ, but when I’m futzing on the commmand line I end up in vim. Couldn’t resist the joke.
- dgsb 9y agoOne Vim to rule them all, One Vim to find them, One Vim to bring them all and in the darkness bind them
- abledon 9y agoThe ones who use hacker rank do. All the other people don’t bother using a site like that they are just living their lives playing baseball and other things outside of the job
- phyller 9y agoThat one stat made me question the entire survey. There's no way so many people use VIM over Atom, Sublime, etc. Right? Someone reassure me here.
- azemetre 9y agoI've recently been having issues with Sublime randomly freezing and restarting (may be due to a package, but I'm not going to waste my time verifying what packages are misbehaving out of the hundreds I have installed), I've gone back to Vim. After setting Vim up for multiple environments (PHP, Go, Python, and JavaScript) it's now my daily driver. Maybe other people feel similar?
- bob4444 9y agoBeing an Emacs enthusiast myself, it always surprises me how much more popular VIM is. Is this because VIM is taught more in schools? Maybe because VI/VIM is typically installed by default on Linux systems?
- zdfjkhiuj 9y agoIt's tiny and ubiquitous. Even tiny VMs and embedded devices have Vim.
- bob4444 9y agoDespite this, in my experience, Emacs provides a more feature rich environment, comparable to an IDE, rather than only a text editor.
- matte_black 9y agoIt’s not about features. Vim is meant to be custom tuned through plugins until it meets your needs, after which no other editor will satisfy you.
- orangeshark 9y agoThe same can be said for Emacs with all the various packages and any elisp you write.
- xyzzy_plugh 9y agoIs it? I run a mostly stock .vimrc and no editor will satisfy me.
- just-me 9y agoI hope you're not trying to explain the value and satisfaction of customization to an Emacs enthusiast! The thing is an interpreter for Elisp, which the text editor is written and configured in. You can change the core functionality of the editor if you wanted, by writing some code in a buffer and pressing C-M-x. You can make it act exactly like vim if you wanted to. You can add line numbers on the side, better autocomplete for commands and searches, a git porcelain, new modes for different types of files. You can implement an IRC client, a browser, tetris, a file browser, or an email client; or you can just use the implementations that come included. You can spend a lifetime configuring Emacs, and if you have attained the ultimate configuration, you'll look back at the end of your life and realize that it was worth the thousands of hours you put into it. But if you have not, don't worry: you'll be reborn into the cycle constant suffering-due-to-inferior-configuration until you figure it out.
- hinkley 9y agoDear hackerrank: You can do scrollto or lazy load. You cannot do both. The table of contents is essentially nonfunctional on mobile.
- TheCowboy 9y ago> The biggest gap in knowledge is with JavaScript frameworks > Most often, employers want developers who know AngularJS, Node.js, and React. Am I overthinking this? When I've been looking for jobs, I've found the emphasis on JavaScript frameworks slightly perplexing and frustrating. I would assume that a competent web developer should be capable of quickly learning a framework. Having to know JavaScript, CSS, etc. to the level of passing a technical interview is already demanding. Learning one framework very well is another opportunity cost. Researching and picking a framework to invest time into, then building a project or two using this new framework is another. Keeping up with the world of JavaScript framework developments is a whole project in and of itself.
- tenaciousDaniel 9y agoI'm not sure I believe that "most often" employers want this. I did quite a few interviews last year, and I was freaked out because I didn't know any of the latest frameworks. I didn't even know Angular. But no one cared. As long as you understand the problem frameworks are trying to solve, then you're good. And btw, I interviewed with some relatively big tech names - Squarespace, Blue Apron, etc. Edit: most of them did list specific frameworks, but upon an actual interview, they revealed that they didn't really care if you had worked with it before as long as you understand basic MVC stuff.
- expertentipp 9y agoBelieve yourself being lucky or sheltered because over here it's "HOW MUCH OF EXPERIENCE DO YOU HAVE WITH ANGULAR WHICH VERSION OF IT WE ARE MIGRATING EVERYTHING TO REACT ALL FRONT END DEVELOPERS HAVE LEFT THE COMPANY WE ARE SENDING RIGHT NOW CODING CHALLENGE TO BE DONE IN RXJS!". Then rejection email regardless of solving the challenge or not. I think I'll start simply disconnecting on such calls.
- tenaciousDaniel 9y agoJesus, that's terrible. I do live in NYC, so my options are considerably greater than elsewhere. What a stupid set of requirements. Sorry you have to go through that. Really makes me want to stay at my current job for as long as possible. I'm not interested in that bullshit.
- dvt 9y ago> What’s the biggest challenge when hiring talent? "Hard to assess skills before onsite" -- That's funny, I've never had a hiring manager or interviewer look at my literal hundreds of thousands of lines of code on GitHub or several of the OSS projects I've contributed to. Not to mention the actual book I co-wrote.
- booleandilemma 9y agoRecruiter: “How many hours a day would you say you use Meteor?”
- expertentipp 9y agoDoesn't matter because you probably have experience in the wrong version of it anyway.
- onion2k 9y agoI can think of a dozen reasons for that, but here are a few of the most salient ones; 1. Reading and evaluating code in an unfamiliar context is really £@#&ing hard, especially on a complex project. Understanding someone's commits requires knowledge of the project as a whole, the problem space, the environment, etc. That's not possible to do for a large number of candidates. It might not give you a very good insight in to an applicant. 2. Most people's public code is of roughly equal quality (eg 'not great'). You can't really differentiate between people well based on it. What people do in their spare time for fun is rarely commented/tested/documented/etc, so it's a bad way to evaluate their skill level. If you find someone with good public code that's a great sign, but a hiring manager who's looked at 100 Github profiles and found zero good ones might reasonably have given up looking. Also it could be seen as a discriminatory factor; if you think public code is important you're going to overlook people with little time to write any, eg those with families, care responsibilities, interests outside of coding. Building a great team is about hiring great people more that just great developers. 3. It's hard to trust someone's public code. It's trivial to clone a few open projects and take credit for the work, and a hiring manager doesn't have the time to dig in to everyone's projects to see if they've ripped the work off from somewhere. Also, you may have dealt with 50 hiring managers who have never looked at your public code in your career so far. That isn't very many really. I certainly wish there was a better way to evaluate developers skill, and as someone who has plenty of public work on Github I think it'd be great if that was a good starting point, but I don't think it's quite good enough yet. I can certainly see why hiring managers don't look there.
- flukus 9y agoThe site is actually readable if you turn off that awful css. Who thought removing white space from the titles and adding an obnoxious faux cursor were a good idea? Most/all of the charts gain absolutely nothing from the interactive features either, a grouped histogram style chart could show the same information in a static image. It would be better actually, you could compare the groups side by side instead of relying on animations and hovering back and forth.
- applecrazy 9y agoI agree. On my relatively high speed internet connection on Chrome 63 (latest) running on a recent laptop, it took 55 seconds, 426 requests, and 2.6MB to load the first graph on the page. Sure, a lot of the loaded assets are in my cache for subsequent visits, but that initial load time is just...wow.
- mythrwy 9y agoThe content of those 426 requests weren't created for free. Part of the "high demand" developer skills I suppose. Adding gunk to the point you can't get the content. I'd guess sooner rather than later the pendulum is going to swing back to simplicity. Then having good sense about how to effectively portray something without tormenting everyone and wasting resources will be in high demand. As it always should have been.
- kumarvvr 9y agoSidenote : The background images are '3D' fractals, I remember reading about in HN itself a few years back. There was a fascinating article about a programmer writing about the steps he went through to get a 3D fractal.
- lobo_tuerto 9y agoI'd love to get my hands on that article/link, do you have it handy? --- Found this free software for 3D fractals: http://www.mandelbulber.com/ http://www.mandelbulber.com/
- kumarvvr 9y agohttp://www.skytopia.com/project/fractal/2mandelbulb.html http://www.skytopia.com/project/fractal/2mandelbulb.html This is the closest reference I could google. The article I am talking about had the author explain the various steps he went through, starting with rotating a 2d fractal, and move up the process to finally get the math equations to generate a truly 3d fractal.
- j_s 9y agohttps://hn.algolia.com/?query=3d%20fractal https://hn.algolia.com/?query=3d%20fractal -> https://news.ycombinator.com/item?id=935241 https://news.ycombinator.com/item?id=935241 (Nov 2009) But unless you read HN for 5+ years without creating an account, the exact discussion you recall may be some other search result there. >mrob: the Wikipedia page is a better starting point: https://en.wikipedia.org/wiki/Mandelbulb https://en.wikipedia.org/wiki/Mandelbulb PS. Algolia seems a bit finicky, a couple of these were on the second page of results for the first search: https://hn.algolia.com/?query=3d%20fractal%20comments%3E0&sort=byDate https://hn.algolia.com/?query=3d%20fractal%20comments%3E0&so.... I always hate how they show different results for plurals, but this is a new problem I'll keep in mind (sort by popularity doesn't work?).
- kumarvvr 9y agoOh yeah. I lurked a lot. But that is not the site. The site was by a developer complete with code extracts.
- scarface74 9y agoI was wondering why some of the languages listed as being popular in the graph by employers seemed so out in left field with my understanding of the market, then I read this part: A total of 39,441 professional and student developers completed the online survey from October 16 to November 1, 2017. The survey was hosted by SurveyMonkey and HackerRank recruited respondents via email from their community of 3.2 million members and through social media sites. It's a self selected sample and probably skews a lot toward what the "cool kids" are doing and not what most corporations are actually doing. There is no conceivable way that Lua, Kotlin, and Go should be more highly represented than Swift/Objective C and C#
- SlySherZ 9y agoThe graphs about languages seem very weird. Let's take a look at the "Which languages do developers prefer by age?": Python: 84.6% C: 54.0% C++: 48.2% Java: 48.2% JavaScript: 47.6% ... Ruby: 21.0% Why is Python so far ahead of everything else? Why is Ruby, which is all about programmer happiness so far down? It seems people actually like JavaScript. Wait, people do actually like C++?!? Also if you take a look at Go by age, for example, it goes from 53.6% (35-44) up to 67.8% (45-54) and back down to 7.6% (55+). I don't see a reason for such a huge preference variation. There's also a few 0.0% with 55+ years. It seems there weren't enough answers for this to be anywhere near conclusive.
- nschampions2004 9y agoI also had issues with this graph. Reading the top, it's the percent approval of that language minus the percent disapproval of that language within that age group. Then, it's split on age group with the tabs up top.
- christophilus 9y agoYou're almost certainly right that their sample sizes are too small, especially in the upper age brackets. I suspect it's hard to find a lot of 55+ year old programmers who are willing to do silly things like take a HackerRank poll. Given the industry stats, it's fairly hard to find 55+ year old programmers, period. > people actually like JavaScript. Wait, people do actually like C++?!? Yep to both. I actually don't mind the latest versions of JavaScript. I don't like C++ at all, but have done professional work in it alongside people who thought it was a great language. > Why is Ruby, which is all about programmer happiness so far down? Programmer happiness is subjective (as evidenced by my previous remark and by the love/hate you see expressed for JavaScript, Go, Clojure, etc). Personally, I'm not a Ruby fan. I don't like the syntax. I vastly prefer composable functions to Ruby's "blocks". I find that most Ruby code I've worked with is too heavy on OOP abstractions and would be much clearer if expressed functionally. I could go on, but the point is, it's subjective.
- ZeroGravitas 9y agoIs there any way to find out what hackerrank is without signing up first?
- collyw 9y agoCrappy "coding challenge" site with plenty of reason not to use it in your hiring process, but that's what they are selling it to employers for.
- barrkel 9y agoWhat's missing on the "core competency" is communication. Honestly, communication and ability to turn a communicated idea into code is more important than problem solving ability. If someone is solving the wrong problems, they're not creating value. Whereas if someone is stuck on a problem, we can fix that by talking about it - as long as the discussed solution can be turned into code.
- crescentfresh 9y agoCommunication is such a nuanced thing. In our core senior group there is one guy who refuses to let us talk about anything remotely resembling an implementation-related detail if we're early in the high-level design stage, and it honestly shuts conversation down. I get his point, however at the same time a group of good engineers should be able to briefly and abstractly discuss the potential downfalls of a design decision while considering an implementation detail (say, using columnar storage to address some high-level requirement). Then, there's folks who communicate "well" in standups, meetings, design discussions, are cogenial, etc. At the same time they might be drowning in some technical debt they've taken on and no one understands it until they're 2 weeks overdue on a deliverable.
- golergka 9y ago> Execs place the highest value on GitHub and personal projects Well, good luck with industries that are 99% closed source (like gamedev). I have a few toy projects in my Github, but I bet it's nothing compared to any front-end developer who has the luxury of submitting PRs to the tools and framework he uses.
- Terr_ 9y agoYeah, are the answers from these "execs" biased by a certain industry or location? Literally nobody has ever brought up my Github projects or PRs...
- HugoDaniel 9y agoWhats with Julia ? why so much hate among almost all ages ?
- cup-of-tea 9y agoPeople use Stack Overflow to learn how to code? How? I use SO to learn how to do very specific things if I can't figure it out myself, but to learn how to code?
- ggregoire 9y agoLot of new questions are about basic stuff explained in the official documentations. I answered a bunch of questions yesterday about React and Babel setups: I just had to pick the answers in the first pages of the docs.
- codingdave 9y ago> Coding helps enrich your computational thinking, which is powerful in making decisions. That is backwards. Computational thinking is fundamental to learning to code, and also aids in many other aspects of both learning and performing in any path you may choose. Learning the fundamentals of computational thought is the core skill that everyone will need in the future.
- outsideoflife 9y ago> Irrespective of your job, it will become important for everyone to learn how to code It strikes me that the person who wrote that is used to associating with technical people, and might spend a little more time in the real world. I work in a company of 100 ish people, 15 are delivery drivers. 40 odd are sales assistants that customers value for their detailed product knowledge. 4 are involved in cleaning of different kinds. None of those people will ever learn to code, or need to learn to code, or frankly be capable of learning to code
- friendly_chap 9y agoCompletely agreed. Whoever wrote that should find a hobby or profession where being biased and living in a bubble doesn't cause others to be misinformed.
- grivescorbett 9y agoDo those sales people use complex spreadsheets? Are there major effeciency gains possible with a minor amount of scripting?
- Balgair 9y agoDepends on the role. But salespeople are there to sell stuff, the efficiency gains are orthogonal to the objective. Their job is to call people, go shake hands, get ink on dotted lines, etc. Not faff about with Excel. Note: They also sell themselves to their bosses too. Hence why they tend to outlast engineers in largish orgs.
- mgkimsal 9y agomostly agree, although the sales/asst folks being able to use spreadsheets and understanding equations and similar is helpful in many situations, although most folks wouldn't think of that as 'code' so much. I'm working with a client and I'm surprised (sort of) as to how much they can get done in spreadsheets. Coding would make their lives even easier wrt to many tasks, but managing electronic data with some excel scripting is 'good enough' (compared the where they were with paper 10 years ago).
- 9y ago
- harrisjt 9y agoWow I'm surprised by students really putting compensation down on the list of things that are important to them compared to professionals.
- koopuluri 9y agoI feel like the wording misrepresents the results in the "In Demand Qualifications" section. > There's a popular belief that recruiters favor candidates with CS degrees from prestigious universities. But it turns out that they actually care about what you've done — not where you went to school But over 40% employers say that they care about your educational qualification. It doesn't' make sense to say "they actually care about what you've done - not where you went to school" with this result. If you don't have a college degree in CS, you're going to have a significantly tougher time getting your foot in the door, so therefore, even if it's not the MOST important credential you need to get a job, it's unfortunately still very important as a pre-requisite. We still don't have a good signal for that kind of preparation if the candidate doesn't have a lot of publically viewable work.
- bdbm 9y agoToo bad they don't differentiate between AngularJS and Angular (2+), which are totally different frameworks. Would be interesting to compare Angular and React.