Hacker News new | past | comments | ask | show | jobs | submit login

Once upon a time, the best way to get a software job was to demonstrate your ability to build useful open source projects. 10 years ago the Principal Engineers I would work with had super sized open source portfolio's which leant them both credibility and experience building products people liked. Junior devs would search (sometimes in vain) for issues where they could contribute a few PRs

Now the best way to get a job is leet code, leet code, and more leet code. Rather than spending <5 hours a week working with real code and producing real value on open source projects - most career minded engineers will simply focus on leetcode.

Not many people patch esoteric software that's been around for 10+ years because it's particularly fun or because there is specific business value in it.




> Now the best way to get a job is leet code, leet code, and more leet code. Rather than spending <5 hours a week working with real code and producing real value on open source projects - most career minded engineers will simply focus on leetcode.

Maybe more broadly: The only way to prove that you're good at X, is to do X well. An artist is only as good as his portfolio. The same is true for all creative jobs.

I'm thinking that these proxies (see all attempts at standardised testing) are a disease of our time.


I'm not sure I fully agree. Doing open source doesn't mean you do it well. You have no sense of how quickly, efficiently and independently they managed to achieve it. I'd much rather hear from prior experience, and probe about situations and scenarios they were in, projects and problems they contributed too, and hear the story of how they went about it, how long it took them, what they did in the face of setbacks and pressure, etc.

I have seen first hand developer that are just okay or below average successfully deliver on open source, because you have infinite time, no constraints, no stress and get to choose exactly what you do or contribute. But in a work environment they struggle, given ambiguous problems they struggle, given time constraints they struggle, given changing needs and demands they struggle, working within a team they struggle, given something outside their area of knowledge they struggle, etc.


Would it be helpful if they streamed the contribution?


If you add more problems, of course people struggle more. Doing something open source by yourself is basically the simplest kind of programming.


This might sound weird, but I find every time someone publishes or contributes open source, they are stealing value from me, because it is one less thing that a company will need me to implement, build and maintain for them, instead they'll now expect me to simply use the existing free of charge open source one.

Not only does it feel like I'm stolen value, open source work tends to be the most interesting, and as more and more is done and offered for free, my work becomes less and less interesting, and the job becomes more about connecting and configuring all these open source systems together.

Needing to contribute free work in open source before getting a job therefore sounds like the biggest of scams to me.


I guess in the same way that public libraries steal value from book publishers and public education steals value from private tutors. Also, how rainwater steals value from bottled water companies, fresh air steals value from air filter vendors, and sunlight steals value from the electric company.


Libraries still pay for each copy of a book, and in some countries royalties are paid out each time the book is borrowed. The library is not allowed to make additional copies of a book and borrow them either. Public education pays its teachers.

But overall I'm not in disagreement with you, you could say open source is done as part of the greater good and advancement of technology and computer science, and not for personal capital gain. That also means that it isn't meant to be a sustainable career path, or job that you can do full time though.


This is just the broken window fallacy. Hobbyists giving away schematics for unbreakable windows are not stealing from your window repair business.

Yes, having open source competition means you'll have to either build a superior product that customers are willing to pay for, or find another niche. That's a good thing.


> That's a good thing

Good has many dimensions. I'm saying that as a developer, FOSS means people don't need to pay you to build those things, only to use them, and that's why FOSS developers themselves don't get properly compensated, because they chose to build it for free.

You could say FOSS is a good thing if you talked about computing progress, or barrier of entry for a startup wanting to build an app, or as a great source of example to learn from, etc.

As for your comparison, I don't think it holds, because very rarely are FOSS contributors hobbyists, most of them are professionals. So it is much more akin to a professional window engineer giving away free schematics for unbreakable windows, which means that companies manufacturing unbreakable windows no longer need to pay a professional window engineer to make schematics for them.


> This is just the broken window fallacy. Hobbyists giving away schematics for unbreakable windows are not stealing from your window repair business.

Of course, the smart glazier would figure out that giving away the schematics for a window-breaking device is in their interest.

Commoditize your complements, as the saying goes.


I can understand the perspective. But it goes both ways: Aren't you (and I) 'stealing'? How much do you use open source, as a developer and as a user - and just to post his message: try enmuerating all the open source that goes into it.

We benefit far more than we can ever repay.


> How much do you use open source, as a developer and as a user

As a user I agree, things would probably be more expensive if nothing was open source. But as a developer, I disagree, my employer would simply need to pay for the stuff I use, or they'd pay me or another developer to build them one. And this is precisely what the article argues, that companies should pay for it. If there wasn't any open source logging library, the maintainer could either work for a company that offers a paid one, start his own company, or work for a company that pays him to maintain one for them.


> But as a developer, I disagree, my employer would simply need to pay for the stuff I use, or they'd pay me or another developer to build them one.

Good point, but you would have a much smaller industry and platform without FOSS, and there is no way you could build all the libraries, tools, etc., yourself. Even FAANG depends on FOSS. If everything had to be paid for and professionally developed, licensed, etc., there would be much less around, and nobody could fork and innovate - there's a reason people develop and use FOSS.


I think that's the counterargument, and I can imagine it being true, but I also think we just don't know. Maybe there'd be just as much advancement but more developers would be properly compensated. It's hard to say exactly what would have happened because we're talking an alternate history.

Lowering the barrier to entry by being able to leverage a lot of free stuff probably helps make the industry bigger in having more startups, but I also can't say for sure there wouldn't be more jobs or higher paid jobs otherwise.

In the end, I'm not trying to push to end FOSS, but I'm trying to bring to front the contradiction I'm seeing of people wanting FOSS but also wanting FOSS developers paid a full wage. It seems fundamentally at odds, if you want people working on logging libraries to be paid full wages, stop making FOSS logging libraries.


> I think that's the counterargument, and I can imagine it being true, but I also think we just don't know. Maybe there'd be just as much advancement but more developers would be properly compensated. It's hard to say exactly what would have happened because we're talking an alternate history.

Yes, valid and important point. We could look at how other industries develop. Software + Internet is especially condusive to 'free' products. Other industries must at least share knowledge, which arguably is embedded in FOSS software.

> I'm seeing of people wanting FOSS but also wanting FOSS developers paid a full wage. It seems fundamentally at odds, if you want people working on logging libraries to be paid full wages, stop making FOSS logging libraries.

An inarguable logic ...


We benefit far more than we can repay, but "stealing" is too strong. It's what the author who adopted an open source license explicitly intended to allow.


Agreed. I use to term to compare it to the parent comment.


That's a good point. We as developers trying to make a living doing it are competing with an ever-expanding sea of OSS. And therefore we'd be mad to contribute to it, for free even.

On the other hand, from the viewpoint of all of humanity, it is great that there exists a huge amount of software that is useable by everyone for free.


I'd wager companies hire based on leetcode because it's efficient from an administerial perspective. It can be easily automated and helps weed out a greater number of poor candidates than good ones. It's easier for an interviewer to pull out a set of pre-written questions than look through a github repo and ask pointed questions.

Too much of what we do, from education (standardized tests) to banning of users in places like YouTube, is centered on efficiency or administration. Aim for the center of the bell curve, ignore the collateral damage and reach those target metrics, as the mantra goes.

It'll get much worse before it gets better, if it ever does.


Companies use Leetcode because it tests for the 2 things that are required to become a successful developer, above average critical thinking skills and willingness to spend hundreds of hours improving. Companies figure if you have those two things they can make you into a decent developer, figuring out if someone is already a good developer is much harder.


Or does it test for someone who in the hope of passing these tests will spend hundreds of hours dedicated to pointless exercises that produce no real value?

If by harder, you mean sitting down and having a real conversation, then yes, I suppose it's harder.

Edit: Value is a poor word here, now that I think about it. Let's say mostly pointless activities that generally don't apply to work they'll be doing with that skill. It's like playing baseball to practice for tennis.


Well the idea is if they're willing to waste all that time trying to get the job they'll spend even more time working and improving.


I suppose that makes sense, but it leaves a bad taste in my mouth.


That's a rather negative view, considering that much of software by and large is about replicating paper based processes with far less human effort involved.

It's fair to describe software engineers as a profession of the professionally lazy. "This takes too long to do, therefore I code."

I think it's better to reinterpret the problem based on what Leetcode does well, and try to invent something that does it better.

The old world of make some giant Github project a company might appreciate, or might ignore entirely, holds little attraction to me at this point.


Neither of those make for good filters; though they are decent enough indicators. Most engs can't be bothered with leetcode, let alone F/OSS.


I don't know if that is objectively true. There are numerous small companies who will leetcode every candidate. Then there are Google and Microsoft and the other bigs who hire thousands of people every week, where the best way to get hired is to have a Ph.D and get referred by insiders.

Mediocre candidates getting leetcoded by mediocre companies may be a highly visible pattern but on industry scale I am not convinced it is the dominant mode.


Having a Ph.D. and getting referred by insiders in no way reduces the amount of LeetCode you have to grind for Google interviews.


I don't think there was ever such time. Only a tiny minority of developers ever has open source projects and some companies even actively discouraged that.

Moreover, with industry moving towards agile, having project and developing in a company are massively different kind of work.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: