[HN Gopher] The dispassionate developer ___________________________________________________________________ The dispassionate developer Author : algui91 Score : 196 points Date : 2021-03-23 05:47 UTC (1 days ago) (HTM) web link (blog.ploeh.dk) (TXT) w3m dump (blog.ploeh.dk) | lambda_obrien wrote: | I used to be someone who did programming outside of work, but I | don't have time with a kid, and further I don't really want to | spend time fixing anything electronic any longer. I just use a | console for gaming, my computer sits unused and I only use my | work pc for work, so I barely even go on the internet. | | Parenthood takes a lot of time, and I fear I'll never be able to | find a new job because i don't have time to jump through | interview hoops. | | I'll certainly never work at Google or wherever, because they | interview for so long and have so many requirements that it's | impossible for me to even think about applying. The tech | interview process is openly hostile to parents. | titanomachy wrote: | As an engineer in the US who's worked at three very different | companies, I haven't seen any of the things that this article is | complaining about. While most applications had a space to link | your GitHub account, I've never had the sense that a company | expected me to have open-source contributions. My co-workers | don't do open-source work in their free time, or if they do they | don't talk about it. | | The author also claims that employers don't invest in training | and expect us to do it on our own time. Every employer I've had | has been thrilled when I used my paid hours to study and master | technology relevant to the job. Although it's true that I've | never really had much formal "training", no one ever told me to | stop learning stuff and just do my job. | | I'm sure I've been very fortunate, but I'm curious why my | experience differs so much from the author's. | belval wrote: | Same experience for me, when interviewing if the candidate is a | new grad and has a nice GitHub profile and I can actually look | at the code it's great (otherwise what I am hiring on?), but I | never passed anyone for not having GitHub contributions. | | Likewise, unless I just stop doing my job and flat out refuse | to do my tasks I never had issues with learning new | technologies on the job. If anything I got congratulated for | showing initiative in exploring ways to better our current | stack. | aeroheim wrote: | From the US as well (Austin specifically) and I think there are | some grains of truth in what the author describes, but it's not | clear whether the author's viewpoint is influenced by the | developers that requested paid mentorship or if it's entirely | his own. | | I've seen what he mentions in regards to self-improvement. | Management under a large engineering company I was previously | at would encourage self-learning and improvement, but | disregarded it the moment deadlines became a concern or if you | requested resources for it (e.g budget for tech conferences). | They had a lot of long-time employees who were content with | mediocre salaries (due to family, complacency, poor | marketability/atrophied skills, etc.), so they literally had no | incentive to invest in meaningful training for employees. | | In regards to the focus on open-source contributions that he | claims, I've found that the credibility and clout that comes | with being a prolific contributor really only matter online. It | most definitely helps you get your resume in the door, but | you're still expected to whiteboard some bullshit like everyone | else when it comes to interviews. I'd imagine that the majority | of applicants have zero open source contributions and that the | companies not only expect but are also okay with that. That was | the definitely the experience I had back when I had did | interviewing for my team at least. | | Of course, it could be possible that what he's describing is | more of a trend going on in Europe or Denmark than the US. But | I think he has some hits and some misses with his takes. | auganov wrote: | The flip-side of this is a lot of open source software is written | for its own end. I've learned to be very careful about assuming | something is a good package just because it seems to have nice | looking docs and a bit of popularity. You will often find | something with a TOOOON of different features and switches, but | upon closer inspection it turns out all of it is subpar. And I | don't mean it in a perfectionist sense, just bad in a way that | it's unlikely it has ever been used and iterated on in | production. When hiring one should be careful not to foster this | kind of culture inhouse. | kjgkjhfkjf wrote: | It's a fallacy to claim that developers are hired substantially | on the basis of their open-source portfolios. This is very rare | IME. | | It's also somewhat of a fallacy to claim that open-source | software is the domain of hobbyists. A lot of open-source | software nowadays is produced by paid programmers as part of | their day jobs. | mwcampbell wrote: | This post makes some good points. But I think there's another | extreme we need to be careful to avoid. In a world full of | workers who are emotionally and morally disengaged, just doing | what they're told for a paycheck, there's plenty of room for | exploitation of a different kind. | | Perhaps the best model for software development is a small | company with a few cofounders who are passionate about what | they're working on, who charge a fair price for their software, | and who work smarter in every possible way (yes, including making | full use of open source) to minimize the amount of hiring they | have to do. When they do hire, they treat their employees fairly | and don't expect too much of them. | | But then when I'm presented with, say, a security questionnaire, | I wonder if developing software that meets today's standards is | inevitably the sole domain of big companies. (I suspect many | other developers feel the same way about my own pet cause, | accessibility.) | kodah wrote: | > In a world full of workers who are emotionally and morally | disengaged, just doing what they're told for a paycheck | | I don't this is true of software. I live on the West Coast and | SWEs are by far some of the most vocal and aggressive voices in | a crowd. They seem highly engaged and constantly channeling | emotion for what they want. That said, it's a recent trend. | When I came into software the attitudes were much more laid | back. I'd prefer a return to this. | alexashka wrote: | It's interesting to read blogs, they almost universally make | these leaps of faith that x implies y without noticing that they | do it and spend the rest of the time operating on these faith- | based assumptions. | | Let me give a couple of examples from this blog: | | Software devs had anti-capitalist values -> free software -> | unintended consequences -> customer is the product | | Do you see where the leap of faith occurred? The last arrow. If | you're young and you don't know, when app stores on mobile phones | started and apps got built, most of them weren't free. When | facebook got started, it _was_ free, but it had _nothing_ to do | with anti-capitalist values, etc. | | Another example: | | employers want people who are passionate -> do open source to | prove your passion | | Where's the leap of faith? The initial premise. Let me give | another example that'll perhaps illustrate: when women get polled | about what they look for in a man, they say: sense of humor. | | Does anyone take that seriously? No, right? We know people are | full of shit and say one thing and mean another? Well, not people | who write blogs or comment on twitter a lot of the time! | | So much of blogging and twittering, is taking false premises or | helping start new ones (first example). Guys/gals, I can forgive | people who have never heard of A implies B in their lives. You | have, please check that A = true and A actually implies B, every | step of the way. | | Apply mental-tests to your own thinking - it's great that you get | software to compile, please get your view of the world to compile | to a level a random stranger on the internet can't tear apart | within 10 seconds. | kubanczyk wrote: | Not sure why you got the downvotes. The article in its entirety | is a grand _non sequitur_. Observations. Rambling. "I don't | know. Be dispassionate." | Der_Einzige wrote: | As usual, lightly downvoted comments on HN usually have more | value than comments which get upvoted. The community has poor | choices about how it votes here. | FpUser wrote: | >"...Would you like a cool job in tech? Show me your open-source | portfolio." | | I do not know what constitutes "cool job" but I've been | developing for longer than many lived and not once was I asked | about my open source contributions. When I do work for clients it | is nearly always to design and create a product. I have a | "portfolio" of such products with appropriate references and this | is what I show to clients and it seems to work very well. | | Also working on product makes me interested way more in the | design / inventive aspects. Programming itself is just a tool for | me to express my ideas. This makes me a "dispassionate | programmer". I can appreciate good tools / languages /tech / etc | that make me complete the task easier but once more - they're | just tools. | | Last thing. I do not have any "open source" contributions. I am | not proud of it but do not feel guilty either. | crazypython wrote: | We need to find better business models for FLOSS software. | allenu wrote: | At some point in your career, I think you realize that you have | to separate yourself and your passion from your work, especially | if you are working for someone else[1]. There needs to be a clear | delineation between what you believe is the right thing from a | "passionate developer" standpoint and what is appropriate for a | business. Often, what is appropriate for a business, and your | survival in said business, is to go along with what the business | wants to do, even if it's not what is ideal. If you don't, I | think you'll always be at odds with something and will probably | get burnt out trying to fight political battles. There are | battles here and there worth fighting, of course, but you have to | be okay with non-ideal solutions. | | To me, that has been a challenge over my career and I've finally | come to terms with it and I find my mood has improved quite a bit | in the workplace as a result, albeit with a small death of my | youthful idealism. However, now I try to use my passion in side | projects, not to improve my CV, but just for fun. Interestingly | enough, even idealism doesn't always work out there. | | [1] I suppose it's possible to maintain your passion in the | workplace and keep pushing ahead and doing even bigger and bigger | things within a business (leveling up in the process, I'm sure), | but I think to do so requires a lot of strength and endurance | that a lot of us just don't have. | ofrzeta wrote: | I was at one of the first "DevOps Days" conferences in Hamburg | where we sat in a huge circle and everyone had to introduce | themselves and say what they are "passionate" about. Although I | am a little bit more interested in the craft than an average 9to5 | programmer I couldn't bring myself to use that phrase and could | only articulate what I am "interested in". I am not a native | English speaker so maybe my feelings around the meaning of | "passion" are distorted but I didn't get how you could be | passionate about continuous integration. | josephorjoe wrote: | Oh, your understanding of what "passionate" means in English is | perfect. | | "Passionate" has nothing to do with taking satisfaction in | performing an interesting job well and being fairly compensated | for your efforts and having some appreciation for the | opportunities you are given. | | It has everything to do with feeling such strong emotions about | something that you make decisions guided by emotion rather than | logic. | | Although I suspect the never ending abuse of the word will | eventually change the meaning to actually mean "moderately | enthusiastic about and interested in". | | Sort of like how in English "awesome" has been degraded from | "that inspires both fear and wonder that I do not normally | experience" to "that pleases me somewhat". | burnished wrote: | Passion refers to a level of intensity, desire, or obsession. | It frequently is used to talk about romantic love but can refer | to other things. You were probably right to use the word | 'interested' over 'passionate', but if there is a some one who | is staying up late working on and thinking about continuous | integration then they could say they were passionate about it. | There has probably been at least a couple dry technical topics | that made you feel passionate in the same way some one could be | passionate about CI. I wouldn't call being passionate about | something to be typical though so its a pretty weird question | to ask a circle of people. | WrtCdEvrydy wrote: | > The development manager immediately shot down that idea: "If we | do that, they'll leave us once they have the certification." | | This one is so common, it's a staple. Very few places I have | worked will pay for certs because after that the employee is | worth more so there's no budget for the cert + the requisite pay | bump that having such a cert deserves. | | I don't know how to fix it, but I wish one day I can convince | other people that training is the path to unlocking better teams | versus just more headcount. The salary for one senior dev can be | split 5 ways into an existing team and given enough knowledge can | make you more than having an extra dev. | | I read Bullshit Jobs and realized why this might be the issue... | reports are a sign of power, the more you have, the more power | you have, so in order to advance your career, you must be willing | to sacrifice the place you work at by hiring more and more people | under you. | morphicpro wrote: | My #1 I take with this post is that Free [?] Open. | | Software need to be open! If it was meant to be free it would be | called Freesource not Opoensource. | lordnacho wrote: | "As you start to ponder the implied ethos, the stranger it gets. | Would you like engineers to be passionate as they design new | bridges? Would you like a surgeon to be passionate as she | operates on you? Would you like judges to be passionate as they | pass sentence on your friend?" | | I'm not sure what exactly he means by passionate, but I do know a | surgeon who spends time reading and lecturing about the history | of surgery. I'm sure there are judges who take pride in | understanding more than just how to do their current jobs too. | And for a fact you will run into engineers, both the traditional | and software kinds, who care to get some context related to their | professions. I also spent a fair bit of time when I got a trading | job reading up on how the market had evolved. Does that qualify | as passion? | | Now, there's of course a difference between demonstrating that | you care about the larger context of your work, and doing work | for free. I think the only place where we associate passion with | no money tends to be the arts, the common trope being that person | who acts or paints but needs a job to pay the bills. Then clearly | they aren't doing it for the money. | | But of course you can do something for money while also caring | deeply about it. | | Overall he's right though, you should never let someone talk you | into a position where you need to demonstrate that you want to | work for free. If you are in the village play because you like | it, and that play somehow ends up on Netflix and makes a | gazillion dollars, you should get a sensible piece of it. | Likewise if someone is proposing you help with some software that | might end up being worth a lot, you should get a piece. | majormajor wrote: | I've seen a doctor who didn't seem to care, as well as one that | did. One just tried to throw prescriptions at any problems I | took to him, and the other one was more interested in root | causes and the sum picture of my overall health. I definitely | want the passionate one there, all other things about their | knowledge and potential competence being equal. | jkingsbery wrote: | I had a similar reaction when comparing software engineering to | other professions. My brother is a lawyer, and he has to do | continuing legal education | (https://en.wikipedia.org/wiki/Continuing_legal_education). I | have friends who are doctors that go to (and sometimes speak | at) conferences. I'm not sure that we software engineers need | to spend all our free time on leetcode and answering | StackOverflow questions, but reading a book about something | outside of normal work hours seems like pretty tame stakes. | aynyc wrote: | > What can you do, then, if you want to stand out from the crowd? | How do you advance your software development career? | | I'm sure there are other ways, but one sure way that I have | personally used and been fairly successful. _Understand your boss | and make your boss look good._ If you don 't understand your boss | by year 2, it's time to move on. | Lapsa wrote: | Mark is awesome. | ofrzeta wrote: | He seems like a nice guy but I find that book on Dependency | Injection a bit tedious. | kodah wrote: | I do like when teams will ask for side projects (if I have them) | or OSS projects. Software has an inherent bias towards people | from prestigious schools (but especially CS programs) and | enforces that bias via heavy algorithm testing that is otherwise | mostly not needed in software. Not to say it's never needed, but | the 90% use case does not involve knowing how to do binary search | by hand. As I built my knowledge around algorithms to adhere to | certain software engineers biases, being able to sub that in for | actual work was pivotal to my career. It's surprising to see | people outright excluding that as an option in the interviewing | process. | | As my career has gone on longer and I've overcame the algorithm | bias, my OSS contributions mostly dissipated. I do continue to | work on side projects to learn but I continually encourage | businesses to promote learning during work time. Bringing back | read only Friday is a great way to do this and generally maintain | velocity. | | I don't have any data for you, just my experiences. | whatshisface wrote: | > _Software has an inherent bias towards people from | prestigious schools and enforces that bias via heavy algorithm | testing that is otherwise mostly not needed in software._ | | Can't any school teach the same algorithms material? It's not | exactly secret. Algorithms interviews seem more like | surreptitious IQ tests than anything else. | kodah wrote: | Good question. I'm a drop out (a byproduct of paying for | school while working in 2009) and it's been difficult to put | my life on pause to go back. College grads get the luxury of | having seen algorithms before and being taught how to | negotiate and identify them in school with a fair amount of | practice. I'm sure everyone studies for interviews, but for | someone like me that study also often coincides with learning | something for the first time. The industry now has a term for | people like me, which is people from "non-traditional | backgrounds". Many systems engineers, QA engineers, frontend | engineers, etc will often be placed in this category. | whatshisface wrote: | Then it's closer to "CS program vs anything else," moreso | than "prestigious schools vs anything else." There are | plenty of non-prestigious schools in the world, more of | them than there are Stanfords, in fact. | kodah wrote: | Yeap, I think that wording is probably more accurate. | PeterisP wrote: | Any school can teach the same algorithms material, but not | every school allocates or requires comparable amount of time | and effort to that material. Some schols will just point you | at the material and test if you rememeber the basics, and | some schools will outright flunk you unless you practice | until you can write correct implementations of all that | material quickly with your eyes closed. | mdtusz wrote: | And both methods are bad. | | Whiteboard tests aren't inherently bad, but the sorts of | algorithm questions that are asked at some interviews are | absurd and do practically nothing to determine whether the | candidate would be a good employee. 95% of being a | programmer is plumbing data together, and it's pretty rare | that there is a need to develop more complex algorithms for | things - as long as someone knows the concepts of time and | space complexity and isn't going to make huge O(n!) | operations, it's much more important IMO to be interviewing | for communication skills, system architecture, network, and | security knowledge. | | There's obviously exceptions to this if you're hiring for a | role that specifically is writing very algorithmic code to | solve a hard science or graphics problem but that's very | much the edge case and even if it is the case, domain | knowledge will be more important. | varispeed wrote: | I think prestigious school is all about contacts and | networking rather than actual knowledge. Sure they are | expected to have great quality teaching. The thing is - if | company is looking for people from prestigious universities, | chances are the owners also are and they just seek for people | they know and are familiar with. This could also be the other | way - owners are coming from poor background and this way | they want to feel superior over people who had what they | always dreamed about but couldn't get. Either way I stay away | from such companies. In my experience there was always | something toxic about them. | DC1350 wrote: | Any school can teach it but most people still need to do lots | of practice to reliably get through interviews. That's not | taught, and it's something that students from average schools | don't even know they're missing until they start looking for | a job. Remember that the average student still believes that | just getting a CS degree is enough to get employed. | giantg2 wrote: | Working in the industry kills one's passion. It did for me. | ARandomerDude wrote: | This is true of most things, I've noticed. | | My neighbor is an amazing carpenter. He makes beautiful | furniture from exotic pieces of wood he's had for 10 years just | waiting to be used on that perfect project. I told him he could | make a fortune selling things like what he's got in his living | room, but he just shrugged and said _it would take away all the | fun._ He 's right. | giantg2 wrote: | Yeah, I use to make Android apps. Now I don't see the point. | ARandomerDude wrote: | That wasn't my point. You have to make a living, and in | that regard fun is a nice-to-have. My point was even things | people do for hobbies often become toilsome once they are | your business. | | My neighbor has a job unrelated to carpentry, and | woodworking is his hobby. He doesn't want to ruin it. | giantg2 wrote: | And I'm saying that I made Android apps as a hobby and | now that I work as a dev, I don't see any point to | continuing as a hobby. | ofrzeta wrote: | If you still want to code as a hobby you could do | "programming" opposed to "software engineering" as | someone in this thread has pointed out. Personally I | could see making web apps with a Web 1.0 design as a fun | project although probably I would still structure | projects "professionally" :) | | I get that it's not much fun to code apps (which I did | for fun, too) because you need to do some kind of | marketing to get a user base because if you don't it's | not much fun to have an orphaned app in a store. | | There's still a place for fringe programming if you feel | the urge. Or go fishing or do gardening. | danaliv wrote: | Yes. I build wooden boats. A neighbor is seemingly obsessed | with the notion that I could start a business selling them. | And I can think of no faster or more effective way to ruin | boat-building for me. | rgoulter wrote: | I believe it's the _need to be reliable_ that takes out the | fun. | schwag09 wrote: | This reminds me of the parable of the Mexican fisherman and | the Harvard MBA: | | 'An American investment banker was at the pier of a small | coastal Mexican village when a small boat with just one | fisherman docked. Inside the small boat were several large | yellowfin tuna. The American complimented the Mexican on the | quality of his fish and asked how long it took to catch them. | | The Mexican replied, "only a little while." | | The American then asked why didn't he stay out longer and | catch more fish? | | The Mexican said he had enough to support his family's | immediate needs. | | The American then asked, "but what do you do with the rest of | your time?" | | The Mexican fisherman said, "I sleep late, fish a little, | play with my children, take siestas with my wife, Maria, and | stroll into the village each evening where I sip wine, and | play guitar with my amigos. I have a full and busy life." | | The American scoffed. "I have an MBA from Harvard, and can | help you," he said. "You should spend more time fishing, and | with the proceeds, buy a bigger boat. With the proceeds from | the bigger boat, you could buy several boats, and eventually | you would have a fleet of fishing boats. Instead of selling | your catch to a middle-man, you could sell directly to the | processor, eventually opening up your own cannery. You could | control the product, processing, and distribution," he said. | "Of course, you would need to leave this small coastal | fishing village and move to Mexico City, then Los Angeles, | and eventually to New York City, where you will run your | expanding enterprise." | | The Mexican fisherman asked, "But, how long will this all | take?" | | To which the American replied, "Oh, 15 to 20 years or so." | | "But what then?" asked the Mexican. | | The American laughed and said, "That's the best part. When | the time was right, you would announce an IPO, and sell your | company stock to the public and become very rich. You would | make millions!" | | "Millions - then what?" | | The American said, "Then you could retire. Move to a small | coastal fishing village where you could sleep late, fish a | little, play with your kids, take siestas with your wife, and | stroll to the village in the evenings where you could sip | wine and play guitar with your amigos."' | allenu wrote: | Agreed. It's kind of assembly-line development now for me. | Design by committee, break up tasks into tickets, estimate how | long it'll take, sprint, sprint, sprint until done, monitor | releases, add more tickets, and continue ad infinitum. | giantg2 wrote: | You make it sound so smooth | aphextron wrote: | Pretty much. At this point it's just a paycheck, and such an | easy (large) one that I can't possibly justify bothering to | find any other line of work. Even if doing something else would | make me happier, ultimately work is just work and optimizing | for the least effort/highest reward is really the only criteria | for it IMO. It leaves more room to find your meaning and | passion in life outside of what you have to do to pay the | bills. | giantg2 wrote: | Mine is frustrating and not a large paycheck at all. I was | just browsing job posting this morning, but it's depressing. | There's nothing interesting out there that pays more, and my | skill set is not really in demand. | the_only_law wrote: | I can usually find interesting stuff, but nothing I'd ever | be qualified for. Can't speak to what most of it pays, but | if I had to guess: more than I'm making now, less than I | could be making theoretically. | giantg2 wrote: | This area is mostly boring business CRUD. I have the | qualification problem too. Nobody wants to train, and | nobody needs FileNet or Neoxam resources. | the_only_law wrote: | Ah yeah, generally I look at jobs all over the place. | It's still relatively rare to see something I'd qualify | as "interesting" but I do see them. Typically when I do | find them they require significant professional | experience within the respective domain. The worst | possible example I can think of are any jobs dealing with | scientific software where it's made clear they want | scientists who can program a little not programmers who | know a bit of science. | giantg2 wrote: | I'm constrained to my location because my wife won't | consider relocating. | oblio wrote: | Try something different. A more popular tech, a more | popular stack, a slight twist in what you use them for, | etc. | giantg2 wrote: | I recently switched to a team with a newer stack. It | doesn't give me the chance to get good because they have | me constantly switching between stacks or doing no-code | tasks. | [deleted] | chad_strategic wrote: | I was a dispassionate, disenfranchised, dejected and defeated | developer. | | Then I quit. | | Now I'm happy. | burntoutfire wrote: | Same here, my last day will be on May 7th! Let the happiness | ensue! I have around 45 years of living expenses saved up, so | it will be a REALLY long time till I need a job again. | musicale wrote: | > Some open-source maintainers have created crucial software that | runs everywhere. Companies make millions off that free software, | while maintainers are often left with an increasing support | burden and no money. | | Pretty much this. | | See also: https://www.wired.com/story/open-source-coders-few- | tired/ | SamuelAdams wrote: | > Most people don't heed advice given for free, but if they pay | dearly for it, they tend to pay attention. | | 100% this. I've seen consultants get paid $250 an hour to simply | listen to what the team is saying and regurgitate that to | management. But it's more trusted than their own employees | because the consultant is "independent". | Tabular-Iceberg wrote: | I thought I could use this to my advantage and game the system. | I convinced management we needed to hire a prestigious | consultant to get us out of the tight spot we were in. They | were absolutely ecstatic about this great visionary I had | brought in and all the genius insights he had (which was | predictably just what the team had been saying for moths). | | But it still came back to bite me in the end. When the | consultant was paid and gone, there was suddenly no time | anymore to act on any of the advice. It was all back to to the | perpetual "just make this one simple feature" cycle, but the | most insulting thing was hearing a twisted version of the | consultant's advice used as ammunition against the team, | questioning its competence. | Viliam1234 wrote: | > the most insulting thing was hearing a twisted version of | the consultant's advice used as ammunition against the team, | questioning its competence. | | That's the advantage of having an expert that is no longer | there. You can make him agree with whatever you want. | | Once there was an expert invited to solve a problem at a | company I worked for. Towards the end of his short visit, we | met in a kitchen and talked for a while. I asked him what he | thought about the problem we had, and he told me his opinion. | After he left, there was a meeting where the managers told us | what the expert thought. It was almost the opposite of what | he told me. Was he telling different conclusions to different | people? Or were the managers just lying? No way to find out, | of course. | sdevonoes wrote: | I have passion for programming. I do software engineering just | for the money. | LennyPenny wrote: | regarding the OSS points: The only reason that Google, Fb, etc | can freeload off of OSS is that we abandoned going for viral | licenses (ie AGPLv3) | | The big corps simply will not use such OSS because they would | have to also make their code open. | | More wide adoption of these licenses would encourage a more | healthy relationship between corps and OSS devs. | | It's easy to imagine that in a world where essential low level | software and useful libraries are AGPLed, the current big corps | would probably not be as big as they are today. Instead more | transparent organizations with more sustainable business models | would gain a real advantage. | ofrzeta wrote: | You should not forget that they open sourced a massive amount | of code themselves. | rektide wrote: | > For reasons that are complicated and that I don't fully | understand, the software development community in the eighties | and nineties developed a culture of anti-capitalism and liberal | values that put technology on a pedestal for its own sake. Open | source good; commercial software bad. Free software good; | commercial software bad. | | I think a lot of techies believe there is massive untapped | potential in information technology, and to some degree that the | commercialism occludes humanity from gaining a fair, reasonable, | and developing perspective on how computation and _communication_ | happens in the modern world. | | We see the world not as being well served by the software and | services about, but as being made helpless, as suffering real | pain, and never being given the chance to understand or grapple | with issues we encounter. The current system is not a fair shake, | and does not permit the formation of human will. Computing | technology is too amazing, humans have too much awesome | potential, to be bounded by such a finite fixed tragic end, as | all this. It's long been time to stop playing with shadows on the | wall, & embarking on a more honest means to make accessible the | tiniest yet most amazing empowering bicycle-of-the-mind creation | of our era is a journey we feel deeply moved to start upon. | notagoodidea wrote: | A friend of mine had the saying "Innovation is for the product | not the employees." When a talking about a former place of work | mentality. I use it in my cover letter when I explain why I | choose to apply to X company by stating that they don't fit this | mold. | | Same during interviews, when asked if I have contributed to open | source library, I answer not at at work and that I don't program | that much on my free time. It may not serve me well but it is the | last bastion of honesty that the hiring process allows me. | Besides that you are still just selling yourself to whoever take | interest in your case. | johncessna wrote: | > You're expected to 'contribute' to open source software. Why? | Because employers want employees who are passionate about their | craft. | | Like others have mentioned, I don't really see this in the | industry. That said, I think it's less a quest for the | 'passionate' developer and more a quest for a good employee who | can contribute to the task at hand. | | Companies don't want 'passion' they want someone who will work | hard on their product and be a great return on investment for the | company. How do you measure that? That's hard. Detecting it in a | 1-4 hour interview is also hard. Or, they can take the easy way | out, generalize, and look for markers of that behavior, such as | working an open source project 'job' in addition to their daily | job. | wccrawford wrote: | It's been a while since I've applied for a new job, but when I | was, they might have asked about OSS contributions, but I don't | think they really cared. It was just a way to better judge my | ability. | | Likewise, when we interview people, we ask if they have a github | repo or other portfolio, but it's about their code, not about | OSS. I don't care if it's private code or OSS, so long as I can | use it to judge their skill level. | | And if they don't have anything like that, it's not a mark | against them... It's just harder to be confident in their | ability. | | We do a short test, but any test that actually tests their | abilities would be too time-consuming (and thus expense) to give | to more than a handful or candidates that we were already pretty | sure of. | swader999 wrote: | I've taken pay cuts to work with people I consider good mentors | over the years. I don't see it as any kind of a detraction. | Tabular-Iceberg wrote: | > If you're tired of working with legacy code without tests, most | of your suggestions for improvements will be met by a shrug. We | don't have time for that now. It's more important to deliver | value to the customer. | | This is what bothers me the most. Whether it's about tests or | something else. Even clean slate "let's get everything right this | time" projects degenerate into legacy code within weeks with this | mindset. The "It's more important to deliver value to the | customer" line is especially insulting, since it's not as if the | developers are trying to sabotage the delivery of value by | writing tests or sanitising input or whatever the conflict is | about. We know that high quality code is faster and cheaper to | build than low quality software, but it's counter-intuitive to | most managers. | | And you need sympathetic managers to get the software right. | Business rules are rarely clear, orthogonal or consistent. Which | is not actually a problem for humans, but until we have | artificial general intelligence, it is an insurmountable one for | computers. But unsympathetic managers will not want to have long, | uncomfortable conversations about deducing what they actually | need from what they think they want. So developers are instead | forced turn messy rules into messy code as best as they can, and | put out fires whenever they break out, which they will all the | time. | | And perhaps the most insidious thing of all, spending all the | time putting out fires means they don't get real world experience | they need to build a robust system on time. If managers let them | try once it would just make them look incompetent. And if they | quit, their experience putting out fires will be worth nothing to | companies who actually value proper workmanship. Their only | option would be to join another death march company. | | I think this the biggest reason why most software, especially | enterprise software, is so bad, and isn't likely to improve in | the foreseeable future. | majormajor wrote: | I have seen this be the fault of developers as much or more | than management - even for that "let's get everything right | this time" sort of project, devs who interpret that as "let's | build a beautiful intricate machine that does exactly what we | want it to today" are fare more common than devs who build | something that will be able to evolve for tomorrow's needs. | Management rarely is involved or interfering there, when a dev | or dev team decides to abstract over messy rules to make | something "clean" - but in the process just encodes the | messiness deeper, and in a harder-to-change way. | | A dev who's _also_ focused on "how can I deliver value to the | customer" is really the only person who can make the right | choices there, because the code has to be designed to make sure | future valuable changes can be made, vs designed for a specific | "snapshot" of specs. | | And yeah, it often becomes a cycle, where management doesn't | trust devs to build systems that won't suck, because devs | haven't shown they can build systems that won't suck, because | they're constantly just fighting the old systems that suck | instead of having good training/experience building ones that | don't... but I can't put that on non-technical management. We | don't _want_ non-technical management trying to tell us how to | build a system, we just have to get better at it ourselves. You | _can_ do that by working on a bunch of broken systems, but you | have to be thoughtful about it, and reflect on what you learn, | and not just be distracted by "ooh, new shiny framework will | make this better!" | Tabular-Iceberg wrote: | > I have seen this be the fault of developers as much or more | than management - even for that "let's get everything right | this time" sort of project, devs who interpret that as "let's | build a beautiful intricate machine that does exactly what we | want it to today" are fare more common than devs who build | something that will be able to evolve for tomorrow's needs. | | Yes, but more due to inexperience than anything else. | Projects tend to start out under-abstracted because modelling | takes time, and they were told time to market was the #1 | priority. So the natural reaction when that approach breaks | down is to dust off the old design classes from school and | create an all-encompassing model of everything in the | business. Of course in the safe confines of college | assignments they never got to experience what a pain that | really is. | | > Management rarely is involved or interfering there, when a | dev or dev team decides to abstract over messy rules to make | something "clean" - but in the process just encodes the | messiness deeper, and in a harder-to-change way. | | That exact lack of involvement is a big part of the problem. | The idea of chucking PowerPoint mock-ups for CRUD screens | over the fence and telling the devs not to worry their pretty | little heads with any domain knowledge. I think Eric Evans | has the solution to this problem with Domain Driven Design, | but DDD requires a huge commitment on both sides to meet in | the middle, sit down and work it all out. But neither have | the time for it the way businesses are currently run. | Tade0 wrote: | I believe there's a way out of this and I've seen at least | one successful attempt - it's having regular group | practice/rehearsals/drills/wargames or, to put it in a more | familiar term - internal projects. | | On one hand developers get to scratch their "ooh new shiny" | itch, on the other management doesn't risk any deadline from | people trying new ideas when there's no time for that. | | Unfortunately few employers are willing to go this route due | to the associated cost. | jancsika wrote: | I'm going to follow the author's line of reasoning. Please tell | me what I'm missing: | | 1. For reasons that are complicated and that I don't fully | understand, Americans smile at each other. | | 2. Ad agencies show pictures of humans smiling at each other in | order to exploit humans into buying products they don't need. | | 3. Americans should stop smiling. | jbandela1 wrote: | >As you start to ponder the implied ethos, the stranger it gets. | Would you like engineers to be passionate as they design new | bridges? Would you like a surgeon to be passionate as she | operates on you? Would you like judges to be passionate as they | pass sentence on your friend? | | The answer is yes. In terms of engineers and passion, I would bet | that an engineer who is passionate about designing bridges would | be one that would have studied past designs and failures of | bridges in great detail, be up on the latest benefits and issues | in material science, who was aware of special considerations for | weather or location. I would also bet that engineer would be able | to design a better bridge than one that was just doing it purely | because it paid money. | | As for surgeons and passion, when I was in neurosurgery, the best | surgeons I knew were passionate about their work. They were | constantly reading the latest journals, attending conferences, | going to courses to hone and refine their skill. They were also | constantly evaluating themselves to see if they could do things | better. Then there were others who were just coasting on what | they knew worked in the past. I would rather go to a passionate | surgeon any day. | | As for judges, I would like a judge who is passionate about the | law and justice. I want a judge who not only knows what the | current law says, but who has researched and knows how it came to | be, the various precedents and circumstances that law has been | applied. I want one who has contributed review articles to law | journals, versus a judge who quickly does a Google or Lexis-Nexus | search about the law to supplement their knowledge from 15 years | ago in law school before they render their judgement. | b3kart wrote: | There's "passion" and there's "professionalism". I would | categorise many of the activities you mention under the latter. | Passion isn't the only reason to try to be good at what you do | and get ahead. Pride, ambition, a sense of responsibility, etc. | are all good reasons too, and it's easier to associate them | with surgeons and judges. "Passion" is just a bit of a weird | word to use when it comes to such work, maybe because it's | often associated with creative endeavours. | akdas wrote: | Last year, I wrote about the prisoner's dilemma of training your | employees[0]. As Mark points out, many companies don't invest | because they don't find it valuable. What I tried to point out | was that big tech companies already _are_ investing heavily in | their talent, and especially as these companies start pulling in | less experienced people to train up, companies that don't invest | are going to fall behind. | | I don't know how convincing that argument is, but hopefully | realizing how much investment the big tech companies are putting | into their talent is eye-opening for some people. | | (Note: I talked about investing in junior employees, but the idea | applies to all your employees.) | | [0] https://hiringfor.tech/2020/09/07/the-prisoners-dilemma- | of-t... | Tabular-Iceberg wrote: | > Open source good; commercial software bad. Free software good; | commercial software bad. | | I don't get it, is he being facetious or am I missing the point | in some other way? To anyone in tech those are obviously | orthogonal concepts. There is commercial FOSS, commercial | proprietary software, non-commercial FOSS, non-commercial | proprietary software. | | And if you think commercial software is the problem, as some | communist hard-liners that I've talked to, the only logical | conclusion is to do as they did, vehemently oppose FOSS licenses | since you're not allowed to restrict commercial use of it. | | Of course the F camp emphasise the personal values while the OS | camp emphasise the commercial opportunities. But I don't think | RMS was trying to "stick it to the man", he was just trying to | print some listings. And big businesses like Microsoft have | sensibly come to the same conclusion, that sometimes it's nice to | have that same freedom. | | > The idea of free software, for example, has led to a software | economy where you, the user, are no longer the customer, but the | product. | | I don't see how it has led to that at all. It's just different, | not as polished, but if you have the know-how you can fix things. | You gain some, you lose some. | musicale wrote: | I read "commercial" as "proprietary." | yellowapple wrote: | > The idea of free software, for example, has led to a software | economy where you, the user, are no longer the customer, but the | product. | | No it hasn't, unless the author is conflating free software with | free beer. Free software, if anything, leads to the _opposite_ : | empowering users to take stronger ownership over the programs | they use. | vemv wrote: | I'm shamelessly passionate about software development, but I | don't project it being a big part of my life forever and ever. | | For example with covid, I have fewer other possible hobbies so | doubling down in this specific interest is both fun, and a sound | investment. | | And also age/trajectory matters. I'm at year 10 of my journey, | probably around year 20 I'll have completely different priorities | in my life. | [deleted] | varispeed wrote: | If a company is looking for an open source work in the candidate | CV it means they want to know if that person is keen on providing | work for free. It means that the candidate shouldn't have | problems staying over time without pay because it is his or hers | passion. | | There is a distinction between passion and exploitation. You can | be passionate without having to give away your labour for free. | Big corporations want people to work on open source because it | saves them R&D money. Some projects take years to develop and | that costs millions had the companies had to pay salaries and | taxes, but instead they can just appropriate the project once it | is mature enough, pat the developers on the back and then make | billions off of it without sharing a penny. | | You can be passionate and develop your own business, own projects | without having to share them and saving corporations money. | | To level the playing field big corporations should be required to | pay royalties to open source contributors. | dfilppi wrote: | Not seeing why employers are to blame. Developers are the ones | that decided their work is worthless. | commandlinefan wrote: | > their work is worthless | | So, I'm old enough to remember a time before widespread open | source and even before the world-wide-web itself. I was paid to | work on whatever my employer thought they could sell, but not | necessarily what I was interested in learning more about. When | Linux came out, for example, I thought that going through it | and maybe even working on it would be a great way to learn more | about operating systems in a way that I would never get a | chance to do professionally. Being curious about something | isn't necessarily declaring it "worthless". | | That said, I agree with the author that it's scummy to demand | it of employees (although I've never seen that myself). | ARandomerDude wrote: | There's a feedback effect where those developers get hired and | then become the hiring managers (employers). So the line | between developer and employer is gray enough for some blame to | lie on both sides. | commandlinefan wrote: | Quite a few years ago, I was approached by my then-employer who | asked me if I programmed in my spare time outside of work, and I | said I did. He said, "great, I have this outside software that I | sell, and I'd like somebody to work on it outside of work hours, | but I don't want to pay you to work on it." He was disappointed | to learn that I wasn't as "passionate" as he had hoped. | sokoloff wrote: | Glad to hear that they're an ex-employer. I 100% believe that | conversation happened, but I 0% understand why people think | that would be remotely reasonable for you to agree. | nickjj wrote: | I like the article overall but I'm not sold on the passion ethos | section as it was written. | | The author hints that they wouldn't want a surgeon who is | passionate because they should be making rational decisions. | | But IMO passion isn't all about making an on the spot emotional | decision without thinking things through. It's about their | willingness to continue learning and advancing their craft | because they have the motivation and passion to do so without | getting burnt out. They do it because deep down it's truly what | they love doing. | | So in the surgeon example, would you rather want the surgeon who | clocks in and out for the day and that's it while doing the bare | minimum to keep their license? Or the surgeon who puts in similar | hours but also decides to speak at conferences / universities | afterwards and is keeping up with everything while evolving their | practice? Perhaps they do more work (surgeries), but not putting | in more hours. Maybe they specialize in 1 thing and then just | crank that out continuously to become an expert in their field. | | If given the choice I'd go for the more passionate surgeon every | time. | nightski wrote: | Meh, the surgeon obsessed with self promotion and status | seeking might not be the best one as they may be more focused | on themselves than the task at hand. | nickjj wrote: | > Meh, the surgeon obsessed with self promotion and status | seeking might not be the best one as they may be more focused | on themselves than the task at hand. | | The ones I've talked with are more interested in the | implementation details, changing lives for the better and | sharing what they've learned so everyone as a whole can rise. | | Their practices are also wildly successful without content | promotion and no to very little social media presence. These | are the folks doing 750+ surgeries a year while being | surrounded by relevant cases all the time. Basically total | immersion in their field and then openly sharing everything | with their colleagues. | varispeed wrote: | It does not mean everyone is like that. I was in care of | one of world renown specialists in their field and I was | just a case to them. They were more interested in | documenting what I am going through in their journals than | finding out how to help. At least this is how I felt about | it. It may look great for an outsider, as they write | papers, speak at conferences, show their findings, but | somehow the human element is lost in all that. | varispeed wrote: | I know people who are exceptional developers and they don't do | it as a hobby, because they have other hobbies more important | to them. They have tasks at work that are fulfilling enough and | carrying it home or making it more than it is would probably | burn them out. It's not like if you are a surgeon, then it is | the only thing in your life. | nocman wrote: | I hear what you are saying, but in fairness to the author of | the article, he did say he would like people to _care_ about | their vocation. | | Also, I'd rather have a surgeon who was skilled, cared about | his profession, and _also_ was not burned out from overexertion | trying to be "passionate" about his job. | | I think the medical field in general (not unlike the software | development field in general) often undervalues people's time | outside of work. It's fair to say that some fields require more | investment from those that work in them, but in every field | there is a point when investing even more of your time and | effort is counter-productive. | zabzonk wrote: | Totally agree about "The passion ethos" - nothing gets up my nose | more people who claim to be passionate about things that it | really isn't possible or sensible to be, and who don't seem to | know the meaning of the word, but just use it because it is | expected of them, or they think it is. | not_knuth wrote: | The more people use it this way, the broader the acceptance of | that usage becomes, the more often you will encounter people | who will apply the argument you provided to your usage of the | word. | | - yours sincerely, the descriptivists of this world | jaccarmac wrote: | It's a thought-provoking article, but contains several serious | contractions in terms. | | > For reasons that are complicated and that I don't fully | understand, the software development community in the eighties | and nineties developed a culture of anti-capitalism and liberal | values that put technology on a pedestal for its own sake. | | Liberalism is by definition pro-capitalism. It's not pro- | capitalism in the libertarian sense of "free markets", of course, | but it's not like Silicon Valley doesn't have its right- | libertarians, too. I think this analysis has it exactly backward. | I find the position proposed in The Californian Ideology much | more compelling: The culture Mark is talking about was a fusion | of market liberalism, countercultural signifiers, and techno- | utopianism. | | > The idea of free software, for example, has led to a software | economy where you, the user, are no longer the customer, but the | product. | | This is almost exactly what the notion of "free software" was | invented to oppose. "Freedom" in software isn't supposed to be | about price, but about liberty. Free software can absolutely cost | money, but if it starts treating its users like products, it is | by definition no longer free software. Of course, this is exactly | why "open source" became so popular... | | > The idea of open source, too, seems largely defunct as a means | of 'sticking it to the man'. | | Open source was never about "sticking it to the man". Open source | is a defanged version of free software, where the only freedom | left is the one which hurts the man the least when exercised. | | Post-Open Source by Melody Horn is also recommended reading here. | agloeregrets wrote: | I'm betting on this article being controversial here somewhat. | The point on OSS is hilariously true though. Like, everyone does | realize that the tech giants just found a way to make the | community work for them and to make money off the backs of it | right? OSS is great for almost everyone, don't get me wrong, but | in whole, the largest tech companies in the world have gotten an | entire community to test, fix, and develop software for them at | zero dollars. Small devs can make some use of it, but the gains | mostly go to FB, Google, MS, and more. Those OSS contributors who | believe their work is bettering the community based on the | (entirely moral good) concept of Free and OSS who have had their | house gaslit against them do not get paid for their work that the | large companies gain from. | | I almost feel like that for-profit companies of a certain scale | should be charged a reasonable licence to use OSS software and | that money should be re-distributed. I know there is GitHub | Sponsorships but now that MS runs that, well, there went that. | Large companies are parasites that have zombified OSS with cute | "X <3s OSS" icons and marketing. | | _Beyond that_ , the bit on passion being a weakness is | incredibly important. I have been mulling that over the last few | years in America. Extreme political movements tend to cater to a | popular passion that they can then bend to their will (such as | religion) that they then try to tie their movement to it. (E.g. | "You are not a [religion/passion here] if you support [political | opponent here]", even when the usurper's agenda is not clearly | aligned to the religion.) | commandlinefan wrote: | I kind of wonder about the opposite. Back in the 90's when open | source really took off, open source projects were useful things | like Linux, MySQL and GCC: open alternatives to commercial | software. Now that open source has become "important", though, | we see more and more things like Spring and Angular: idiotic | useless "frameworks" that seem to exist solely for the sake of | existing and padding resumes. | oblio wrote: | Spring was released 19 years ago. MySQL was released 26 years | ago. It's not such a big difference as you're claiming, | especially since MySQL really took off around version 4 or | so. | | I'm not sure you can put Spring in the same category with | Angular, plus Spring definitely filled (fills?) a niche | that's useful: pre-built components for Java, especially for | enterprise development. | PragmaticPulp wrote: | > Like, everyone does realize that the tech giants just found a | way to make the community work for them and to make money off | the backs of it right? | | Virtually every tech startup or company makes use of open | source at every level. We all benefit. | | There's no need to be cynical because big companies are also | benefiting. | oblio wrote: | Big companies have their own gravity. | | The world for sure didn't need Go, yet we got it, and it's | gaining mindshare versus stuff like | C/C++/Python/Perl/PHP/Ruby/OCaml/... (I'm not including Java | and C# as those are also enterprise languages). | | Angular, React, same story. | | Sometimes it's good, but with stuff like Dart you can | definitely feel thatsome Googlers are bored and desperately | want to own their language instead of contributing to a pre- | existing language. | | Reason vs OCaml, etc. there are a ton of examples. | | Basically big companies can afford to throw a ton of money | into their own open source projects, basically depriving true | community open source projects of the attention/oxygen they | need. | | There are pluses and minuses to this... But we should | definitely start pushing back when the open source project is | a clear open source "land grab" (for example to me Dart | definitely falls into this category). | lucian1900 wrote: | There is little difference. The vast majority of programmers | are workers without any kind of ownership, but still expected | to volunteer unpaid time to open source projects for career | advancement. | rvense wrote: | No company I've worked for would be able to exist without | free software. Literally everything I've ever done | professionally has been Linux, nginx, Postgres, frameworks, | etc. | | On several occasions, I've found a bug and suggested that I | spend time going to the framework source or whatever to fix | it. I have never been allowed to do it, we've always just | worked around it. There has been no concept of giving back. | | I suppose Facebook et al are probably better in that respect. | BlargMcLarg wrote: | It's not that they make use of open source. It's that some | have the gall to expect developers to contribute to open | source in their own time, rather than working on their own | projects or contributing to open source on the company's dime | (the last one being, by far, the best option for humanity as | a whole in a vacuum). | | Though the main problem is in companies expecting too much | from their employees (see: "looking for starter with 5 years | of experience in framework X Y Z, language A B C and | preferably knows devops front to back"), it is somewhat naive | to expect a passive force can only be beneficial to everyone | while the majority power is still in hands of employers and | employees are too decentralized and unorganized to fight it. | sokoloff wrote: | I don't _expect_ my employees or candidates to contribute | to open source, but the curve of those who do is shifted to | the right in my opinion over those who don 't. (It's the | practical part of why I fight for HR policies to allow | continued contributions to open-source, even unrelated to | work: because otherwise I close myself off to that subset | of the population, in addition to my philosophical stance | of 'what you do outside of work is none of my business'.) | | It's in much the same way if I were recruiting for an auto | mechanic for a repair shop, a body shop, or a race team: | someone who had their own custom car is probably a better | bet for me than someone who is otherwise identical on paper | but drives a stock Toyota Camry. I'll absolutely hire the | qualified driver of the Camry, but I'll prefer the driver | of the '65 Candy Apple Red Mustang that they restored and | painted in their garage. | [deleted] | agloeregrets wrote: | The point I'm making is that large companies benefit on a | scale much much larger than others. Facebook isn't just | gaining from OSS because they can use other's repos, they are | gaining because they can have others fix and build their own | repos. The Gameplan is to gain from the community, not | contribute. Sure, React is nice and fine for the community, | great framework...but the intent is not to help the community | in the first place. | the_local_host wrote: | As far as I know the goal of free software was never "free | for those who pull their weight by contributing." It simply | meant free to run, change, and distribute, without any | obligations except that the right for others to do the same | had to be preserved. | villasv wrote: | > The point I'm making is that large companies benefit on a | scale much much larger than others. | | They do benefit immensely, but no by having "others fix and | build" their own repos. You're overestimating the source | code contributions and underestimating the cost to manage a | hugely popular project. | | > The Gameplan is to gain from the community, not | contribute. | | This is just silly. The """gameplan""" is to contribute and | AND grow a community, which benefits everyone. Does it | benefit more the company than the community as a whole? | Maybe, but that's petty reasoning. | BlargMcLarg wrote: | I don't necessarily agree with "The Gameplan". Yet the | inverse, the idea that the majority of companies in a | position to contribute to the communities they utilize, | is just as much something I have yet to see. If anything, | the overwhelming attitude I see in companies is "this is | our secret sauce, and we don't want to let go of it | because a competitor might use it and one-up us", while | making liberal use of e.g. open source Unix distros and | open source libraries. Confidentially clauses. | | Even many companies who do eventually release parts of | their secret sauce (e.g. Google, Facebook) first secure | their financial and tech positions before they do so. In | other words, when they _do_ release their secret sauce, | the good will they get far outweighs the risk of a | competitor improving on top of their secret sauce and | getting a significant chunk of their market. | villasv wrote: | > In other words, when they do release their secret | sauce, the good will they get far outweighs the risk of a | competitor improving on top of their secret sauce and | getting a significant chunk of their market. | | Which is completely understandable? I can't see how | things would be different and I'm still pretty satisfied | with the outcome of releasing "the secret sauce" after it | is a bit more stable instead of going through a turbulent | development (looking at you, Angular). | deepstack wrote: | >I almost feel like that companies of a certain scale should be | charged a licence to use OSS software and that money should be | re-distributed As far as I'm concerned, FANNG companies (plus | MS ) ought to treated differently than other companies. As they | are quasi gov-entities getting subsidies from government | contracts and use security market to leverage money. I mean | Windows is still using the FreeBSD network stack for all these | years. | kiba wrote: | Then get paid for the work. I just don't want licenses that | pretend to be OSS or Free software when they are not. | jaccarmac wrote: | > Like, everyone does realize that the tech giants just found a | way to make the community work for them and to make money off | the backs of it right? | | People are starting to realize this, but to understand it it's | important to disambiguate "free" and "open source" software. | | See https://www.boringcactus.com/2020/08/13/post-open- | source.htm... for one perspective. | tayo42 wrote: | Yeah I struggle to find the words but I lost interest in | hacking on stuff because it's mostly just corporate stuff. Like | any major project, it's for businesses. I think user/people | focused computing use is mostly solved. None of this stuff is | for making regular people's lives better, it's for making | businesses run. | watwut wrote: | The thing is, bulk of OSS development is paid by big companies. | Based ok FOSS developpers survey, we can safely say that | majority of OSS developers are paid for that work. And a lot of | those money goes from bif companies. | | Practically, these are not in free time weekend projects. Tech | people are really invested in mythology of it all being done | for free or mythology of everyone having side project on top of | work. Neither is reality. | Derpdiherp wrote: | Maybe it's the jobs that I've worked, or the country I'm in ( UK | ). But I've really not seen this shift towards looking at | portfolios of open source work rather than CV's. Every company | I've worked for has requested a CV, and often does some form of | test or in person interview centred around programming problems. | The tests vary in quality and depth. | | I wouldn't think of myself as a passionate developer. I have a | family, I value my free time. I spend work time growing my skill | set as it's required, anything else I do is rarely related. | | I have a feeling that there's a silent majority of developers | such as myself, that do enjoy programming and have a "passion" | for it, but do not let this passion dissuade them from family | time, or having more varied down time. | | I think for a lot of people it's a dangerous game to be spending | every waking moment working for a company, then spending your | down time scraping together stuff for open source contributions | etc. | | I salute those that can and do though. | ehnto wrote: | In Australia, and I concur. No one expects you to have OSS | contributions and it's enough to have work experience. | | Thank goodness. I didn't spend all these years working for it | to be ignored in favour of a few hours a month patching | people's shit for free. My work experience is also 9-5 week | after week of solving real business problems, which can be | messy and requires pragmatism. Just working on OSS doesn't | prepare you for work, it's a great start, but OSS projects are | often very clinical, perfectionist and academic. Work has messy | business requirements, legacy code and the need to deliver good | work in a timely manner. | | If I had to start as a new developer again, I would still just | do pet projects, not OSS. You can be very targeted in your | demonstration of skill with a pet project intended to get you a | job. | peruvian wrote: | Same here in the US. Forums like HN and /r/cscareerquestions | overrate how many people do OSS or care about it. I think maybe | 5% of devs I've worked with do anything beyond the 9-5. | Izkata wrote: | There's also a chunk of us in the middle, who don't do open | source, but still learn and have our own projects outside of | work hours. | oh_sigh wrote: | I never quite understood that advice. I've worked for | multiple FAANGs and have no OSS or really any online presence | tied to my name. Just practicing interview-like problems in | an interview-like setting is a far more efficient use of time | than doing random OSS work if the end goal is to get hired. | Those companies really don't even look at your commits to | their own codebase when they are considering promoting you - | they aren't going to delve through your open source projects | to hire you. | | Just do things like implement a heap or boyer-moore in | pseudocode or python on pen and paper without referring to | google. | pydry wrote: | cscareerquestions is heavily weighted towards graduates | fighting tooth and nail to secure a first job with companies | that mostly view them as an undifferentiated commodity. | There's way more supply than demand. | | It probably _is_ a better way for graduates to differentiate | themselves than experienced engineers. | PragmaticPulp wrote: | On the hiring side, it's rare to see someone come through with | significant OSS contributions. A small bug fix here or there is | about the most I see from 90% of resumes. | | Every once in a while we see someone with a lot of open source | contributions, or even full leadership of a popular project. | These people would really prefer if we believed that OSS | contributions and GitHub profiles replaced resumes or CVs, | because it's where they shine. Unfortunately, doing so would | exclude many great hires who have done a lot of great work at | private companies that doesn't show up on their GitHub. We've | also had trouble hiring prolific OSS contributors who spent | their days working on OSS contributions instead of doing their | job. One candidate wanted their contract to state that they | could spend half of their paid time working on their OSS | project. We passed. | | In my experience, anyone claiming to have a single dimension | credential preference for hiring (usually GitHub portfolio, Ivy | League education, ex-FAANG) is simply hiring for people who | look like themselves. They're not a good fit for unbiased | hiring. | notsuoh wrote: | Taking that a step further, we often actively discourage | looking at OSS contributions during resume review for the | same reason we don't offer take home interview assignments: | it's biased against people who don't have a whole lot of | extra time at home. When we have done either of the above, | the singles who work part time have a bunch of time to | perfect their work suddenly have a lot to show over the | single parents who may be working full time or more. | | I say "often" because OSS contributions can still be an | indicator of something, but it's not really clear what. Maybe | it indicates drive to contribute to OSS, maybe technical | ability, maybe no hobbies or commitments outside their day | job. In our experience it's often the latter, but even so, | it's biased against people who don't have the time to | contribute even if they desired to do so. | | So we typically just stick with the resume for actual | experience and college coursework, if any, but not the | college itself. Using these heuristics we've managed to build | a pretty strong pipeline of people with all backgrounds of | education or experience. | PragmaticPulp wrote: | I prefer to look at everything the candidate has to offer. | | Don't penalize people for not having OSS contributions, of | course, but it doesn't make sense to ignore them. Whatever | credentials the candidate brings to the table should be | taken into consideration. | | Not everyone has the opportunity to go to colleges or get a | first job at a well-known company. If someone chooses to | prove themselves via OSS contributions, let them. | Uberphallus wrote: | Thank you! | | When I was single I had a lot of free time to tinker and go | through coding tests, etc, etc, and cater to whatever | hiring shenanigans were in place. | | First marriage, then a kid, and I find myself grabbing my | laptop after work maybe once a fortnight. I'm always "open | for new challenges" and I regularly apply to positions in | interesting (to me) projects, but more often than not, at | some point in their process they gimme some "take home | assignments" that are a literal week of unpaid work. I've | heard of companies that pay for those assignments, but I've | never stumbled upon one. | | I always drop out of that, thinking, "good luck with that | particular choice of candidate sampling". I might not have | been the best candidate, but most seniors I talk to are | turned off by these things as well. | | Timed coding tests are fine, up to 2-3h, I can squeeze one | of those in most weeks. But, and I'm not making it up, | "implement this subset of the MQTT spec in your language of | choice" as just a step in the hiring process? Hell nah. | austincheney wrote: | So I am married with kids and I have two separate careers | in unrelated industries to balance, only one of which is | full time though. Still I find time to spend with the | wife and kids and I still contribute daily to open | source. It is all about budgeting and balance. What are | you willing to sacrifice. I don't have social time | outside the family and I don't watch much television | unless I am traveling away from the family. I balance | open source against things like gardening and house | maintenance but gardening and house maintenance only take | so much time. | | The biggest killers to my open source contributions are | general life soul sucking killers. For me the worst is | long driving commutes to an office. I can feel my soul | bleeding away. | bcrosby95 wrote: | I doubt I would be able to juggle 2 jobs with my current | pandemic induced schedule. Basically, my time is spoken | for during the week from 630am until 8pm. And that gets | me 6 hours of work. I need to find 10 hours outside that | time to get myself up to a 40 hour workweek. | | I'm pretty lucky in that my wife is a stay at home mom. | My sister in law has a dual income family. They basically | never see eachother, because one has to work during the | day during the week, and the other works nights and all | weekend. They're lucky one of their jobs is so flexible. | austincheney wrote: | During the pandemic many developers are working from | home, so scratch off transportation. Most developers in | the corporate world work 40-45 hours per including lunch, | breaks, and distractions. So normally that could be | something like 9am to 5:30pm. If you have flexible office | hours you can push that to 7am-3:30pm. | | If you are into open source you can spend 2 hours per | night. Where you put that two hours is up to you, but you | need to break for a scheduled meal. A scheduled meal | ensures better nutrition and mental health plus some | dedicated family time. This mean you program open source | from 4-6pm or 8-10pm. Which ever you choose the other is | dedicated time with the kids or chores around the house. | Then you can spend about an hour before bed watching a | show with your spouse. | | You still need time to exercise and I find it's better to | do that in the morning with less mental fatigue so I will | wake at about 5am. | | When you need to participate in a side job that is | structured time dedicated in a scheduled way, one or two | weekends a month and occasional emails and a rare phone | conference during the week in the evening. | notsuoh wrote: | That's wonderful! You sound like a very driven person to | be able to do all of that. Of course, your experience and | ability shouldn't be considered the norm with everyone or | expected of anyone, especially because with finite time | in the day and differing situations, we must strive to | judge everyone on the same plane. | austincheney wrote: | > Of course, your experience and ability shouldn't be | considered the norm | | It is the norm in my line of work. I mean in my other | line of work that isn't a software development. | notsuoh wrote: | Oh sure, sorry I should have clarified, I was talking | about software development. I thought that was implied, | but happy to be explicit. | austincheney wrote: | I also find it strange how some people are so incredibly | emotional about this subject like being punched in the | face or having their car stolen at gun point. | | I like programming as hobby so I _choose_ to program | outside of work. By no means is that sentiment meant to | suggest any form of hostility. There isn't even any | competition implied. | pydry wrote: | I wrote open source initially because I wanted to skip | those assignments but still be fair to the hirers and | because it took less time and was WAY more fun than take | home tests. | | What I discovered was that they'd be willing to make me | work 5+ hours on their assignment but wouldn't spend 5 | minutes reading my code. | | Though it wasn't my intention it inadvertently gave me a | quick and easy way to filter companies which actively | disrespect candidates' time. | notsuoh wrote: | It takes more than five minutes to review code, | especially when it's of a volume you describe. You're | also really trying to replace the metrics against which a | company measures candidates and insert your own metric | and then complaining that they don't use your metric. I | wouldn't expect you to use my metric when interviewing me | for your company, so don't think it's fair to try to | insert your own metric for others (though you're welcome | to vote with your feet). | pydry wrote: | It takes more than 5 minutes to thoroughly review code | but you _can_ learn a lot from only spending 5 minutes. | | Ignoring it completely also sends a signal to the | candidate. IME this red flag is usually paired with 5 or | 6 other red flags. | pydry wrote: | >I say "often" because OSS contributions can still be an | indicator of something, but it's not really clear what. | | It's a fairly clear signal of skill quality and attitude. | | Reading open source commits/PRs and issue trackers tells | you quite a lot about a developer which you can't see | without some sort of a test (often not even then). | | >it's biased against people who don't have the time | | Surely any career that requires a high level of skill and | practice honing that skill is biased against people who | don't have the time? | | What's special about open source? | bauerd wrote: | It's not about merit but about bias | pydry wrote: | So you'd consider it anti-meritocratic? | californical wrote: | You generally become better with more practice though, | right? Whole 10,000 hours thing? Surely someone who | spends more time developing will be better at it. | | Now of course this doesn't matter past a certain point -- | people could spend all their time working on something | that doesn't help them grow. | | Then once you have those 10,000 hours of actual growth, | you are probably close to a Senior developer level. Which | after 5 years in an office job working 40 hour weeks, | you're there anyways. | | But at the earlier levels of developers, it seems that | working on projects outside of work would definitely help | you improve faster! | notsuoh wrote: | I trust that all that practice would make someone | interview really well, no need to look at how much | practice they've had as a metric. | watwut wrote: | > You generally become better with more practice though, | right? Whole 10,000 hours thing? | | Except that 10000 hours thing is non scientific nonsense. | | To improve, you have to practice right way. If you code | for 8 hours at work, coding 2 further hours wont make you | improve more. Similarly, if you want to improve in music | or running, just playing songs or jogging means you will | hit plateau pretty fast. After that, you have to train on | correct selection of exercises. | | At that point reading some theory will have much bigger | impact, because yoi are doing something new. And even | exercising will likely make you improve more due to what | it does to body then further 2 hours of the same. | notsuoh wrote: | Yes it can tell a lot about people who have the bandwidth | to be able to be able to contribute to such. Others may | and do have the same level of skill but didn't have the | bandwidth to contribute to PRs, so by looking at PRs as | an extra we're effectively penalizing those without time, | which has the practical effect of biasing us against | people with kids, people with a full time job and in grad | school, or you name it. We shouldn't be biased against | those people. | | Any career, especially in our field, requires a high | level of skill. We try our best to level the playing | field for everyone while still getting a lot of signal in | the interview process so end up eschewing things like | school attended, talks given, OSS contributions in | evaluating candidates. Anecdotally we've seen little | correlation with these sorts of things and interview | ability or ability at the job after being hired. | pydry wrote: | >Others may and do have the same level of skill but | didn't have the bandwidth to contribute | | And even more have the potential to become excellent | coders but didn't have the bandwidth to develop it. | | It seems peculiar to single out one quality in particular | that sends a clear signal that a skill has been honed on | the basis that it took time to hone that skill. | | _All_ skills take time to develop. | notsuoh wrote: | All skills to take time to develop, well said. I am | confident that looking at how a candidate interviews will | no doubt show the fruits of that time spent without | weighting too much the time spent, regardless of whether | that time spent comes from contributing to open source, | from their full time job, or just studying and honing | their skills efficiently under harsher time constraints. | We don't want people to target the metric of "time spend | coding on OSS projects" do we? I don't. | | Besides, having a diverse experience base and pipeline | (parents, non traditional developers, non traditional | paths to SWE, and even single people with a ton of time | and fortune to be able to do things like robust side | projects) has served us particularly well in having a | team with a wide breadth and depth of experience and | viewpoints. Specifically weighting side projects in lieu | of technical/EQ interview performance would ruin that in | favor of the latter group. | pydry wrote: | >We don't want people to target the metric of "time spend | coding on OSS projects" do we? | | Nobody said that we did. | | This is about ignoring OSS contributions vs. reading them | taking them into account - i.e. deliberately ignoring a | signal of quality because it might, for instance, | discriminate against people who chose to have kids. | | I find it particularly ironic coz part of the reason I | wrote open source was to save time - to skip wasteful | technical interviews that it ought to be obvious are | unnecessary if I have public evidence I can code well. | notsuoh wrote: | We don't ignore them completely, we just weight them | very, very low, as I've indicated. They do provide | context. Your phrasing "chose to have kids" betrays some | of your underlying beliefs, I suspect. We'll likely just | agree that we weight things differently and are willing | to forego some otherwisee excellent candidates to index | more heavily on being fair to everyone in the process and | judging them to the same standards. This is a conscious | choice, and so far a very good one. | | To your second point, I can't think of a single thing I | would let be a proxy for technical skill in an interview | process -- certainly not some commits to open source. | (Maybe if I had worked side by side with the person in a | previous life would be weighted) Even if we did use that | as a proxy, it doesn't really save time because people | would have to inspect the work and still doesn't really | tell me anything about the candidates approach to problem | solving or framing of issues that I can get from pair | programming or walking through some code for an hour. | | I applaud all your open source contributions and | appreciate them, but I wouldn't consider them in whether | to hire you except perhaps at the margins. Others may | disagree and that's their conscious choice or they're | indexing on something different. | pydry wrote: | >Your phrasing "chose to have kids" betrays some of your | underlying beliefs | | I did suspect that underlying your opinion was a desire | to discriminate in favor of parents/against non parents. | | This would fit in with the double standard I highlighted | in my first comment. | | This was also because you mentioned "parents" in the | context of diversity (which is weirdly unique). I threw | that phrase out there to see if it triggered you. | | >To your second point, I can't think of a single thing I | would let be a proxy for technical skill in an interview | process -- certainly not some commits to open source | | I've not worked with a huge number of developers who have | made > 3 significant pull requests to a serious OSS | project but every single one has been stellar. | | I've worked with a lot of developers who can do the | cracking the coding interview dance who _sucked_ and even | more who interview well in other ways. | notsuoh wrote: | I don't discriminate in favor of or against any | particular group and am not a parent myself, though I | have parents. I do recognize that many parents are often | particularly overworked and can't jump through the same | hoops you have time to jump through, which is why the | example came to mind. That's all, no offense or | "triggering" (???) intended and apologies if it came | across like I was trying to rile you up. Per HN | guidelines, you should be taking the strongest form of | any argument though, to be fair. Regardless, I think | you've gotten your point across and I believe I | understand your motivations. | WalterSear wrote: | > for the same reason we don't offer take home interview | assignments: it's biased against people who don't have a | whole lot of extra time at home. | | This is just another single dimension hiring credential, | that will result in limiting your hiring pool to people | like yourself. My code ran on 70+ million machines last | month, but I've come to decline any timed or proctored | technical interviews. | | It's not that I'm too good for whiteboarding or timed | tests, or that my options are so open that there isn't | significant cost in doing so - quite the opposite: I'm come | to find the process so traumatic that going through with it | isn't worth it for anyone involved: those jobs just aren't | open to people like me. | iguanayou wrote: | Agree | notsuoh wrote: | We look at CV and then have an interview process. We | don't do proctored timed interview coding questions in | the usual sense, though we may walk through code. I | understand the reluctance of a senior engineer such as | yourself to go though any interview process, but to be | honest I've interviewed plenty of engineers with decades | of experience and many have completely fallen flat. | Interviews aren't just about technical knowledge, but | also to make sure people will get along and are | reasonable to work with. | | I think we'll agree that there has to be _some_ interview | process. iirc node's Left Pad package is downloaded like | 20M/mo. | WalterSear wrote: | Yes, that's very different, and much more reasonable than | most places that don't do take home technical | examinations. | | There's obviously a fundamental necessity to evaluate a | candidate's technical skills directly, rather than | relying on credentials - my issue is with the false | expedience and conflationism of timed and artificially | performative technical evaluations, and my personal | difficulties with the social requirements inherent to | them. | deergomoo wrote: | We're having a bit of a debate about this internally as the | company I work for is struggling to hire good candidates. | For a while we've had a take-home test and that has | increased our success rate somewhat. But as you say, we | really don't want to lay unreasonable expectations on | people who may have other obligations, but we've had many | people in the past who've interviewed very well but turned | out to be completely incompetent when assigned to a real | project. | | Maybe we're just really bad at interviews? It probably | doesn't help that management here is almost entirely non- | technical. There's usually a developer or two sitting in on | the interview to try and balance it out, but I don't think | any of us would consider ourselves particularly good at | interviewing people. | ChefboyOG wrote: | Oddly, the last technical interview process I went | through was the best and in some ways, the most old | fashioned. | | There were three "rounds": | | 1. Phone screen with actual lead developer. There were | some quiz-y questions here, which I'd previously thought | of as a silly outdated approach, but it honestly was a | low stress filter for basic technical knowledge. | | 2. 90 minute pairing exercise with the same lead | developer. We built a small example app together. | Resources were sent over ahead of time so my environment | was good to go, and the expectation was set from the | start that the goal was to assess how I thought and | approached code, not to see how far I could get in 90 | minutes. | | 3. 4 hour "on site" where I talked to each developer on | the team I'd be joining. No technical exercises. Each | person came with their own questions, and expected me to | ask mine. | | What I took away from the experience was that companies | are seriously overthinking and over-engineering the | process. There isn't a magic heuristic you're going to | discover that will identify "10x engineers." You can vet | if someone is technically competent enough for the role, | approaches software in a way that gels with your org, and | if they have any red flags in fairly straightforward | fashion that doesn't require enormous amounts of prep for | them or your team. | notsureaboutpg wrote: | >For a while we've had a take-home test and that has | increased our success rate somewhat. But as you say, we | really don't want to lay unreasonable expectations on | people who may have other obligations | | These are mutually exclusive things. Candidates who have | more free time to code are more likely to be better at it | than those who don't (all else equal). Candidates who | have OSS maintenance / leadership experience are more | likely to work well in teams (all else equal). | | If you choose not to weight those things, to balance the | playing field for people who have more obligations | outside of work, then you'll also have lesser quality | candidates (again, generally). | | So if you're struggling to hire good candidates, maybe | it's a good idea to weight these things (and bias against | people with less free time outside work). Once you have | good candidates, and this is no longer a pressure on your | business, then it might be a good time to try and balance | the playing field for new hires. | | But you cannot balance the playing field and also hire | the best candidates. The best candidates _will_ have | unfair advantages in general. You can either lean towards | having the best or lean towards balancing the playing | field. | sokoloff wrote: | We should try to eliminate _irrelevant biases_ in the | hiring process but we are fundamentally trying to select | people to hire who will join our company and write good | code. That quality is not evenly distributed in the | population. | | Some of the gymnastics thinking that I see seems to | suggest that we'd seek to hire fluent English speakers by | interviewing evenly across all populations. By all means, | I'd be more than happy to hire someone fluent in English | from China, but if I'm looking for a fluent English | speaker, I shouldn't spent 18.5% of my recruiting | efforts/budget in China out of "fairness". | potatoz2 wrote: | People in China often don't speak fluent English because | they grow up in a country where it's not a spoken | language. | | People who don't contribute to OSS typically don't do it | because they don't have the ability (some OSS code is | held together by duct tape) but because they don't have | time, interest or think it's harder than it is. | | If you have better tools to determine if someone is good | at writing code for your company, why use a proxy measure | that's different in many ways? | PragmaticPulp wrote: | > we've had many people in the past who've interviewed | very well but turned out to be completely incompetent | when assigned to a real project. | | Unpopular opinion on HN: This is actually quite common | when you hire based purely on resumes or credentials. | Some people are really good at interviewing and being | charismatic enough to convince people to hire them. There | are a lot of candidates who can talk the talk but really | just want a job where they can browse Reddit and Twitter | all day while writing a couple lines of code every once | in a while. There are a lot of companies that are big | enough for these people to blend in for years. | | Take home tests in the range of 1-4 hours shouldn't be an | undue burden on any applicants, if you give sufficient | time to return the test. Many candidates wouldn't bat an | eye at taking a day to interview on site, so asking them | to spend a couple hours of their free time on an | interview isn't really a disproportionate ask. | | Giving someone a 20-40 hour take home project would be | ridiculous, of course, but reasonably sized problems are | perfectly reasonable. | watwut wrote: | I would find 4 hours a lot. It is basically wholw | afternoon. | [deleted] | wpietri wrote: | > Some people are really good at interviewing and being | charismatic enough to convince people to hire them. | | Totally agreed. Traditional interview processes select | for people who are good talkers. That doesn't correlate | well with technical skill: you over-hire glib people and | under-hire people who aren't. E.g., the shy, awkward, and | anxiety-prone. | | When I run an interview process, I focus on making it as | much like real work as possible. Some pair programming, | some technical discussion, some joint product | collaboration and systems design. It's my firm belief | that if we want to know if people can do a thing, we | should try doing the thing with them. It's not perfect, | but it's way better than asking people about their | 10-year career plan or having them solve Mensa puzzles. | ofrzeta wrote: | We spent some time on making up a quite simple project | with a readme about the tasks to be implemented. It's | something that can be done in half an hour when you are | fast and we always thought we need to make it a bit | harder. Turns out it's good enough to weed out quite many | people who can't keep a deadline or don't get their shit | together in other ways. From reviewing the code you can | judge how people think, if they keep their files and code | in order, use git etc. We also prompt people do document | their process in finding a solution. | portoal wrote: | Interesting, could u share a bit more pls? | ofrzeta wrote: | We made up a problem with technologies that we use at | work targeted at frontend engineers. So we set up a | project with a Symfony backend and made the candidates | create Twig templates and SASS styling based on | Bootstrap. Then we put that up on Github with a README. | So the candidates could focus on the frontend stuff | without caring for the backend. Still they had to figure | out how to set up SASS compilation and modularization of | Twig templates. | | As I said it's not very hard but you can get bonus points | if you come up with considerations for responsive design | or stuff like that. Overall the aim is to create readable | idiomatic code and not come up with something clever that | no one but you can understand. | | I guess that's a very specific task that's of no great | use to others but the point is to have a specific problem | with some blanks that can be filled out with a reasonable | amount of work by the candidates. Plus the general | workflow using git and such. | easton wrote: | Although, if you wanted them to do a longer project, | Basecamp's method where they pay the applicant to do the | project seems like a good way to do it. And you'll get | the most complete picture of their expertise (of course, | you wouldn't want to do this until the last step of the | process). | brailsafe wrote: | It depends on when in the interview process you give the | task, and if they're interviewing with any other places. | If two places do this, a person now needs 8 hours or 12 | in the week you give them. Ask for the task to be done | before properly interviewing them and that presents more | problems I hope that last one dies. | milesvp wrote: | What you may be missing is how hard it is to actually | create a good take home. Every take home test I've seen | was rife with potential for the problem to explode in | complexity. Even things that seem simple like names and | dates have so many potential pitfalls that it can be | impossible to tell as an applicant whether they | intentionally laid a trap or not. Then there's the | incidentals, should I send them a docker image to | increase the odds it'll work on their machine? Oh, | they're going to want me to extend this in real time, | should I include other nice to have services that this | problem could dovetail into needing, like redis? | | As far as I can tell, any company that isn't willing to | pay contracting rates to solve real problems on their | stack is likely being disengenuous with their take homes | and largely biasing against experienced devs who aren't | as likely to waste their time. And worse with a take | home, is that they have no skin in the game. With an in | person interview they lose at least as long as the | inverview. With a take home they lose nothing except | short email exchanges. | nthj wrote: | A code comment saying "Here's a potential pitfall we | could discuss addressing" is often more valuable than a | solution. Every software project has more problems than | it has people-hours available. Every team has the | engineer who spends a week fixing an edge case in their | ticket that no customer cares about. Demonstrating | awareness of this makes you an attractive candidate. | PragmaticPulp wrote: | Take homes are easy to iterate on. If multiple candidates | can't understand the problem or waste time with over- | complicated solutions, you update the instructions. | | If you're constantly worried about "traps" then you might | not want to work for those companies anyway. Take homes | should be straightforward and similar to solving real | problems. | | > As far as I can tell, any company that isn't willing to | pay contracting rates to solve real problems on their | stack is likely being disengenuous with their take homes | | Take homes are contrived problems, not real work. Every | candidate receives the same problem so they can be | compared. | | No company should be giving employees actual unpaid work | to do as part of the interview. That's more of an | internet trope than a real problem because no rational | company is going to be sending their codebase to | applicants to add features to. | indigochill wrote: | Our take-home obviously isn't a trade secret, so we have | three trivial problems in ours: | | 1. Write code that takes in a rectangle, coordinate, and | distance, and tells if that coordinate is within the | distance of the rectangle. | | 2. Determine whether a string has permutations which are | palindromes. (I'm of the opinion this one is too simple, | but it's been fascinating seeing what mental gymnastics | some developers will go through to solve this problem) | | 3. Write a CLI dice game (we provide the rules) in which | the computer player wins 70% of the time. Make the method | by which the computer cheats undetectable (of course this | is impossible, but candidates just give it a best shot | and we talk about their approach in the interview). | | Assuming the test passes muster, we have three interviews | right now, I think. One with managers to talk about the | role, one with senior devs outside the team to perform | the technical interview, and one with the devs in the | team to talk shop. | | In the technical interview, we primarily go through their | test solutions (we do no whiteboard coding aside from | reviewing the test and even that's very loose - not | actual code). We have hired candidates before who have | failed some of these tasks (mainly our candidates have | trouble with #1) but who showed a capacity for being able | to think on their feet and correct their mistakes during | the interview. Of course a candidate who aces the test is | going to have an advantage, but absent having the right | answers, quick thinking/adaptability is probably the #2 | trait we look for that seems to be a good predictor for | developer success. | | Every candidate we've hired through our process has been | a success (which could be dumb luck, since none of us are | super experienced/knowledgeable interviewers either, but | we wing it best we can) and the take-home (and, equally | importantly, the technical interview) has absolutely | helped us weed out candidates with impressive CVs whose | test results did not measure up. | orangecat wrote: | _2. Determine whether a string has permutations which are | palindromes._ | | If I understand this correctly, it's the sort of problem | that's simple if you see the trick and hard if you don't. | I'd expect many candidates to think that you actually | want them to generate all the permutations and then get | bogged down in recursion. | | #1 is good, and #3 sounds interesting. | datavirtue wrote: | Closes IDE and feels relieved to have dodged that bullet. | anyfoo wrote: | > Maybe we're just really bad at interviews? It probably | doesn't help that management here is almost entirely non- | technical. There's usually a developer or two sitting in | on the interview to try and balance it out, but I don't | think any of us would consider ourselves particularly | good at interviewing people. | | This seems to be the issue, in fact it's quite baffling | to me. If you are interviewing for a technical role, why | would you not perform a technical interview led by | technical staff? | | I'm not saying the other stuff is not important as well, | but this reads to me like you are essentially leaving the | core of the role out of the interview (I'm not sure what | "usually a developer or two are sitting in as well" | means). | HeyLaughingBoy wrote: | I don't know how receptive your management would be to | this, or what it costs, but at my last job, all | interviewers were required to take interview training. It | made a real improvement in my ability to suss out a | candidate and understand what they could actually do vs | what they claimed they could. | watwut wrote: | > we've had many people in the past who've interviewed | very well but turned out to be completely incompetent | when assigned to a real project. | | There is absolutely nothing wrong with coding test. Timed | with internet. The one that does not tests for | algorithms, but for basic competency. For example, ask | them to parse some data out of xml file and give them | tons of time. That will check competency without being | burden. | | Yes, non tech managera sux at recognizing who is good | programmer in discusion. But, so do programmers and | technical people. It is easy to pretend competence if you | read enough blogs and can project right attitudes. | 908B64B197 wrote: | > We're having a bit of a debate about this internally as | the company I work for is struggling to hire good | candidates. | | What's the compensation like? Stock? | | > For a while we've had a take-home test and that has | increased our success rate somewhat. But as you say, we | really don't want to lay unreasonable expectations on | people who may have other obligations | | You'll also find out that the people you really want to | hire are not on the market for a long time. So if they | are interviewing at several places and you give them a 4 | hours take-home, they'll put it on their to-do list but | by the time they get to it they might be in the final | rounds at 2-3 other places that brought them on-site | immediately. | | > It probably doesn't help that management here is almost | entirely non-technical | | That's a much bigger issue than most assume. | | > There's usually a developer or two sitting in on the | interview to try and balance it out | | That's a huge no from me. Final approval of a technical | candidate should only be in the hands of the technical | staff. | | I've heard horror story of a "senior" engineer from "his | country's top school" being interviewed for a technical | position by several non-technical managers and HR reps. | They only included an engineer in the final round, which | was basically supposed to be rubberstamped anyways. He | was then asked to implement something trivial like | fizzbuzz or wordcount on the whiteboard. The candidate | then became extremely defensive and tried to argue that | such task was "beneath him", arguing for a good 15 | minutes why he shouldn't have to do it. | | Then the dev just left the room and said that he used | this question as a warmup with new hires and it typically | takes them less than 10 minutes. | elanning wrote: | A lot of senior engineers would refuse to do a fizzbuzz. | I'm really not seeing the problem here. | fbleibel wrote: | On the contrary, I think this is a huge red flag. Just go | along with the interviewer, maybe highlight that this is | typically and entry-level problem, but solve it. You | really don't want to hire someone who not only can't | solve fizzbuzz, but also refuses to hear about it and | complain that it's 'beneath them' (what a annoying | attitude!). | not2b wrote: | Depends. It could be an indication that there's been a | miscommunication and the interview is for a much more | junior position than expected, so I would expect a more | senior person to push back. Fizzbuzz tests "can this | person program at all?" For a more senior position, best | to start with something harder and more job-related; back | off to fizzbuzz if the interviewee can't do the hard | stuff. | 908B64B197 wrote: | > we often actively discourage looking at OSS contributions | during resume review for the same reason we don't offer | take home interview assignments: it's biased against people | who don't have a whole lot of extra time at home. When we | have done either of the above, the singles who work part | time have a bunch of time to perfect their work suddenly | have a lot to show over the single parents who may be | working full time or more. | | Or their company ships a product that has a huge dependency | on that particular OSS project, so they are doing the work | on company time. | VBprogrammer wrote: | I've seen a lot of candidates put their GitHub link in their | CV. When I go to check it out its usually full of half | completed Django tutorials. | teekert wrote: | Oh no you actually looked at it??! | MrPowers wrote: | Companies should have different hiring processes for prolific | open source code contributors and folks that don't do open | source (presuming they want to hire both). | | There are plenty of amazing developers that don't to open | source and are great employees. | | Other devs have extensive open source code. It doesn't make | sense to give popular open source devs coding tests. Open | their GitHub account, see their popular repos, see how they | communicate on issues, etc. | | The most powerful teams I've worked on have a mix on OSS devs | and folks that only do closed source work. Hiring both is the | best from what I've seen. | ranit wrote: | > ... it's rare to see someone come through with significant | OSS contributions | | Because these people rarely apply for a posted job opening. | watwut wrote: | > One candidate wanted their contract to state that they | could spend half of their paid time working on their OSS | project. We passed. | | I like the dudes honesty. He would not be doing OSS while | pretending he is working for you. He is also leaving himself | time for other things. | | It seems to me like fair way of doing things. Company like | yours passes and maybe another one will take it. | alkonaut wrote: | > On the hiring side, it's rare to see someone come through | with significant OSS contributions | | Do you mean it's rare to see someone hired, or rare to see | someone _in the hiring process_? | | Because if it's the latter, that's exactly what I'd expect | too. People with very significant and visible portfolios | aren't sending their resumes because they don't have to. | happy-go-lucky wrote: | I have been a workaholic all my life and always worried sick | about my job to the point of making my family feel neglected. | We have all suffered together for years. I am good at what I do | for a living, but I have been on tenterhooks all the time to | see if my company will show me the door or close down, and now, | since neither was ever the case in my roughly 20-year career, I | don't know whether to laugh or cry! Currently, I am on a | sabbatical to get things in perspective and mend my fences. | wpietri wrote: | I'm hiring a few engineers right now. I agree that some | companies exploit "passion", and that companies doing that tend | to over-weight weight things in a way that encourages having no | life. I think that's a mistake. | | That said, I do think some sort of "passion" is really useful. | I've been coding a long time. I'm on something like my fifth | major language. My first computer had 4K of RAM; now my phone | has a million times that. I can't even count the number of | business domains I've had to learn. I can't imagine people | keeping up with the pace of change in our field without finding | ways to love the work. | | In contrast, I've worked with people who learned enough to be | employable and then just kinda stopped. I remember one guy, a | great manager, who kept giving technical advice based on his | Vax BASIC experience at least a decade past the point it was | sensible to do so. Or programmers who had basically become | fused with legacy systems, only employable until the old code | was replaced. It's not impossible to make a career of out that, | but it's risky. | | Especially given the release cadence of modern frameworks and | tools, I think continuous learning is vital. And I think | keeping up (or better, keeping up and getting ahead) is much | easier to do if people really enjoy the hour-to-hour details of | the work. | tartoran wrote: | I find passion and fascination leading to a drive to learn | better, faster or quicker, depending on the personality. But | I harvesting passion in commercial settings is quite | disingenuous. Some people don't have that passion and do | quite well, they are in fact very rational and calculated and | that is a good thing in some ways as well as those who are | more passionate about more abstract things, there is room for | quite a variety of types of people and they should all be | given freedom to use their own qualities and not be forced to | fake qualities that they don't have or are unwilling to share | with others. | wpietri wrote: | I think perhaps words are getting in the way. I don't think | passion and reason are contradictory. I think they're | complimentary. Competitive chess might be a good example. | And plenty of people here are both passionate about various | technical topics, but still are very rational about them. | | I agree that people shouldn't fake qualities. But neither | do I think everybody will be equally good at every job. | E.g., I can do sales, but I just don't like it. I'll just | never be as good at it as somebody who really enjoys the | work. | anyfoo wrote: | I know exactly what you mean, people being proficient in some | very specific legacy domain (Vax BASIC is a good example, | another might be AS/400/IBM i by now). Often going above and | beyond in their niche expertise. | | Though it's hard to get a full picture. Maybe past gigs or | other circumstances have given them enough financial | stability that they don't strictly need to work anymore. They | then continue consulting out of passion for their particular | niche, or somewhat opposite because they don't have any drive | to learn anything else, but still don't want to retire | completely. I feel like the people I have in mind there seem | to be in a more good than bad situation. | | But I've also encountered the other category you're hinting | at, people who are fused to a legacy system (i.e. a | particular project at a particular company), not a technology | in general. A few friends of mine do that, and they are much | younger and much further away from feasible retirement than | the aforementioned "gray beards". I sometimes do wonder about | their prospects, but, again, no full insight. | rvense wrote: | I can probably give the impression of a passionate developer | because I'm self-taught and one of the things I like to do in | my free time is write code. | | Still clock out at 5, though, and you can be sure I'm not going | to put work Slack on my personal phone. My time is my time. | 908B64B197 wrote: | > I wouldn't think of myself as a passionate developer. I have | a family, I value my free time. I spend work time growing my | skill set as it's required, anything else I do is rarely | related. | | Clearly you've never met devs that have no passion. They will | actively refuse to learn new things and have absolutely no | interest in doing so. | | If you look at other professions, growing skills and staying up | do date is supposed to be done during working hours and is | budgeted for. A lot of 10x I've met were parents and had a | pretty strict schedule. Whatever time they had in the office | was 100% dedicated to shipping results or growing and they had | to be efficient at it because there was no way they would spend | less time with their families. | jaaron wrote: | I look to my art manager colleagues (I work in video games) | with some envy, because their interview process is easier due | to art candidates having portfolios. | | We just don't have that in the software industry, at least not | portfolios that we can legally share or that other employers | would trust, so we end up essentially torturing each other with | coding tests. | | I don't think everyone having a portfolio of open source code | is a reasonable ask, but the idea of portfolios, if we could | create them, would bring some sanity to our industry's | interview practices. | danans wrote: | > ... employers want employees who are passionate about their | craft. | | > ... I'd like such people to care about their vocation, but I'd | prefer that they keep a cool head and make as rational decisions | as possible. | | > Why should programmers be passionate? | | While I agree with the gist of the article, the author should | realize that "passionate" as used in this context is effectively | synonymous with "cares", and is only used because the word "care" | has lost most of its impact over time, being mostly associated | with the phrase "doesn't care". This is common linguistic | phenomenon. | nocman wrote: | > the author should realize that "passionate" as used in this | context is effectively synonymous with "cares" | | I think that largely depends on who is using the word. | Personally, I'm sick of seeing the word "passionate" thrown | around in job listings. It comes off as "we really need to use | this buzzword", and 90% of the time feels disingenuous. | | Much of the time I end up interpreting it as "someone who is | willing to work a lot of uncompensated extra hours". I say this | as a person who very much cares about their craft, and wants to | do excellent work as much as it is within my power to do so. I | also _do_ spend a lot of my free time learning new things | related to my profession. | | I'm _not_ saying everyone who uses that word is intending to | take advantage of their future employees desire to excel. It | just seems like most of the times I see it, the job listing | ends up being one that I 'm less likely to be interested in. | nxc18 wrote: | 100% this. I don't expect you to go crazy over programming, but | the gulf between passionate programmers and just-collect-the- | paycheck programmers is extreme. Just-collect-the-paycheck | programmers are useful and necessary, but a team composed | exclusively of uncaring engineers is pretty much doomed to | fail. | | Lightbulbs are flashing for me right now because I've never | really thought about it like this, despite caring a lot about | passion. | | In the teams I've been on that have over-performed (aka | released quality software on schedule), there was always at | least one or two (sometimes the majority) engineers who | actually cared. Cared enough to push back when we tried to | skimp on standards compliance. Cared enough to upstream a fix | to a library we use. Cared enough to notice patterns in | problems we had and write internal articles about how to avoid | those problems. | | I've also been on teams of (primarily European, as the author | points out, the culture is very different) engineers who really | are just collecting a paycheck. As long as they keep working, | it's really not a big deal if the product ships on time, or a | year late. It doesn't really matter if the product meets | customer needs well, because we know they will buy it anyway. | It doesn't really matter if your colleague knows enough to get | their work done. And if I see a new problem the team | encounters, I'm certainly not going to learn anything to solve | it, or assist a colleague who does; job descriptions are there | for a reason. | | I guess a good test is the "job description" test. Does an | engineer ever say "that's not in my job description" and refuse | to do needed work (note this is very different than pointing | out there would be someone better equipped to do it, if that is | the case) to the detriment of the team? Does an engineer not | bristle when someone else brings up "the job description"? If | so, that's a pretty sure sign that they don't care about their | work, which means they don't care about your team's success. | Tabular-Iceberg wrote: | > a team composed exclusively of uncaring engineers is pretty | much doomed to fail | | Yes, but not because of the lack of passionate programmers, | but because most software companies are dysfunctional. A few | passionate souls can make a project succeed in spite of all | the underlying dysfunction, but it's cruel of the industry to | continue leaning on those people. | | Teams of uncaring developers would consistently deliver | working software on time and on budget if they were both | trained in the same level of skill and given the same level | of respect that let uncaring civil engineers build stable | bridges on time and on budget. And I would certainly hate | living in a society where the only thing between me and a | smoking hole at the bottom of a gorge is one passionate civil | engineer. | MrPowers wrote: | This article doesn't align with my experience of what I've | observed. | | > I don't think that it's in our interest to be passionate, but | it is in employers' interest | | Meh, I'm into some technologies just cause they fascinate me. | Benefits employers, but benefits me too cause I get paid to | pursue my passion. | | > Not only are passionate people expected to work for free, | they're also easier to manipulate | | Passionate ppl in the Spark world make tons of money and strike | me as geniuses that'd be hard to manipulate. | | > Some open-source maintainers have created crucial software that | runs everywhere | | Yes | | > Companies make millions off that free software, while | maintainers are often left with an increasing support burden and | no money | | Maybe some. Spark creators went on to build a successful company | (Databricks) that'll be going public soon. Companies seem to be | throwing money at top open source devs in the data world. ___________________________________________________________________ (page generated 2021-03-24 23:01 UTC)