4 ms·
I have found that in software that is wrong. If you want to succeed in software you need to do what is most popular which largely follows innate human behavior
by austincheney 6y ago
I have found that in software that is wrong. If you want to succeed in software you need to do what is most popular which largely follows innate human behavior. Unlike many other professions there is no licensing, accredidation, or common ethic which means there is no standard baseline of competence.
This is visually explained when thinking about the difference between success and capability and then viewing that difference on a graph, such as a bell curve.
https://news.ycombinator.com/item?id=23768137 https://news.ycombinator.com/item?id=23768137
- lucideer 6y agoI think it's (as is often the case) a little more nuanced than this. There's roughly two ways to follow trends "successfully" in the software world: 1. Eager and somewhat blind. This fits with your comment and follows the kind of innate behaviour we're discussing. And it will bring you some success: you'll always be up on "cool new thing" as long as you're afforded the freedom to jump from project to project and don't fall into a rut where you're tasked with maintaining the last crappy "cool new thing" you championed that noone wants anymore. 2. Pragmatic skepticism. You look at network effect and community support as rational, technical pros when weighing tech choices. You're successful because, while you're usually up on "cool new thing", you approach tech tentatively enough not to fall into the vendor lock-in hole. If you're ever tasked with maintaining some old thing you made, you're less screwed as you never jumped with both feet. Of the above two, the first is a much more common success story, largely because the software community loves reinventing the wheel, so most engineers don't fall into that particular maintenance rut. There's no moral hazard with approach number #1, but I still wouldn't go as far as to say it's the right way.
- opan 6y agoFree Software involves both licensing and ethics.
- atq2119 6y agoParent poster clearly meant licensing in the sense of accreditation for the people involved. I.e. there is no formal barrier to entry, which is great on the one hand, but it also means that there are pretty unqualified developers out there.
- fapjacks 6y agoAnybody who's done hiring will attest that "formal barriers to entry" (i.e. accreditation via certifications and degrees) say very little about a programmer's ability to produce valuable output. Hiring would not be "the big problem" in tech if one could simply outsource the hiring decision to such a formal barrier to entry. But, since formal barriers to entry are demonstrably useless signals specifically for hiring programmers, we resort to all sorts of other superstitions which, when put together, at least bestow a visceral sense of being able to divine a person's ability to produce valuable output. People and companies all seem to have their own preferred superstitions, almost none of which include your "formal barriers to entry".
- austincheney 6y ago> But, since formal barriers to entry are demonstrably useless Could you provide an example of such a barrier? Bar exams and medical review are extremely valuable to other industries. They demonstrate both competence and ethics. Since software is utterly lacking anything resembling a formal qualification barrier it’s hard to say a thing isn’t valuable. It doesn’t make sense to disqualify something that was never there in the first place. Industry ethical standards are also hard to disqualify because they similarly don’t exist. To someone who has never met such a burden for any professional industry it’s an easy thing to deem as worthless. In other industries compliance to ethical standards are more important than perceptions of competence.
- fapjacks 6y ago> Could you provide an example of such a barrier? I did mention more than one example in the first sentence of my reply: CS degrees and certifications. > Since software is utterly lacking anything resembling a formal qualification barrier it's hard to say a thing isn't valuable. This is circular logic by either of our propositions. For if my statement were true (that "formal barriers to entry [in the context of software, as explicitly mentioned multiple times in the thread] are demonstrably useless") then it is not valuable as a barrier to entry [in the context of software, as explicitly mentioned multiple times in the thread]. However since you also assert that "software is utterly lacking anything resembling a formal qualification barrier" and this necessarily includes CS degree and/or certifications then that "thing" is equally not valuable as a barrier to entry. What you've done is conflated your relative moral value judgment (approximately that there "should be" a formal qualification barrier to entry) with another separate relative moral value judgment (that existing barriers to entry are not useful or are so useless as to fail to exist). These are two different propositions. Also please do not attack the character of your interlocutor, for your suggestion that I have "never met such a burden for any professional industry" is wrong but also just pretty lazy. If you believe you have a way of generating a useful hiring signal that beats doing a work sample, I'm sure any number of people around here would throw money at you to build a company around it.
- zbentley 6y ago> If you want to succeed in software you need to do what is most popular which largely follows innate human behavior I totally disagree. Many of the most valuable, respected, and successful software engineers I've encountered have evinced deep distrust of what is currently popular in the field. Their avoidance of (and advocacy for continued avoidance of) new/trendy software fads, particularly on the frontend, enabled excellent engineering, and instilled a powerful attitude of pragmatism and productivity among their colleagues. It's anecdata so take it with a grain, but in organizations big and small I've observed that some of the most successful and capable engineers are distinguished by antipathy towards popularity-driven engineering.
- austincheney 6y ago> Their avoidance of (and advocacy for continued avoidance of) new/trendy software fads, particularly on the frontend, enabled excellent engineering I absolutely agree with that. You are describing an expert, which is not likely somebody successful or respected, particularly with regard to their front-end web technology peers. Expertise is not frequently revered by other developers, particularly when compared with compatibility. That distinction is even more evident when applying for jobs at other locations.
- zbentley 6y agoMaybe I've just been lucky with where I've worked, but I've often seen those people get significantly rewarded for their anti-fad efforts--both in terms of money/promotions and respect from their colleagues. I've seen the opposite too, but not as often.
- austincheney 6y agoA complete disdain for jQuery is what allowed me, as a full time JavaScript developer, to become promoted to a senior and nearly double my salary. That is only because I was working, at the time, in a niche area where jQuery failed amazingly in production. I was deemed an expert and rewarded for it, but that is astonishingly rare. Now you cannot get hired, much less attain any kind of success, without something like Angular or React even you can write superior code without those in half the time. That is why I only look for jobs that primarily deal with writing for Node, but even still competence is not well appreciated when interviewing.