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.
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.
> 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.
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.
> 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.
> 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.
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
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 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.
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.
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.
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?
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?
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.
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.
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.
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.
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).
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".
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.
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.
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 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)
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.
[+] [-] mmjaa|7 years ago|reply
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.
[+] [-] lockee|7 years ago|reply
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.
[+] [-] user5994461|7 years ago|reply
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.
[+] [-] njoro|7 years ago|reply
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.
[+] [-] annabellish|7 years ago|reply
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.
[+] [-] poster123|7 years ago|reply
Besides the will to get things done, other important differentiators are knowledge, talent, and intellligence.
[+] [-] 52-6F-62|7 years ago|reply
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.
[+] [-] duckduckno|7 years ago|reply
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.
[+] [-] forapurpose|7 years ago|reply
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.
[+] [-] cup-of-tea|7 years ago|reply
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.
[+] [-] LrnByTeach|7 years ago|reply
> 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.
[+] [-] sanxiyn|7 years ago|reply
[+] [-] madeofpalk|7 years ago|reply
[+] [-] lucb1e|7 years ago|reply
[+] [-] onion2k|7 years ago|reply
[+] [-] underwater|7 years ago|reply
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.
[+] [-] vezycash|7 years ago|reply
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.
[+] [-] amasad|7 years ago|reply
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.
[+] [-] vkbandi|7 years ago|reply
[+] [-] sintaxi|7 years ago|reply
You're constructing the viewpoint you want others to see with no data or facts to back it up.
[+] [-] albertgoeswoof|7 years ago|reply
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.
[+] [-] josteink|7 years ago|reply
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?
[+] [-] sanxiyn|7 years ago|reply
[+] [-] chatmasta|7 years ago|reply
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.
[+] [-] jasoncartwright|7 years ago|reply
I keep hearing this. Do you have any data to back it up?
[+] [-] swiley|7 years ago|reply
[+] [-] alien_|7 years ago|reply
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.
[+] [-] jakobegger|7 years ago|reply
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.
[+] [-] watwut|7 years ago|reply
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.
[+] [-] zimbatm|7 years ago|reply
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.
[+] [-] grosjona|7 years ago|reply
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.
[+] [-] amasad|7 years ago|reply
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.
[+] [-] vezycash|7 years ago|reply
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.
[+] [-] sanxiyn|7 years ago|reply
Eh, it definitely is correlated. Maybe you wanted to say correlation is not perfect?
[+] [-] teddyh|7 years ago|reply
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).
[+] [-] xstartup|7 years ago|reply
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?
[+] [-] devxpy|7 years ago|reply
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.
[+] [-] buro9|7 years ago|reply
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.
[+] [-] sanxiyn|7 years ago|reply
[+] [-] Nekorosu|7 years ago|reply
[+] [-] stealthmodeclan|7 years ago|reply
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
[+] [-] rectang|7 years ago|reply
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.
[+] [-] golergka|7 years ago|reply
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.
[+] [-] switch007|7 years ago|reply
[+] [-] cup-of-tea|7 years ago|reply
[+] [-] duxup|7 years ago|reply
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.
[+] [-] ImaCake|7 years ago|reply
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.
[+] [-] satysin|7 years ago|reply
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.
[+] [-] aitrean|7 years ago|reply