9 ms·
It is absolutely a hirers' market if the market is for a low-level coder. Many people, especially coming from an engineering background, have the requisite pro
by niggler 14y ago
It is absolutely a hirers' market if the market is for a low-level coder. Many people, especially coming from an engineering background, have the requisite programming and computer science experience to do what you need.
It's a hirees' market at the rockstar level, as always.
- calinet6 14y agoRockstars are a myth. So are low-level engineers who "know what they're doing." Hire smart people who can learn new things instead of resume bullet points and/or mythological creatures.
- tzaman 14y ago> Rockstars are a myth No they are not. One would think it's easy to find smart people who can learn new things, but I've dealt with both young and senior developers (by senior I mean writing code 15+ years) and was amazed how most of them feel comfortable being completely ignorant of new technologies/libraries/frameworks/best practices/whatever. I've met a rockstar the other day, and could feel him being the one I'd hire immediately. It happens once or twice a year for me. You might not call them rockstars, but in my book, they are.
- anonymoushn 14y agoDo these people stand out by building better products that they can show to you, or do they just use trendy technologies to build products of the same quality as anyone else?
- pyre 14y agoHe/she may have just successfully communicated their passion for the craft.
- zanny 14y agoI'm not a rockstar at all (I'm barely passable) but I would never work on a project not understanding the entire tech stack, from the base language to all libraries in play. That is how you get security gotchas where you dump your passwords in plaintext or let anyone into the admin panel. I've spent the last 3 weeks reading documentation around qt 5 in preparation for some 5.1 mobile development I plan on doing, for example.
- khuey 14y agoDown to the programming language is hardly the entire stack. There's also the VM the language runs in, the operating system, the assembly language the CPU executes, so on and so on down to the transistors in the CPU. At some point you realize you can't understand the entire stack. (In case you thought these issues didn't affect you: http://bugs.python.org/issue13703 http://bugs.python.org/issue13703)
- calinet6 14y agoYou can, and you should. Learn how an ALU works and how an instruction runs on bare silicon. Learn what silicon doping is and how transistors work to actually create a digital logic gate out of analog concepts. Learn how to design your own processor in a simulator, and how the clock frequency affects your whole chip. First and foremost, it's fun for anyone interested in engineering to begin with. Second, for programmers, it gives you a tactile experience of programming, and a real respect for what Assembly language really is and what it does, why a compiler is important, how interpreted languages are run differently, and why optimizing your code is important. You will never know the direct effect that this secondary understanding will have, but the unknowable effects here will be wholly positive, I guarantee it. I remember one semester in college where it clicked for me... I was taking CS61C, machine structures (basically learning C and how it translates to Assembly) and EE40 (basically learning electronics and how silicon works, and how processors work at an electronic level) and suddenly I understood at least on a basic level how everything worked. The code you type in gets compiled to ASM which gets loaded into memory which the processor loads instruction-by-instruction into registers which are represented by the states of transistors which are loaded each clock cycle by the switching of voltages on a germanium-doped silicon plate which causes the voltage to swing at a certain predictable speed at a given frequency which is controllable and engineered to tolerances which put the whole thing in sync. Holy shit. And each part can be understood in isolation, combined, and it makes sense. It's engineering at its best—break down the problem, understand the tolerances, rinse (with a HF acid wash) and repeat. No single part of it is beyond the realm of understanding, but together they build a system of such complexity, and it's amazing and beautiful that it all works as well as it does. Knowing this—yes, it makes me think about programming differently.
- dyno12345 14y agoTrying to hire rockstars is a waste of time. You should hire someone if they will create more value than it costs to employ them. That's it. It is irrational to do anything otherwise. So many SV companies seem obsessed with creating islands of purity.
- btilly 14y ago...and was amazed how most of them feel comfortable being completely ignorant of new technologies/libraries/frameworks/best practices/whatever. I don't know how to judge that comment. It is true that if you take anyone who is competent and ask them to teach you something that they learned in the last year, they should be able to come up with something. If not, then you've likely got "1 year of experience, 15 times". However my experience of people who think that they can judge people in the way you are judging them will judge by asking random questions about random technologies. Which is basically rolling the dice - if the person is exploring the same things that you are, then they get the gold star, otherwise you are convinced that they don't. Let me give you a concrete example. You ask me what my primary language is. Perl, but right now I'm doing a bit of work in C++. Now you know that I'm a dinosaur because I'm using archaic languages. But don't notice that I have actually programmed in a host of other languages, and at this point learning the latest language is not going to help me be better at what I do. If I need it, I'll learn it then. You ask me something about promises and jQuery and I draw a blank. I never liked front end work, and I've been working on back end stuff for the last decade. Boom, I'm a dinosaur in your books. But ask me what I'm reading, and you'll find out that I'm working through a book on hierarchical Bayesian modeling. I've also been doing some thinking about how people fail to understand the statistics behind A/B tests, and have been working on a series of articles that a lot of people seem to like. In short, it is likely that you would quickly judge me poorly. Yet I believe that this reflects more on your judgement than my abilities.
- tzaman 14y agoFrom what you have written I can see you don't suck (I'd need to meet you and see some of your code to actually assess you're good :). You see, you used words like "Bayesian", "Promises". Guys that I was writing about not only don't know what promises are, they don't give a fuck either. A rockstar (in my book, at least) would hear about them and google them as soon as possible. So at the end of the day, it's not really about experience, it's the attitude.
- randallsquared 14y agoBy your criteria, everyone on HN is a rock star. I think that might be too broad. :)
- eli_gottlieb 14y agoWhen you say new technologies, do you mean actual technological inventions or innovations, or just the latest trending web framework to spawn a fad of conferences? Because, yes, I'm relatively comfortable not caring about technologies that will return to complete obscurity within 6-18 months.
- _pmf_ 14y ago> and was amazed how most of them feel comfortable being completely ignorant of new technologies/libraries/frameworks/best practices/whatever. They are probably equally amazed that you are not able to discriminate between fads and/or half-assed rehashes of decade-old technologies and actual new technologies.
- lhnz 14y agoSmart people who can learn new things are the rockstars. (Even though in actuality this term is a joke turned into a marketing term to attract confident developers.)
- waterlesscloud 14y ago"Smart people who can learn new things" That seems like a pretty low bar.
- nollidge 14y agoMaybe look at it as can and will learn new things. Plenty of people are not so motivated.
- calinet6 14y agoThe correct thought to have next is "Why?" The answer makes that into a complex statement, and if your company can solve that problem, then it has solved a great many problems.
- lhnz 14y agoDepends what you define as smart, and what you define as new. Also who is accessible and verifiable. I consider it a low bar to have repositories on GitHub or answers on StackOverflow yet the fact is that in London this group numbers in the thousands. This isn't all of the talented people but it gives you an idea of the rarity.
- tracker1 14y ago"Rockstars" may be a myth... but developers who are exponentially more effective than others, with more maintainable code are not.
- pekk 14y agoExponentially more effective, meaning that what Joe writes in 3 years Jim can write in one day?
- tracker1 14y agoOkay... more like, Joe can get done in a day what would take Jim a week.. or Joe can do more in a month, than Jim could do in a year. Perhaps the exponent is a bit off.. but more than cumulative output was implied. A lot of this coming from being able to expect/plan for future enhancements/changes than the one-off output. My own personal reference with this comes from managing several projects with local and overseas teams with varying degrees of experience.
- nostrademons 14y agoThat's entirely possible. Joe spends 3 years writing a program. Jim realizes that the program doesn't need to be written, and that if you frame the problem in a different way or use other resources available to you, you can come up with a better solution without writing any code.
- dchichkov 14y agoNo. Exponential effectiveness can only come from improving maintainability, readability and reducing code size. Fact that minimalistic approach also diminishes original development time is only a minor side effect. By the way, a true rockstar developer most of the time reduces code size and improves readability while adding features. So when you see next time a commit, that adds features and reduces code size, - you know who you are dealing width.
- dagw 14y agoMaybe not that extreme, but factor in things like future maintenance costs and lost productivity due to Joe's code being slow, unstable and buggy and you're probably not too far off.
- sybhn 14y agoi always thought that rockstars are smart, driven people who were able to achieve substantial results because of favorable circumstances. The term itself is laughable at best, especially when self proclaimed!
- aurelianito 14y agoI thought the same until I actually worked with one. This guy can build things in a week that a group of 5 competent programmers will do in a month.
- bmj 14y agoBut, as `sybhn said, did that guy call himself a rock star? My manager is very similar--his mind works about twice as fast as mine, and he's very productive. He'd never, ever call himself a "rock star" though.
- aurelianito 14y agoHe will not call himself a rockstar but he is quite aware of his skill.
- dyno12345 14y agoAnd yet he doesn't get paid proportional to that ratio. He probably makes 20% more.
- aurelianito 14y agoNop. He is one of the company founders and he is probably getting a lot of money out of his job.
- cunac 14y agoif you spend enough time in industry hopefully you will cross path with some "mythological creatures"
- ig1 14y agoAs someone who's recruited heavily at the entry level, you're mistaken. Even substantial number of computer science graduates lack the capability of basic coding (i.e. "here's the detailed specification of this function; go implement it"). There is substantially more demand than available talent. SF, New York, London, Amsterdam, Berlin, etc. all have huge talent shortages. Even developer markets that were relatively soft in the past such as Poland and India are starting to become competitive as the war for talent becomes more global.
- goldfeld 14y agoI have read that 30% of Standford CS freshmen change majors or dropout because they don't get programming at all. Do you see such a thing in recruiting? That you fear the hire doesn't actually understand the reasoning of algorithms and basic programming structures, and is maybe the type who bullheaded through college memorizing solutions as recipes?
- ig1 14y agoI'm not familiar with that stat but it's perfectly believable. Many people are clearly getting by with a mixture of memorization and trial-and-error rather than understanding. I think of those who understand algorithmic reasoning (i.e. understand loops, assignment, etc.) they also fall into two categories. Those who can understand more abstract programming concepts (indirect referencing, recursion) and those who can't - you can definitely still be a good programer without understanding those but it will limit the areas you can work in.
- uniclaude 14y agoI might have interviewed a very different subset of the programming world than you, but I wouldn't make the categorization in this way. Indeed, I haven't met any programmer who couldn't understand recursion when explained in clear terms, same goes for indirect referencing. If I had to divide the programmers who really understand algorithmic reasoning into two categories, those would be - A: those who program because it's their job, - B: those who program because it's their passion. I believe this grouping is more helpful to explain differences.
- jaredsohn 14y agoI'm confused as to what is meant by "low-level coder" here. Is it programmers who work with C or assembly and maybe on embedded systems or programmers who lack much ability? (My intuition and a google search suggests the former, although many comments and the contrast with 'rockstar' (unless that refers to another programming domain :)) suggests the latter. Edit: It is especially weird when the post then refers to people with an engineering background, since those people are more likely to be working on low-level embedded coding.
- dbieber 14y agoniggler is referring to a low level of talent, though the word choice was less than ideal.
- deleted 14y ago[deleted]
- dsrguru 14y agoI've found it's the exact opposite. If you're fine with a low-level coding job and are a competent coder, you'll have no problem getting a job in any major city in the US. The demand way exceeds the supply. However, despite there being far fewer good coders (let's say the top 1% of coders), good coders all want to work for the same thirty or so late-stage startups in the Bay Area (or Google). Those companies want exceptional coders (let's say the top 0.1% of coders), so good coders tend to have trouble finding jobs.
- lawnchair_larry 14y agoPlease do not propagate that "rockstar" word. Recruiters are bad enough as it is.
- papsosouid 14y agoAs someone who has tried to hire a competent entry level programmer, no it is not a hirers market. Finding someone who can pass fizzbuzz is a huge challenge.