Hacker News new | comments | show | ask | jobs | submit login
GitHub and Open-Source Is a Boon for the Underprivileged (amasad.me)
331 points by amasad 3 months ago | hide | past | web | favorite | 180 comments



I have been working productively as a systems software developer for 32 years. I do not have a degree; I'm a high-school dropout. I've built systems you've probably used, and/or may still be using.

The #1 technical lever I have found worth exploiting, worth far more than anything a university can provide, is the willingness to get the job done.

It hasn't mattered if I wrote CP/M code ISR's, PROGRESS 4GL modules, Unix daemons, Pascal, .. Java, C, C++, Objective-C, Lua, Swift, &etc. - through the thick of it all, the fact that I was willing to get the job done, no matter what, is what made the difference.

On the other end of this scale, is a bit of decadence.

From my particularly tainted point of view, the ideological basis of the current cultural norm of "university==well-paid job" is entirely decadent. People seem to have expectations that, because they're in a certain class, they don't have to work hard at developing other real life issues, and too many times I've seen the well-educated, well-connected, nevertheless incompetent developer fall to pieces under pressure. I am grateful for these guys, because they make my life easier.

Yet, those who are in this group, who haven't got a decadent ideal of their own worth, but rather get things done in computing, whatever it takes: great.

So its really not a matter of educated-enough. Its whether the will to perform is, through whatever means, inculcated - and then manifest by taking the actions to get the state of things, done.

Some of the best developers I've ever worked with, have come from utterly dire circumstances. Some of the worst, too. Likewise for the privileged, candied elite.

The one differentiator, truly, is the will of the individual. Computers, being machines of will, equalise us all that way.


I cannot shake the feeling that you're mixing here employability and "being good at ones job" here. Whether a candidate will "get the job done" an employer can only learn after hiring a candidate, so it cannot be used as a recruitment signal.

I'm in this situation right now, where I've been always highly appreciated by the place I was working at. I've also built a few systems used by a few companies in a certain niche, and always strived for excellency in what I was doing. That had resulted quick series of promotions and raises in my career. This has turned out to be of very little help for me when trying to look for a new job. For various reasons, I'm trying to look for a new job and it is impossible for me to find one.

I'm probably not very good at "selling myself" as I always thought my work should speak for me. My CV looks "average" - nothing special in there, just working here and there for x years doing y.

I'm finding myself at a pay level and seniority level that other companies just cannot justify by judging me by my CV, so in the end they decide to pass on me. Maybe it sounds like a good problem to have, but it's a very big problem to me with a significant negative consequences for my life at the moment.

What I'm trying to do now, is exactly trying to put up some impressive things on Github, speaking at conferences and in general try to "market myself" a bit more. I expect this to take quite some time before it bears any fruits, but I see no other way how I can get out of this situation.


What does your CV have on it? Are you highlighting technologies or are you showcasing business needs followed by solutions?

My resume style used to highlight the former because I thought I had to prove that I used technology x to solve problem y. I do mention technology where applicable but it's to highlight the business need and solution. I'm trying to show that I can pick up anything at full speed to solve real problems. That's what both of us do day in and day out or else we wouldn't have been employed at all until now. Having to prove that we're not imposters when someone clearly believes we aren't is really the most annoying part about all of it.

I'm in the same boat though around needing a solid GitHub profile even with what I feel is a very concise CV. At some point we do have to mark things as 'done' and just keep shopping out job opportunities until someone else believes us like our current employer.


We're hiring. Drop me an email if you want to hear more about the role. Email is in my profile.


Have you had your resume reviewed by other developers?


>>> I have been working productively as a systems software developer for 32 years. I do not have a degree; I'm a high-school dropout.

It's easy to say coming from a generation where higher education was not the norm.

A 20 year old saying he dropped out of high school will not be received well in any job interview. 98% of the population can do better than that.


I barely graduated high school in 2002 and there was definitely an emphasis on higher education at that time. My family didn't have the money to pay for college and I knew I wouldn't do well in college, I had a hard time learning from teachers, and didn't even take my SATs. I'd messed around with HTML and copying/pasting JS snippets but was not an early coder by any means.

I got a job doing tech support for a web hosting company at 19 (requirements for getting hired included listing 3 FTP clients, listing 3 e-mail clients, what is whois, and things you could teach to anyone). I worked with many high school dropouts as well.

After getting that tech support job, learning about open source (LAMP stack) changed my life. I didn't have much money but I was able to self study on linux, apache, mysql, php/perl/python with minimal equipment. Over the years open source has provided and avenue that allowed me to better myself to the point I've worked as an SRE for Google/YouTube, a Staff SRE for Dropbox, and starting soon as a Staff SWE at Discord. Open source has given me so many opportunities, made me a better person, and allowed me to provide for my family.

There are a lot of people like me in the industry who care about socioeconomic diversity. I will absolutely interview and hire dropouts if they are driven and capable.


It's great and I wish everyone to achieve the same career progression during their lifetime.

Now, let's keep in mind that we are approaching 2020. The high school dropouts are facing support guys, online MOOC students and boot camp graduates who are all searching for the same developer job with no experience. The competition is more intense than ever.

Also, your text implies that you work in the bay area. It's an order of magnitude easier to find a tech job there than in the rest of the world.


The first 8 years of my career was in South Florida progressing from tech support -> web hosting sales -> NOC -> Jr. Sys Admin -> Sys Admin -> Sr. Sys Admin. Only then did I make the move to the Bay Area to work for Google in 2010.

I don't think everyone should take the path I did. If you can afford it, college is a really good option and I would never discourage someone from going that path. But there are other paths, if you work hard, and have some luck.

I'm now in a position that interviews and helps make hiring decisions. I still know a lot of people from South Florida that have spread out all over the country. There are many of us who don't come from traditional backgrounds that have progressed into leadership roles where we impact hiring who do not require college.

Yes it is very competitive, yet so many companies are constantly turning people away, people with and without college degrees. I'm so happy that there are so many more resources today compared to what I had when I started. MOOCs are awesome and I use the to this day for continuing education. I've been part of apprenticeship programs to train bootcamp graduates as SREs. And I've helped mentor people internally transferring from support into SRE.

College is definitely the most typical paths but there are still paths for humble people willing to start that the bottom and work hard. College just isn't an option for everyone unfortunately.


>>> College is definitely the most typical paths but there are still paths for humble people willing to start that the bottom and work hard. College just isn't an option for everyone unfortunately.

I agree with pretty much everything you said. I will just make a cultural parenthesis on that last sentence.

In the USA, degrees are expensive, the only reason they are not for everyone. It limits the supply of degrees and make them more valuable.

In other parts of the world, mostly thinking of western Europe here, higher education is free or affordable. Degrees are much more common and of higher level, while the job market is pretty bad. It's really shooting oneself in the foot not to get one.


What measure are you using for "much more common"? According to the OECD data, the US is 7th for percent of population 16-64 with a post-secondary degree, and Luxembourg is the only western European country ahead of the US (the others are Canada, Russia, Israel, Japan, and South Korea).

If you limit it to 25-34 year olds with at least a 4 year degree, the US falls to be in the middle of the pack compared to western Europe- behind Switzerland, the Netherlands, Belgium, Denmark, and the UK, but ahead of Norway, France, Spain, and Germany.


The bachelor is usually 3 years in Europe and not every country is following the bachelor/master/phd system.

So you are saying that the amount of bachelor+ in USA is on par with the amount of master+ in Europe. That's my point, Europeans have higher education because it's free.


I'm a dropout, myself. When I was growing up, higher education for software engineering _was_ expected in my area, and the norm. It was not as widespread a domain as it is today.

So, know what I did in my interviews? I focused on what I _had_ done. Projects I'd driven to completion on my own merit. I put my heart into my interviews and worked to let my passion and depth show through.

The first place I got a foothold, I was nearly passed over, my resume was so bad. I know, because my boss told me, years later how they almost threw it out. But my interview got me in. Barely. Doesn't matter, it was enough. I pushed my way up from there.

It's not easy to say I'm a dropout. Nor has it been easy to work my way up to where I am. But, who cares? I'm not _owed_ a software development job. I _earn_ a job, by being willing to put in the work, and by not making excuses for myself, and showing I can do it.


I've never been asked about any education in developer interviews, only experience.

Obviously YMMV, but after a couple years of experience, employers simply stop caring about education level.


I'm 100% sure I am passed-over and filtered out because I don't have a CS degree. Nevermind my experience, I don't hit the checkbox. HR and IT managers have it in their mind they NEED it. However, I relate well to managers without a CS degree.


it be interesting to know how these phone interviews went. if you’re not even getting that far then you don’t want to work for a company that requires a degree. all a degree gets you is a base level of knowledge, you’re not gaining any useful experience. all that usually counts is if you can prove the knowledge without a degree. if you’re making it to the phone interviews then someone else must be more a more viable candidate than you


Anecdotally the most dysfunctional place I've worked at was the most obsessed about educational credentials. I had highly relevant experience (including some that was open sourced on GitHub) and a degree in a related field but it wasn't the exact degree they were looking for. This struck me as really strange at the time, I found out later that the managing director was pressuring the people doing to hiring to only take people that were eligible for some particular government funding that had rather narrow conditions about credentials. The only reason I got hired was because the position had been open for a long time and they were starting to get a bit desperate. I shudder to think how many other skilled applicants didn't get that job in the months before I did.


There's a big element of selection bias: many companies that care deeply about hiring Stanford grads will pass on those who don't mention the school in their resumes. The companies that were willing to give you an interview obviously didn't immediately filter you out. In case there's any doubt, if you don't mention your educational background in your resume people will assume you don't have any college-level degree.


And there are also many of us put in situations of reviewing resumes and interviewing that don't have college experience who don't care what school you went to, or if you even did.

Going to college definitely makes things easier, and I don't advise people to take the path I did but there are paths other than college that still work well for this industry.


You're talking past the point. The original comment was:

> I've never been asked about any education in developer interviews, only experience.

> ... employers simply stop caring about education level.

The reason he was not asked about education is not necessarily because 'employers by and large don't care', but rather that 'employers that do care about education would've already filtered him out after seeing the resume'. The interviews from employers that do care about education would never materialize in the first place.

This is not a judgment about the role of education and pedigree, but rather pointing out that any effect would have likely played out in the resume stage.


Thanks for clarifying your point, I think that makes a lot of sense.

Thankfully for me I consider it a positive selection bias as I wouldn't want to work for a company/manager with such insular hiring criteria. Unfortunately it does make it harder for people just getting started in their career.


Since you mention it, people who have degrees and people who don't have degrees usually work in different companies. Any programmer is unlikely to experience both sides of the coin.


I find people with college experience are much more likely to be biased against people without than vice versa. But that is just my anecdotal experience. Google and Dropbox definitely had more people with degrees but a decent amount of people without. The hiring pipelines were more biased towards recruiting new grads out of good schools but we never turned down solid people with good experience.

I generally like to work with people, and at places, that value your contributions and experience rather than your credentials. I've been lucky enough to find that in every place I've worked. I can't say my experience has been one of only working with people without degrees. I've worked with amazing engineers with and without degrees and don't put much stock in the degree itself.


Well, it takes a degree or 5 years of relevant experience to enter the front door. Better have both.

I wouldn't call it a bias, companies have different expectations and needs. At big name, there are a hundred people applying every day, the bar is higher than no degree and/or little experience.

There is also the fact that the lack of education puts one at a disadvantage. For instance, I know of co workers who ask questions about complexity, compilers and graphs. It's common for candidates with no formal education to be completely oblivious to these.


I think it's a bias to assume the candidate won't understand those things or be suitable for the job based on lack of college alone. If you require people to understand complexity, compilers, and graphs to do the job effectively then test for those. I've encountered plenty of people with degrees who similarly didn't understand those concepts.

I definitely agree that lack of education is a disadvantage, it just means you have to start a different way. that could mean your first few years is coming in through a side door before you start getting relevant experience.


I think we both agree. The lack of degree will mean years of bad jobs and learning the hard way though practice, before it can be compensated. It's years of struggling on the job, instead of in the college.


.. making money rather than going into debt.

Plus there's the uncomfortable fact for academics that the state of the art is often pushed forward in industry, and written about in academy. So, sometimes, the job is really, really good. You're doing stuff now that kids will be learning about in 5 years...


We have plenty of data that shows that more degrees = more salary though.

https://www1.salary.com/Salaries-for-Web-Software-Developer-...


The one time I was flown in to interview at a Silicon Valley shop was the only time that I was asked about education directly. I never attended high school.

Added: It was something like "education means a lot in this town, as much as people don't say it.".


While that's true, it's also very inexpensive and very easy to get a GED or diploma equivalent. Intellectually if you're in the top ~75%, you can pass the GED with two weeks of casual studying at 20 years old. Even if one isn't particularly smart (or, say, has a weak education background), that can be easily compensated with several weeks of further studying to pass the GED. Every state has free programs for that.

If the person in question can't be bothered with something so inexpensive and easy to obtain, that meaningfully improves their job opportunities, there's a very fair argument to be made about that being a negative statement on their character and work ethic.


I'm on a hiring email list. There is no shortage of candidates that have jumped through all the hoops.

But preciously because basically all other candidates have graduated from high school and university, it would certainly help the dropout candidate stand out. If the candidate seemed bright and impressed me in other ways, I would say it was an edge as it is evidence of self-motivation and independent thinking. Of course the candidate would have to impress in other ways, for example, by having a substantial side project.

Just me perhaps, but I think it would be fun to work at a place where coworkers had a variety of educational backgrounds.


Your conclusion doesn't make sense to me. Success is a matter of probability. Someone with a recognizable degree has a higher probability of capturing more of their earning potential. Someone who doesn't have one is more likely to lose potential money to contracting companies and landlords. Spend more time working lower paying jobs and navigating the job or housing market. And to not participate in the upside of company profits, shares, housing and investments.

That you can succeed even as a high-school dropout by being in the right places at the right time or spending effort on the right things isn't a good argument against degrees. Because a degree increases your likelihood of doing those things.

There are certainly downsides to recognizable degrees, but I don't think ones chances of success in the tech industry is one of them.


> "Your conclusion doesn't make sense to me. Success is a matter of probability. Someone with a recognizable degree has a higher probability of capturing more of their earning potential."

Yes and no. Perhaps the degree is simply correlation? That is, to get a degree you need at least a certain amount of focus, ambition, the ability to start / finish something, etc.

The point is, using the degree here is a false flag. And it can be, as the OP notes, deceptive. Just because so many fall for it doesn't mean it's right.

Just the same, success is possible without a degree. How? All / most of the positive traits listed above.


Those might certainly be factors, but they aren't really relevant for my argument that someone with a recognizable degree has a higher probability of capturing more of their earning potential. Someone without a degree even with the same ambition and focus will face the burden of other things.

Say you join a large tech company, gets a fair amount of stock, enjoy the stock increase and as a result make an additional $100k. That is not an unlikely scenario even in the early stages of a career for someone with a recognizable degree.

If you don't have a degree it is certainly possible to do the same thing, it just isn't probable. For every step where you have to be aware of something, understand it and make a decision the probability of getting it right decreases. And the same is true for housing, career, startups and even relationships.

It doesn't make sense to say that you can succeed if certain things happen. Because it is the if that is the challenge.


> Computers, being machines of will, equalise us all that way.

It's _complicated_. I mean, almost everything in society is complicated: it's like sphagetti code written by millions of people with no single coherent goal.

There's a degree to which what you say is true, and a degree to which it is false. The most obvious way in which it is false is that learning how to use a computer well requires a) access to a computer (obviously), b) time you can dedicate to learning how to use it, c) resources to assist with learning (this one is mostly solved by ubiquitous internet connections _today_, but that was much less solved even fifteen to twenty years back, when many of the current self-taught mid/senior experienced people around today were learning), and so on.

Tech is not a pure meritocracy, because not everyone has had access to the same resources or opportunities. I think that's getting a lot better - as this article flags up, the modern open source community is extremely accessible, and sufficient equipment to be competitive with the best is cheaper than it has ever been. With just a cheap laptop and a relatively inexpensive internet connection you're not _that_ far away from having the same tooling available as a rich professional, today. That doesn't mean that problems a and c are _solved_ by any means, but they're certainly better than they used to be.

Point b may not be something we can solve with improving technology, though, nor the thousands of tiny factors involved in whether people unconciously gain an attraction towards programming or pass it by. These are really hard problems to solve.

So, like, generally, I think we're _doing better_ than we were twenty years ago, but we still have a long way to go before we can unironically call tech a meritocracy where those with the will to thrive succeed and those without fail. Life is just more complicated than that.


Tech is more of a meritocracy than any other field. If you are a good developer, you will succeed.

You are correct that access to technology and learning resources has greatly increased. People who wanted it bad enough could make it work though. I couldn’t afford a computer growing up so I would find ways to access the crappy Apple IIes my school had just to get some programming time. The library had books on Basic and magazines (which I would read for free in the grocery) used to have code in them.

I don’t buy the lack of time argument though. Life is about prioritizing. Millions of poor people have substantial time to invest in football, basketball, TV, video games.. Learning to program just takes putting it above those less productive activities. The real issue (imho) is that very few people are cut out to be developers. This push to turn everyone into an engineer makes about as much sense to me as encouraging everyone to be a pro-basketball player. It’s great money, everyone should do it!


I think you might be confusing "wanting it bad enough" with "going to a sufficiently well-funded school" to a point there. Some schools had that kind of equipment available for the students to use, but it certainly wasn't universal. I imagine it's a lot closer now, but poor schools are still underfunded to the point of teachers having to buy pen and paper from their own money, so it's possible that that still may not be available.

As for time, I think the suggestion that the choice is between "learning to program" or "watching sports" is extremely reductive and not accurate to a lot of people's experiences.


My school was extremely poor and underfunded. I was using Apple IIs in the late 90s. If my school had them I’m sure 99% of all schools in the US have at least early 80s computers available.

> I think the suggestion that the choice is between "learning to program" or "watching sports" is extremely reductive and not accurate to a lot of people's experiences.

I strongly disagree. That’s exactly what other people were doing while I was learning to master technology. We were all very poor. I’m not anymore, the vast majority of people I knew who didn’t use their time wisely still are.


Ironically some of those older machines seem like they might have been good to learn to code on. I remember the first code I wrote was on some really old Apple computer with basic (I think it was Chipmunk Basic) and it was really quite straightforward compared with some of the things I deal with now. I don't know how favorably I would have responded to something like C++ or Java some other professional-oriented language that was starting to get popular at the time. Clearly as a professional I wouldn't use that now but having a low barrier to entry at that point in life seemed quite fortunate.


And the Apple II the parent is talking about aren't connected to the net. The singular purpose and tasking of loading Logo into machine like that is liberating. No distractions, one path forward, the keyboard, the screen, the manual and you.


You raise a really good point there, I hadn't considered the distraction aspect when writing my comment but there's definitely a lot of benefit from reducing the distractions when learning.


Interesting post, but referring to people with college degrees as a "privileged, candied elite" shows some bias.

Besides the will to get things done, other important differentiators are knowledge, talent, and intellligence.


"Privileged, candied elite" is just one end of the scale, yo. There are "Privileged, hard-working elite" too, in case that part wasn't clear. It really doesn't matter, if you've got the will to work, is the point.. knowledge/talent/intelligence: not finite resources, when there is enough willpower around.


As someone who was thankfully able to finish high school (though, being from rural Ontario, every school I attended in my home town was closed shortly after I attended), but wasn’t able to finish my degree in English, Linguistics and other mixed studies due to financial woes—

You’ve said it.

I won’t go into details now, but there is something to be said for sincere passion and interest in what you do. I’ve worked with a not insignificant number of CS and digital photography students who by default think they’re above practical work and (insert more snobby stuff here). I’ve been responsible for reminding people why they started those degree programs in the first place. Not due to ranting like this, but due to [foolish] added work I put on myself that came out of sheer interest that has bloomed into something really worthwhile— sometimes unbeknownst to them at the outset. Don’t get me started on the application of science and the scientific method and [oh god, the] politics.

There’s a lot of rambling I could do on this subject, and it’s too early on a Sunday to formulate my thoughts correctly. I do like the subject and I enjoy hearing from a variety of positions on it. I at the very least wish it was easier for kids to acquire higher education outside of the bindings of finances and legalism that have long been lord of institutions that claim that kind of authority.


I've recently dropped out of highschool and I've been considering two options: promptly returning to school and finishing my degree or dedicating time to self-educate via the internet. Which pathway would you suggest?

I have always felt conflicted about our current education system because it undervalues creativity and disingenuously puts forth the notion that school is for learning when clearly it is not. Teachers constantly remind us that attending school is imperative to our growth yet fail to explain that we are merely fufiling a social obligation to become stable adults. Education has always been about the indoctrination of social values and the apparent lack of effort by teachers to purvey this speaks quantities of their system. Mind you, I'm not necessarily blaming the teachers nor those who have constructed such educational pillars but rather I'm antagnozing our modern perception of the intended purpose of school.

All I really hear about from students these days is which prestigious school people want to attend but whenever I question them as to why they wish to attend such facilities they respond with "to get a better job" or "to learn more and then get a better job." Is there something not inherently flawed with this kind of logic? We wish to obtain better jobs so we mindlessly waste hours cramming an entire textbook before an examination only to retain almost no knowledge of its contents afterwards.

There are cultural nuances regarding this matter and my anecdotal argument is probably not very strong, but I do believe there is a problem with incessantly encouraging young students to pursue academia for the sake of acquiring a _better_ job. As someone who has always been interested with the philosophy and intrinsic beauty of learning itself, I find our current implementation repulsive. My aversion to school has led me to study various types of -- or perhaps attempts at -- artificial intelligence in the hopes that we may one day supplant this flawed approach to education with a more personalized view that can take into account my preferences.

That being said, I'm still relatively young and by the duty of such a description, naive. There is still so much that I do not know about and I'm wondering now how I should proceed. Being a well informed and tech literate person, could you possibly offer me some quick guidance? Thank you.


> I've recently dropped out of highschool and I've been considering two options: promptly returning to school and finishing my degree or dedicating time to self-educate via the internet.

There is a 3rd option (if you want to work as a programmer):

You practice programming interview questions in your favourite programming language for a few weeks and start applying for jobs. Companies often hire young talented programmers without university degree in entry level positions because they are cheaper.

After having worked in the industry for 5 years no one cares about your degree anymore. The good thing about this 3rd option is that you are learning on the job what the other students learn at university and you don't have to pay for your software engineering education.

Students often tend to overestimate the importance and the benefits of a higher education. Personally I don't like your second option: "self-educate via the internet" because it won't help you getting a job and you will eventually forget what you have learned anyways. For this reason I prefer your first option and my 3rd option.

Good luck!


Hi! I have some experience with dropping out and coming back.

My take: go back and finish. The signal you are sending is that you can put your feelings aside and deliver even under less than favorable conditions. You'll also need that inner strength if you decide to go your own way.

Also, if you want to the non-CS route make sure you learn math, especially discrete mathematics and linear algebra. Besides the ability to finish that's the other foundation that will make you truly great at software, especially if you are interested in machine learning.

Beyond that good luck! We need more outsiders in the field.


You're already a competent communicator. That's unfortunately a skill lost for a lot of people with "good jobs".

I recommend at least finishing high school, but it's not absolutely crucial. It will help just all the more with landing a job for someone else—

Your question and situation is a tough one. If you're young and I knew you I would rail against you:

"GO

BACK

TO

SCHOOL".

--

But!

The world is large. You need to find your own way through it.

Continue to look for advice from accomplished people and ignore advice from people who are seeking to validate their own ego. It can be tough to decode that in real time and real life, but from the sounds of it you'll be fine.

--

Separate from my sloppy attempts and encouragement— you should never stop learning whatever you can that might help the direction you decide to move in. By that I mean, even if you had a high-level degree in any field you can't stop there.

That is the road less travelled you're going down presently, though. If you want to talk some more (from someone with similar—but not the same—experience), check my profile for a link to my contact.

I'd be happy to talk it out.


Read Bryan Caplan’s The case against education and consider how his cynical quantitative model applies to your specifics. (Or find his spreadsheet online, but the book’s arguments are worth thinking about.) My guess is that the high school diploma is worth the annoyance, unfortunately (though I skipped it myself back in the 80s. Different time.) College more likely not if you can get a foot in the door as a programmer without it. Also, if you can learn math and CS without being forced to.


Get on an independent study arrangement if your HS has one. These are extremely easy and will allow you plenty of time for self-paced technical education online. If that's not an option just go back and get your diploma BAMN. Teachers will generally work with you if you talk to them and make some kind of custom arrangement. I personally found HS extremely boring, so I finangled my way out of most of it. I disliked my school's PE uniform and noticed my PE teacher was an alcoholic, so I worked out an arrangement where I would leave campus to buy him his daily cup of coffee and newspaper in lieu. At the end-of-the-day, the only legitimate excuse for not graduating from HS is that you couldn't.


I think the biggest thing is just to keep that hunger for learning going strong, that will serve you well regardless of the direction you decide to go in. I think knowing what year you dropped out at matters for giving advice here.


Test out of high school.

Get a job in tech.

Go to school and get a degree in the Humanities.


> the ideological basis of the current cultural norm of "university==well-paid job" is entirely decadent

That assumes there is an ideological basis. It's not hard to rationally connect education with talent and skill, even if we debate the strength of the effect. It also assumes it is a 'norm', not a clear market signal - business unquestionably pay more to people with college degrees; you can argue the reasoning, but the fact is indisputable AFAIK. Yes, there are exceptions, but we are talking about vast trends; YMMV.

People have complained since probably the first written rant that others don't work hard enough, or hard as they did in my day, or as hard as I do, etc. I'm not sure it tells us much besides the consistency of humanity, its capacity for work, and its perception of self and others.


> I was willing to get the job done, no matter what, is what made the difference.

Even if it means building something unmaintainable and generally against your principles of good engineering? Many people will do that, but I hope there are some out there who would value a reluctance to work like that.


I don't see anything in the parent post that alluded to building things that were unmaintainable and against principles of good engineering.

Given the rest of the tone of the parent post, I believe this sentence was more intended to emphasize that they did not make excuses for themselves - for example, that they did not know language X, or technology Y. Instead, they rolled up their sleeves and dug in, and figured it out, and got it done.


very well said ..

> So its really not a matter of educated-enough. Its whether the will to perform is, through whatever means, inculcated - and then manifest by taking the actions to get the state of things, done.

> Some of the best developers I've ever worked with, have come from utterly dire circumstances. Some of the worst, too. Likewise for the privileged, candied elite.


I think the obviously right choice is: Do not require open source contributions, but do not ignore them. Similarly: Do not require degrees, computer science or otherwise, but do not ignore them.


@sedo:

    A rich GitHub profile is like a college degree:
    ∙ It's a positive signal, one of dozens possible
    ∙ Not everybody has the time and resources to get one
    ∙ Having one does not necessarily mean you're good at your job
    ∙ Ignoring one would be silly
    ∙ Requiring one would be silly

https://twitter.com/seldo/status/1005120664850743296


Staying away from extremes and finding a middle way is generally good advice. Indeed never go 100% for degrees nor 100% for open source contributions.


Going a little deeper and not contesting your conclusion, I'd like to point out "middle ground" is more a result of survivorship bias than a general maxim.

There are an infinity of choices we make daily that are completely binary, 100% extreme, both on the individual and social group level. They go unnoticed because there's nothing to gain by pontificating "Shall I go 100% in with 'I won't cut off my legs today', or find some middle ground that's not as extreme?" (apologies for the gross example, but articulating inarticulate choices is hard, by definition).

Our cognitive capacity is limited, so naturally we've evolved to consider only the choices that matter. We look for the "middle ground" in only a tiny sliver of decisions.

Which is obvious, but there's an interesting thought in there: To what degree is the presence of "middle ground" in our minds indicative of some potential gain, an arbitrage opportunity? Turning the causality around, can we assume the distinctions that bubble up to our conscious thought are useful hints at profit? There's something primal about spotting gradients: the only place where it makes sense to talk about a "middle".


The point people are making about using GitHub profiles for hiring is that it ignores great developers who don't write code outside of their job (that might be due to other interests, family responsibilities, a second job, whatever). The fact this guy is in a position to write code in his spare time just means he's not in that group, and the fact his open source work on Github specifically landed him a job he wanted kind of proves the point people are making.


I don’t code much in my spare time. I have kids and a busy home life, but really it doesn’t take long to build up a portfolio of work that is representative of your skills.

Sharing my work got me, as an Aussie working mediocre jobs, on the right person’s radar to help me land a job at Facebook. This shaved probably 10 years off my career path. That was a great return on investment and a big leveller for someone who didn’t study at a brand name US college and have an obvious path to the door of a major tech company.

I’m now in a position to hire others. I certainly don’t mind if someone doesn’t have open source code shared. It clearly not a priority for many people. But I do appreciate when people do have a good backlog of work to show as it can give a seemingly lacklustre candidate a second opportunity to shine.


> I have kids and a busy home life, but really it doesn’t take long to build up a portfolio of work that is representative of your skills.

There are two critical assumptions you are making here:

1) The kind of development you do is conducive to sharing via small projects on GitHub. The first four years of my full-time programing career I was working on firm real-time signal processing algorithms designed to run on an MPI cluster of POWER or Xeon machines. My skills were focused on low-level optimizations for that environment and hardware, design and implementation of grid-distributed algorithms, and understanding how to translate radar concepts and mathematical models into code. Anything along these lines that I could have thrown together for GitHub (had it existed back then) would ave been trivial and not really demonstrated anything.

2) Everyone operates under a regime wherein they do not need permission from their current employer to release things on the side. Needing to do so adds work and can be a real impediment to even wanting to put things out for public consumption.


You’re right. I’ve worked in the frontend space for a long time, which lends itself nicely to the GitHub model.

I don’t see why you’d bother trying to force your work into that model. If it’s not common in your industry then there is no one to compete against in GitHub stakes. Sounds like publishing a paper or being awarded a patent would have the same Effect of signalling that you’re good at what you do.


As an Aussie with a similar background - what sort of work were you sharing that got you on someone's radar? Your own projects or contributions to someone else's?


This was pre-GitHub. I shared a resource for frontend developers that went viral. If I wanted to get noticed today I’d be writing libraries around something like React or I would pick a less well known project from a big company and start helping out.


Cheers!


I think a good way to end the debate on Github profiles is this:

Github profiles are advertisement for programmers.

Advertising requires resources - time, money, creativity and commitment and not every business is ready to pay to price. Sometimes advertising pays off, some times it doesn't.

No police arrests a business owner for not advertising. Same with github profiles. Decide to have one, contribute a little, much or nothing at all. It's a matter of preference.


Designers have portfolios. Would you do them away as "advertisements" as well? They are much more than that, e.g. they show the skills of the designer.


The key difference is that designers are free to show the work they've done in their current jobs or internships. Programmers usually aren't at liberty to do the same.


If I read correctly the idea is not to do away with repos but rather not using that as the single signal.

Just like you shouldn't exclude any companies just because they don't advertise.


A lot of designers don't have portfolios.


So I mentioned, multiple times, that you shouldn't exclude people that don't have a Github profile. All I'm saying is that if you're underprivileged you have this awesome tool, use it.

And no I didn't have a lot of free time. I was working and going to school but when you're young you frankly don't need a whole lot of sleep.


when you're young you frankly don't need a whole lot of sleep

You do if you have health issues, or mental health issues, or kids (some young people have them), or a long commute, or a second job, or if you're not young...

It's hard to recognize privilege when you have it.


I can't tailor my advice to everyone possible ever. I'd wager there are many many underprivileged kids who have a lot of energy and some free time and my advice goes to them.


Maybe we should stop complaining about privilege and call it opportunity?

If you happen to have rich parents who pay for the best college, that's an awesome opportunity. Nobody should have to feel bad about taking it!

If you are poor, but happen to have a lot of spare time, that's also an opportunity.

Complaining about privilege is not actionable. Focussing on opportunities is a lot more constructive: We can look for ways to give someone an opportunity!


Complaining about privilege is not actionable.

It is actionable though. People can make hiring decisions on a candidates work rather than what they do in the spare time, just as they do in every other industry besides tech.


It is the open Internet that levelled the playing field.

Of which Github and Open Source are but subsets.


Agreed. However, it was GitHub and not, for example, sourceforge that lowered the barrier to entry for open-source.

The open internet is the substrate on which innovation runs.


Libre software and the open source spirit existed long before Internet. Sure, It was really hard to find projects and contribute to them, but we can do it since the dawn of computer science.


> Sure, It was really hard to find projects and contribute to them

They also weren't as visible and easily browsable.


when you're young you frankly don't need a whole lot of sleep

So, you are perpetuating ageism then. Let’s see how cocky you are in 10, 20, 30 years when you can’t get a job because of all the bloggers crowing about their Github profiles...


Since I'm talking about programming I'm also perpetuating ableism because you need to have functioning hands and eyes. I'm also perpetuating alivism because you need to be not dead.


you need to have functioning hands and eyes.

That's not actually the case! Blind programmers are not rare, and as for the other: https://venturebeat.com/2014/10/01/max-strzelecki-warlocks/


That's inspiring. Thanks for sharing!



Oldée currently full time emplyed programmers can perform programming work. They typically dont have github profile. Which is where your comparison fails.

You don't need to be young to code profesionally nor you need free time. Good job allows you to learn on the job. You need eyes and hands.


Some companies does not allow employees to write code outside of work, I work in a 50+ Billion company, whose policies clearly state that, you can be fired for writing code even in your free time. We even have a "training" to clear any misunderstandings, It has been conveyed explicitly with past examples of people getting fired.


Privilege is what is UNEARNED and there is no way to qualify if those with open source contributions are more privileged than others. The very opposite could be true. The privileged can bounce from well paying job to the next with no OSS contributions while the underprivileged have to "show their value" in the harsh environment of open source.

You're constructing the viewpoint you want others to see with no data or facts to back it up.


I'm saying that being in a position to have spare time to work on open source is a sign of privilege, and that employers should recognize that when they're hiring. Some great developers work on open source projects, but equally some great developers don't. Open source contributions are not a useful filter.


> Open source contributions are not a useful filter.

OSS activity is a useful low-effort implicator. As usual for implications, denying the antecedent remains a fallacy.


> I'm saying that being in a position to have spare time to work on open source is a sign of privilege

That is an assumption made without evidence. An equally qualified assumption would be that its a sign of privilege to not need to contribute to open source. You get an awesome education and go straight into well paying entry level position.

Committing to open source is not something casually done at ones leisure. Anything with traction becomes a significant responsibility and it takes an incredible amount of discipline and sacrifice to stay committed.


People who have the time to contribute to open source possess a privilege when compared people who do not have the time. It may also be the case that there are other privileges at work, and that if you have two people they both have privileges over each other in different ways.

I think it's better to consider privilege as multifaceted rather than a single global quantity. And in that case, I don't see such a strong disagreement between you and the comment you're replying to.

I very much agree with your second paragraph.


The world of open source is alternatively great place full of great people where any bad experience is suspect and alternatively harsh environment. Depending of what political point people want to make.

Or maybe there are both friendly and unfriendly projects and a lot depends on where the underprivileged is trying to make it.


The author makes a valid point, however the pushback against using OSS as an important hiring signal, is that most people are not privileged with enough spare time to work on OSS outside of their day job. Eg if you have a family, long commute etc.

And if they already are an excellent programmer and hitting all expectations, why should they do this? In fact, an employee who’s spending 5-6 hours/day on side projects might not be the best person for the company.

I don’t think recruiters look all that deeply either, I think you could game this by writing some docs or readme corrections to all of the top projects on github and get the PRs accepted.


> The author makes a valid point, however the pushback against using OSS as an important hiring signal, is that most people are not privileged with enough spare time to work on OSS outside of their day job.

Like most people I know, I use open source software in my day-to-day job even though I work in a company who provides proprietary software and services.

That means that when I do encounter errors or bugs in those open source components and libraries I can make the choice to either write workarounds locally in my code, or I can choose to submit patches back upstream.

That’s not a matter of privilege. That’s a matter of choice.

I also think it’s reflective of a developer’s attitude: does he prefer things done “properly”, or will he just hack together something which works? Will he share his solutions or not?


That’s often not your choice, your employer needs to give you the time and in some cases permission to do it.


If your company allows you to use buggy components but doesn’t allow you to fix bugs...

Then that’s a company with some pretty serious problems, and it’s going to show in all of their products. If you as a developer decides to stay in that company then that will also reflect on you.


Oh right yes I’ll just quit my job and not pay my mortgage so I can work for a company that has great values.


I'm not telling you what to do, or saying you should quit your job and leave your life in ruins over company values.

I'm just telling you how perception by association works. Your choices are entirely your own.


>I'm just telling you how perception by association works. Your choices are your own.

For that to work, the people you go to interview with have to have some idea of what your previous company is like, which is very unlikely.

Also, "I had bills to pay" should erase 99% of your "perception by association" concerns. And guess what? You can't verify that. And if you do try to verify that, you're the problem.


Don't worry this is part and parcel of HN posts. "If you don't do things the RIGHT way, you must be incompetent". With no regard for one's circumstances or context.


Why are those two conditions mutually exclusive?


Where is pushback against using degrees as an important hiring signal, given many people are not privileged with enough money to go to the university? Where?


Literally this article, and all the other comments and posts about how useless a computer science degree is for hiring, and how we should all go to boot camps. I actually have a comp sci degree (and learned a tonne) but I know former classmates who skipped through without learning to program properly at all.


Still, I confidently bet someone without GitHub profile has easier time in hiring market than someone without a degree.


This is why scholarships exist and significant effort is being made at getting everyone a chance to attend university.


You’re making a false equivalence. GitHub can both be good for the privileged, and the underprivileged can use GitHub as an equalizer. The only way to guarantee they cannot use GitHub as an equalizer is for every hiring manager to ignore GitHub profiles.

Look at the candidate, whatever they choose to present as their experience and resume, and make a decision based on that. Don’t ignore anything they send you and don’t discount them because they didn’t send you something that someone else did.


> most people are not privileged with enough spare time to work on OSS outside of their day job

I keep hearing this. Do you have any data to back it up?


Count me as a data point. I have a family, children, relatives, friends and a house to keep in order. And some other things that takes time.


If your commute is on a straight enough road you could probably do it then using an ssh app on your phone. /s


Nowadays most software depends on open source one way or another, and as developer you will eventually run into issues with the open source software that you depend on.

Also, larger companies internally operate much like an open source community, having multiple projects that accept contributions from anyone in the company.

Reporting and fixing public issues as part of your employment is a sign that you care about the ecosystem that you are part of, giving back rather than just benefiting from it.

It's not necessarily a showcase of your coding skills, because these contributions are usually small, but it shows that you will get your hands dirty if needed and fix the problem at the root, instead of hacking a workaround in your own code base. It also shows that you have no problem with learning a new code base and delivering code according to that project's quality standards.

If you don't have any public activity it may imply the opposite: that you are just freeloading your community, that you are prone to doing workarounds instead of fixing the problem upstream or that you are unable or reluctant to contribute to other projects.


> It also shows that you have no problem with learning a new code base and delivering code according to that project's quality standards.

If you can tell your employer you'll spend the next sprint or two fixing a bug upstream, good for you!

From my experience working with complex libraries, when you hit a bug or a corner case, it is probably not going to be an easy fix. There's a reason many open source projects are triaging low-hanging fruits for first-time contributors.


Companies should invest in the open source they depend on, otherwise they will need to re-implement it from scratch or maintain an in-house fork with higher costs. You may be spending those sprints implementing a workaround that you will then have to touch again when the problem is eventually fixed upstream, or you will run a private fork that you're stuck with forever and will have a hard time maintaining.

As for the complexity, from my experience it's a mix. There are indeed many complex issues, but often times the fixes are relatively easy and take little time to fix.

For the hard ones it's often enough if you can contribute to the conversation to better understand the problem, providing valuable information on how to reproduce, so that someone familiar with the code base can solve it easier.


I think we should stop looking for the One True Way and accept that there are multiple ways to evaluate job applicants.

Some companies will hire only people from top schools, other companies put a lot of focus on understanding algorithms; other companies just look at your previous jobs, and some may just look at your Github profile.

If you are looking for a job, you need to understand that, and apply to the right companies. Depending on your background, not every company might be a great fit.

If a CS degree is a hard requirement, and you don't have one, then applying at that job is a waste of time.

If you're applying to a company that works on Open Source and they have popular, public Github repos, and you have a blank Github account without any contributions, you're not going to make a good impression.


Imo, OSS advocates really really want open source contributions to be used as hiring signal, because that would mean more open source developers. That is what this all is about, primary. Wish to come back to "open source developers are superior, because reasons" ideology that was pushed for during open/close source wars. And close source developers take issue with it not just because of privilege, but also because you are claiming they are less capable due to their code not being OSS.

Majority of employed developers don't have regular open source contributions. Especially those who work in high pressure jobs that already take all they have - both in time and how much effort you can spend per day. If the company is trying at least little bit to reward contributions, the people who give the company more (or come in better rested) get rewarded more then those who work for company less. That drives employees incentives and behavior.

Yes, there are junior jobs available to people with two months of coding experience. That is how it should be and there is nothing wrong with company seeing your OSS code as one of way to prove you can do it. The moment it will be expected from everyone, guess what, people like me will have tons of advantages to homeless, former "big scholarship to go to university" student who had to drop out due to personal reasons.

Senior developer market is not flooded with people with large open source contributions through. It is just not the case. Why would open source on Github should be privileged over random portfolio in case of juniors? Or to open source contributions that are not on Github?

Lastly, I dont think large open source projects can handle influx of juniors using them to prove themselves - which is what would happen if companies would really require oss contributions for hiring. Oss projects have often hard time to stay on top of existing pull requests.


> Imo, OSS advocates really really want open source contributions to be used as hiring signal, because that would mean more open source developers. That is what this all is about, primary. Wish to come back to "open source developers are superior, because reasons" ideology that was pushed for during open/close source wars.

That's a new take. As someone who lived through that "war" in the 90s, the typical refrain from the "closed source" crowd was that open source developers were merely hobbyists, whereas closed source was built 100% by professional software developers.


Maybe it depends on who did you socialized with? Among people I knew it was universally "close source programmers are crap, oss are all geniuses". I also remember reading thinkpieces like that from people like Stallman (I think). A lot of heroization of programmers vs unethical managers too.

I remember the thing you said too, but only in context of "it is obviously stupid" and obvious manipulation from evil Microsoft. I still think that part was true (that it was manipulation from MS who was remarkably unethical in this war).


I would add: the homeless person linked from article is not someone having tons of open source contributions. He is someone who is learning, was adviced in browser compiler or raspbery pi to code on and sounds like a junior (e.g. has talent but not independent yet).

He would be helped the most if you would hire him as junior, with salary, was able to provide mentoring the same way other juniors are provided mentoring instead of expecting him to spend months homeless in library hoping to run into project that will be good fit for him.


OSS is better, even MS now advocate for Open Source. OSS is just a hiring signal. You need to review around 100 CV for a single position, you need these signals. In the same time if you want to progress quickly to the Senior position you need to prove your worth. What is a better way: describing how great developer you are in Cover Letter that no one read or having OSS contributions.


Majority of MS developers work on close source. They are not slacking in work afaik and majority don't do open source in their free time. Even if they would hire on oss, majority of new emplyes would be disappointed to find that they are under too much pressure to produce in work to continue.

Overwhelming majority if companies don't have 100 CV on position, our salaries would go down quick if that would be case.

I never wrote cover letter. Is that still done for tech positions? Haven't heard of it.


> Majority of MS developers work on close source.

That true, but major industry shift already happened. Literally, everyone is building on top of OSS.

> Overwhelming majority if companies don't have 100 CV on position.

You get around that many CV unless your company sucks(Glassdoor reviews) or you do not want to pay(Startup).

Pre-screening is done by HR/Agency. In some cases, you have even more leads that your Requiter is cold calling. Engineer running interviews will get 10-30 CVs per position.


> That true, but major industry shift already happened. Literally, everyone is building on top of OSS.

They are building close source on top of OSS. They are producing close source while using open source libraries. I find it odd that you would decide to limit your pool of applicants on those from few oss projects and rejected the rest of ms employees.

That is my point: majority of employed programmers produce close source application in companies that expect them not to slack off. That oss is used inside does not matter.

> You get around that many CV unless your company sucks(Glassdoor reviews) or you do not want to pay(Startup).

Uhm. Again, why are salaries not falling down? Why is everyone crying that they can not find people? Why don't that company does not specify in more concrete details who are they looking for so that people who wont like position self select out?

> Pre-screening is done by HR/Agency. In some cases, you have even more leads that your Requiter is cold calling. Engineer running interviews will get 10-30 CVs per position

That would explain a lot, mostly why there is simultaneous cry of lack of people, simultaneously too many applicants and simultaneously recruiters doing cold calling.

All in all, it sounds like broken hiring process.


Some people say that they don't have time to contribute back because they have a family and and a life. At the same time, pretty much every company depends on OSS to operate. Shouldn't contributing be an integral part of work?

In my day-to-day, I depend OSS to get my job done. If there is a bug, I am allowed take the time to build a patchset and push it upstream. It's good for everyone. The company benefits from not having to maintain a fork, the developer gets to build his github profile, the rest of the world can also use the update.

People who don't have a GitHub profile is also a signal that they either don't take the time during their normal work hours, or are prevented from contributing back due to company policy.


>> At this point, we've heard enough "rags to riches" stories in programming that it becomes difficult to dismiss this as simply "survivorship bias".

I like the rest of the article but this statement is disturbing. There are plenty of great open source projects which never got off the ground in terms of popularity.

Quality is not necessarily correlated with popularity.


How so? Programming is unprecedented in it's power for upwards class mobility. We're just scratching the surface. But it's the only thing we have that:

a) doesn't require a lot of resources to make a meaningful contributions (access to a computer and the internet) that could land you a really good job.

b) it's probably the only industry that doesn't requires formal education. Case in point, only one person at my company has a CS degree, and that's me.


On the other hand, if you have two shitty jobs to make ends meet, how to program and contribute to OSS after that?

There are cases. But most probably are survivorship bias.

I would bet, most current IT professionals have a at least lower middle class background.

If I take a look at my company, that at last rings true. Not sure about the US, though.


Quit one job and live below your means.

I don't quite understand why people seem to think success doesn't require sacrifice anymore. You can either sacrifice your time and money for a more streamlined education and get a college degree or you can sacrifice a lot of your time and take a risk to self-educate.

There's really no middle ground and both strategies can land you a job if you're good, but becoming good always requires effort and some sacrifice.


> it's probably the only industry that doesn't requires formal education.

I think this is because large majority of tasks do not require formal education (proverbial CRUDs etc.). And that's OK.

For the record I've got a master degree in CS but I can't remember last time I had to utilize that knowledge. Hobby projects? Sure. But not daily work.

Great article by the way! I was also on the side of "it's hard to do PRs and github as resume is a bad idea" but it turns out that it's surprisingly easy to start and the experience of working with people that have similar interests is really fun!


Can you think of yourself as "fortunate"? People admire and respect those who acknowledge that things worked out well for them, that success isn't inevitable, and that there are many other talented people don't succeed for any number of reasons.


Read my other post. Be grateful. https://amasad.me/grateful


I enjoyed reading both posts very much! Thank you for writing them.

The line about "survivorship bias" also jumped out at me as out of place. It's probably a phrasing thing, but I think granting that survivorship bias could be a factor, even as you assert that it is not a dominant factor, would have made the piece stronger. The way it was phrased seemed to deny the possibility, causing me to raise an eyebrow in skepticism, but that doesn't seem to be what you believe.

I absolutely agree with your central thesis that open source can provide a ladder for the underprivileged. At the same time, it's also undeniable that some people are constrained from contributing to open source due to economic and social circumstances, and I don't think those two ideas conflict. Does that make sense?


>There are plenty of great open source projects which never got off the ground in terms of popularity

Popularity isn't the real issue - it's, "What can you do?" or, "Show me what you've done."

When interviewers say, "Tell me about yourself," from my own experience, they mean - what can you do? Not hobbies.

Photographers and designers create portfolio websites to get clients (instragram too). Github or OSS provides the same for programmers.

Doctors and other professionals do the same by placing their certificates, awards, certifications on walls for their clients to see. And gain trust.

In summary, the open source project does not have to be popular. It just simply a proof of ability.


If I go to a doctor I don't look at the work they do all day and then ask about what medicine they practise at home in their spare time.


> Quality is not necessarily correlated with popularity.

Eh, it definitely is correlated. Maybe you wanted to say correlation is not perfect?


There is a weak correlation at best.

One of my open source projects has almost 5K stars on Github so I should be preaching with the choir here but that would be disingenuous.

I think that a lot of it comes down to having perfect timing... The kind of timing that only dumb luck can deliver.

Building a decent quality project is just the baseline requirement...

Saying that project quality or usefulness is the determining factor to achieving popularity in open source is like saying that having a pair of legs is the determining factor to being qualified for the 100m sprint in the olympics.


It's more that there a lot more factors than quality, like there being no competing projects or it being useful to a lot of people. Writing a quality project only gives it better odds than if the same thing was written shoddily.


"better odds" is exactly what correlation means. It does not mean "always better".


Is this maybe a hint of the lock-in which GitHub will pursue in the future? Like Facebook, you might prefer to avoid having an account, but due to other people using the platform as a signal, you feel that you can’t avoid signing up for GitHub (and accepting whatever terms Microsoft will set on this).

It is also a bit like the problem of academic publishing; you might prefer to publish in an Open Access journal and on ArXiv, but feel that you have no choice for your academic career other than to pay dearly for publishing in a “influential”/“reputable” journal owned by Elsevier, giving up all rights to publish elsewhere (and whatever other rights they feel they can push).


It's very true.

Many developers in the west having higher disposable income than their not so lucky counterparts who might be able to rival them in absolute skill.

But those developers want to spend more time with the family.

Remote work has not taken off even if we assume it's more profitable for a company to hire cheaper staff in low COL. This might mean that lots of the things in a startup has to do with maintaining a perception of smart geeks are working on a difficult global problem.

There is an arbitrage opportunity here by hiring ghost developers from low COL locations (similar to ghost writers). Why not support developers from low COL? That's what creates global economic equality right which egalitarian society always strives for.

So, if anyone comes to your office you'll have people looking seriously absorbed by the difficult problem but the real work will be done elsewhere, in return, you get peace of mind and more time with your family. Instagram pages and blogs will be lush with happy tech employee faces and "long stories of slaying tech demons".

Is this happening?


I hate how people don't mention the quality of work one is doing on Github, or anywhere for that matter.

I've personally seen people make one-liner commits deliberately, to get a good graph.

On the other hand, some people write code because they actually created something real, which solves a real problem.

And the difference is quite clear if you're looking for it.

Arguably, the github community suffers from the "celebrity" effect that facebook/Instagram have.

But I digress.

Comparing a Github account to a college degree is crazy.

Once a piece of paper, and the other is a full history of the guy's work, presented at a mouse click away.

I am about to clear the first year of my univ, and honestly couldn't care less about what the univ taught me. I can't even recall most of it.

What I can show you is my Github profile, where I did real work, and built real software that actually works (including some IoT projects that I personally use myself, every day)

Not to mention the other projects that didn't made on Github, but did make it on a Bitbucket private repo.


Ignoring the debate around "that tweet" Github is great for those with an interest to be able to self-teach and self-learn. To acquire experience from doing, by being able to see how others have done it before or to take that and use it.

Github is to this generation of programmers, what View Source was to the early web generation of programmers.

Without View Source in 1996, and with no resource to education or work at that time, I would not have learned how to make complete web sites and then have moved to automatically making those websites (HTML generation via a CMS).

Github is important and critical, but not for hiring those already in the industry... for learning and to make this industry accessible to those who are under privileged in terms of access to education, mentoring, code clubs, etc. And then for recognising those people during hiring and giving them the break they deserve.


As someone without a degree who got the first job based on open source work, this rings true.


It's anecdotal evidence. I don't have a degree and I don't contribute to open source because I have something better to do in my free time. Still, I have a decent developer job.


Well, what's better to do in your free time?


One thing is that since people from not so reputable university get to have very few interactions with those from elite universities, we assume elite university students are lot better at programming.

Today, you can directly take a look at their craft on github, this has given much confidence to those from lower rungs of the society like, hey! I can create better than this person even tho i am not from such an ellite university. This along with the meritocracy in tech levels the playing field where the ones from better universities should found startups by using their connections instead of working for companies


It is unavoidable that privilege affects who contributes to open source and how much. Whether or not this is bad is a philosophical issue: is it bad that life is unfair?

The harm comes when people deny the existence of privilege and other forms of luck, and attribute success to their own moral superiority and the moral inferiority of others.


Fairness and morals in general are leaky abstractions that only apply to a subset of all possible situations.

The most "fair" system can't survive a single generation of you allow parents to invest their resources in competitive advantage for their children – which is one of the most basic human desires.


The pull towards corrupt aristocracy is strong all right! But it's worth resisting.


Depends on your personal situation. It's possible it's also worth joining it.


The same underprivileged who feel there is no option but to sign a contract assigning all IP to their employer, which at best dissuades them from doing much open source, and at worst, precludes them from doing any coding which isn't for their employer? (I'm talking about the world beyond California, here)


Who is signing away code they write in their own time? If you do that then that's your fault. It's not normal at all.


It's been a clause in every employment contract I've been given. I signed the first one, because I wanted the job; the second company folded between my signing and the start date, so it was moot; I didn't sign the third contract at all, but I worked there for 7 years, which apparently is tantamount to acceptance :(

Some companies have put this clause in contracts for shorter-term project-based contract work, but I've just crossed it out, generally with no pushback.


I've been able to negotiate a rephrasing of this in every contract I've been presented with that contains it.

What you're willing to give the company is probably the same as what's really important to them: rights to IP you create in the course of your work for the company or during work hours or using company resources.

There are ways to phrase this such that - if you're a reasonably desirable hire - the vast majority of HR departments will be willing to substitute for the blanket terms.

If you're not sure how to negotiate this, explain that as an example you want to be able to continue to manage the website for your rotary club / kids scout program / whatever; and that the current phrasing would give the company the rights to that website, which there's no reason they'd want, and prevent you from giving back to your community.


It's very common for employment contracts to include that. Some states disallow such clauses but not all.


I think parent means that even if you "sign a contract assigning all IP to their employer", you can still write OSS code in your free time, since there is no way your employer will find out, and even if they do, they've no way to prove you wrote it, except if you "sign it", which no one does.


Even compared to say 20+ years ago, it is amazing how many fully capable services and how much high quality and polished software is free.

I'm a former network guy who is learning web development. The amount of software I've installed is kinda crazy compared to what I used with networking. Everything I've used is free and crazy high quality, I haven't felt like I'm missing anything. In the networking world it is a lot of custom software and proprietary software. There are free options for some things but they're not nearly as polished or fully functional out of the gate.


I think this misses the point. A resource like GitHub shouldn't just be used by the underpriviliged to score a better paying job. It should be used by underpriviliged groups to gain access to the tools and knowledge that rich groups take for granted. Then the underpriviliged can build their own system without simply buying into the existing systems.

This is the same argument we make against closed access research papers. The goal isn't to make it easier to hire poor people. The goal is to give poor people knowledge and resources so they can build themselves up.


I like platforms like GitHub as it makes it easy to have a public portfolio of your work. Not that there is anything wrong with not having a portfolio but it certainly makes life easier when trying to show clients/employers your skill set.

Pretty much all designers have some kind of public portfolio such as a website with example of their previous work. I see GitHub as a centralised (and, for the most part, respected) place to put your work for developers, even if you don't want to use it for collaboration but simply as an advertising platform.

However it does lead to the same kind of problem you get with employers not looking at a candidate who doesn't have a LinkedIn profile. You will inevitably miss out of some excellent people who don't wish to/can't use such a platform.


Design work is extremely different from developer work. Design work is usually publicly available, and each piece often stands on its own. Paid developer work is usually not publicly visible, and a lot of projects require working with teams. The type of work that goes on a Github profile, therefore, is usually unpaid work where you get to create your own project, and pick your own codebase. In this sense, you're comparing apples to oranges.


For me, having some open source on GitHub, bitbucket and launchpad, has been useful in few job interviews because it kind of helped to avoid the "coding exercise" and it was a good data point to prove I know how to use git and good development practices.

But that wasn't the main driver for me working on open source. I think it is a nice side effect, but it shouldn't be a requirement; and definitely GH is not your CV (specially when there's so much open source not in GH!).

That said, when I've been in a position that I could influence the hiring policy, I gave value to open source contributions because it did align with the ethos of the company.

I guess it may not be important depending on who's hiring, but it is always useful if it is there and what you see is good stuff.


> Because open-source is good at cutting through the bullshit, it also makes it an equalizer.

That's one heck of a premise.


You mean open source doesn't cut through the bullshit? It totally does. People can put anything on their resume and sometimes bullshit their way through questions trying to figure out whether they've actually done these things. If all else fails, they can claim trade secrets.

Open source contributions can't be faked (except by real name collision), and in any case, there is much more detail available than a few lines or bullet points in a resume.


> People can put anything on their resume and sometimes bullshit their way through questions trying to figure out whether they've actually done these things. If all else fails, they can claim trade secrets.

They can perform similar tactics on github: like mirroring an obscure but technically in-depth project without attribution, paying someone to write code and then committing it in your name (I've seen this done!), or making sure to get lots of extra commit density by doing one feature or bugfix after successfully landing a series of reformatting PRs.

An applicant planning to fake their way past you is genuinely hard to catch unless your process is tuned for it. The idea that there is a one-size-fits all interview process and that process is as simple as, "Check their github" is lazy to the point of malpractice. It's a goofy premise, and it's playing right into the hand of people who want to abuse you.

And this is just addressing the problematic nature of modern tooling for positive signals. Given the pervasive nature of harassment culture in the open source world, you should ALWAYS excuse the absence of open source work. It cannot be a requirement because the open source world can often become extremely hostile and/or political.


Open source contributions do not cover even scratch the surface of depth needed to be a software developer. Oh, you resolved that issue in a related repo? That's awesome. Now, for our repo we need you to design an entire system effectively, work well with our other developers, and meet whatever deadlines we prescribe. Of course, if you're someone that accomplishes all of that in the open source community, then your open source work definitely 'cuts through the bullshit'. But the people who meet those criteria are a small subset of even the active open source community. In general, someone's 50 line commit to an open source repo does not tell me much more than them knowing the technology, and being able to complete tasks within a time period of undefined length.


“For example, it's hard for me as an individual Muslim to change the fact that some people hate Muslims, so it's better for me to focus my energy on things that I can control. This, however, doesn't mean that as a society we shouldn't discuss issues of discrimination.“

Whoa.


Thinking about Github-as-resume as strictly positive or uselessly noisy probably means you have an overly simplistic model for evaluating candidates.

I'll share a model that's worked for me in the past. Before you even write the job description, define the 3-7 traits you need to hire against. These can be as fuzzy as "gets shit done" or as specific as "5+ years marketing SaaS to $100k+ accounts" or "is effective at resolving incidents while on-call." You need to be able to rate people on this. Binary is fine ("yes they can get shit done"). 3-4 levels is good (bad / good / total superstar).

Don't go overboard with granularity: you need to fit this all in your head for a couple candidates at a time when you compare them. As you go through your process, try to get good information about at least one of these areas at each step.

My favorite thing to do is, between in-person interviews, be able to tee up the next interviewer with "I got mixed signals about communication style. Can you dig in?" When you wrap up, make sure you cover all the boxes. Don't get smitten with a candidate with amazing experience who can code circles around everybody else who's never worked in a 25+ person team (assuming that's what you agreed was important). When you're ready to make a decision, you now have a reasonable set of trade-offs to make. I tend to create rubrics where solid scores in 3 of 5 categories is a Hire, to allow us to compare different types of candidates.

Ok, back to GitHub.

GitHub can give you VERY STRONG SIGNALS for some of these issues. It's great to be able to know up-front that somebody is comfortable working with teams they don't personally know well (typical in big open-source projects). The convese to that is that I generally expect some strong signal up front from any candidate. If not GitHub, give me a respected company on your resume. A recommendation from a mutual friend. A well-written cover letter. When folks complain about 100s of resumes, it's because the problem is this lack of signal.

An aside: it's on you to allow folks with non-traditional backgrounds to succeed at this step. Write a better job req, or go email likely candidates. Diversity requires multiple ways in. Once you're a bit further, this cuts the other way. If "good communication in pull requests" is important to you, don't spend any time here with candidates who have strong Githubs.

You already have all the data you need. Spend your time elsewhere. There is no extra credit. GitHub can help you a bunch when evaluating candidates, but it's crucial to stay away from this notion that _anything_ during an evaluation that looks like a silver bullet. You always have to do the work of interviewing well, and it's always specific to your company.

Finally: if you have a process that allows you to fully evaluate a candidate by reading their public GitHub, you're almost certainly hiring for the wrong things.


Also, what about Stack Exchange profiles?


Speaking as someone who has been on there and posted a substantial number of answers I think the correlation between professional development skills is much stronger with open source contributions than "points" on a QA board.


IMO as someone who has been on stack exchange for a long time, while barely posting anything, ever. I would loathe feeling the need to have an active history of participation to boost my employment opportunities. At the same time, someone with a lot of good answers in their field should definitely include their profile in a job application.


This title feels like political click-bait. The first two paragraphs describe what most people would consider a privileged background and the core of the post goes on to discuss the merit of using GitHub as a hiring signal. What the author is really describing is how GitHub can be a way to get your foot in a door or stand out from the crowd where you otherwise don't have any social connections.


There's evidence in the literature that shows that there are systemic biases against women in github pull requests, even when in the aggregate women may display greater levels of competence. https://peerj.com/articles/cs-111/

To suggest that pull requests are a good hiring signal (as the author does in explicitly endorsing the "screening" of open source maintainers) ignores this bias. That can be positive or negative, depending on your commitment to diversity in our field.


For those who haven't read the linked article before, it really is fascinating.

The relevant bits are two factors:

* Is the person sending the pull request someone already known to the project, or an outsider?

* Is the gender of the pull request's author easily determinable?

It would be unsurprising to find that "outsider" pull requests get merged at a lower rate. But "outsider" pull requests from women merge at different rates depending on the second factor: when it's easy to determine the gender of the author, a pull request from an "outsider" woman is significantly less likely to be accepted than a pull request from an "outsider" woman whose gender cannot easily be determined. Also, "insider" women and women whose gender is not easily determinable have higher rates of merged PRs than their male counterparts.

There's no reason to suspect that whether someone's gender is easily determinable by a PR reviewer (usually, via username, profile picture, other clues like linked blogs or social-media profiles) has an effect on the quality of their code. So while this of course doesn't prove gender bias (we'd need telepathy for that), it does very very very strongly suggest it.

This is also in line with a lot of prior research and reporting on blind interview and auditioning practices, so shouldn't be too surprising, but for some reason people love to insist that tech is somehow different from all those other fields where hiding someone's gender changed how they were evaluated.


> systemic biases against women in github pull requests

Did you read your link?

> The hypothesis is not only false, but it is in the opposite direction than expected; women tend to have their pull requests accepted at a higher rate than men! This difference is statistically significant


... unless they can be easily identified as women from their profile, at which point their acceptance rate drops.


The acceptance rate of both men and women dropped if they were identifiable as men or women. The study doesn't make any attempts to explain this.


Yes, and the one of women drops below the one of men, and that's clearly what the initial reference to the paper was talking about.


But only in the case of 'outsiders'. In the case of 'insiders' the acceptance rate of men drops more than that of women when their gender is known (no p-value provided so hard to tell if statistically significant).


A person trying to use github as a hiring signal is going to be an outsider at some point.


Did you read the abstract?




Applications are open for YC Winter 2019

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

Search: