Hacker News new | ask | show | jobs
Ask HN: Do companies accept self-taught programmers?
41 points by cognitivesys 3999 days ago
I'm really bored in college help me(don't know what to do,waiting few hours just for college instructor,learning classic turbo c++, always get distracted by foolish when I'm thinking about my project/an idea) I living in indonesia, is there any website out there to find a job. Thank you very much!
33 comments

Yes.

I've hired >50 engineer in the last 12-18 months. They are experienced hires I will grant you, but education is something I barely look at on a resume. In fact, I can't even tell you how many are self taught vs not, but I suspect it's 30%+.

It's a little different for junior engineers, as it can make a difference, but in my experience the only thing you can ask for from any engineer, which is especially true for junior engineers, is: attitude and aptitude.

Would you mind if I asked how you test for attitude and aptitude?
Typically with years of experience substituted for a degree.

For example, if hiring someone with a CS/MIS/CIS degree with 4 years experience. We'd accept 8 years experience in lieu of a degree.

If you find learning in college boring, what do you think this field holds for you? You have a world full of knowledge you could be learning if you're bored, no professor is preventing you from becoming knowledgeable across many programming disciplines.

It seems you don't even have a rudimentary idea of what goes into building software yet, you just want to skip ahead to the getting paid part.

If you can't build your project/idea already, why would someone pay you to work?

Keep learning, you've got a very long way to go. Good luck!

  "...with 4 years experience. We'd accept 8 years experience in lieu of a degree."
I don't necessarily think this is a bad policy, but the idea of counting someone's freshman year at university as a year of experience makes me chuckle a little.
I don't have degree and I worked in the second largest internet company in Russia (where university degree is mandatory for 90% of population due to soviet mindset).

Currently, I'm in process of interviewing with London Office of Facebook. They told me that they don't care about my degree. The only important thing is my skills. Also, I had conversation with Google HR, he told me the same. Ripple Labs has very advanced position for C++ developer and they don't care about your degree at all.

But I found that average tech companies care much more about degree than Google and Facebook.

So answer to your question:

Yes, top-tier employers in tech industry don't care about degree. But in order to get there you have to gain your first experience in average companies and it will be harder than with degree (but it's not impossible).

Degree is very important to getting work permit in USA (H1B visa), Canada and many other western countries.

I got my work permit in Sweden without any degree, but salaries here are low.

If you dream about California, you have to get your degree even if it's super boring.

California is home to a world of startups in San Francisco that don't care about a degree. If you can prove yourself to be curious enough and have enough verifiable experience to back up your abilities, the startups will come for you.
I totally agree with you. But in order to get H1B visa, I should have bachelor degree or 12 years of documentary proved experience. I have 12 years of experience, but I can prove only 8 years because my first employer doesn't exist anymore. So it's a visa issue, not employers.
Yes and no.

Do startups accept self-taught programmers - definitely yes.

Do companies in general accept self-taught programmers - yes.

Do large fortune 500 companies accept self-taught programmers - generally no.

There are exceptions to this rule. If you're self-taught and have done something amazing, like created your own programming language used by thousands of programmers, or you've got years of experience in some area thats hard to find experts in, like realtime systems programming then they'll make exceptions and you can get in.

If you want to work in R&D you're going to need a PHD, the only exception here might be in startups.

But aside from the big players, you can almost always substitute experience over education. Given two programmers, one with 3-4 years experience and the other with a bachelors degree and no experience, its actually the case that exp will trump education just about every time, especially on general programming positions and in the startup community, where all that matters is what you can do and have already done.

Overall though, do yourself a favor and finish up your degree, you'll always have the advantage over candidates that don't have one.

Short answer, focused on the USA's job market: Yes, with some effort you can definitely find companies that don't require a degree.

Long answer: The long-term trend has been that it's becoming harder and harder to get by without a degree. It's just supply and demand in action. A long time ago, people with programming skills were hard to find, and companies had to settle for hiring whoever they could find.

But people with programming skills are becoming increasingly common nowadays. Supply is starting to catch up with demand. That's making it harder to find a job that doesn't require a college degree than it used to be. Now companies start having an incentive to add a degree requirement just to reduce the number of applicants they have to consider.

Even if there is not a degree requirement, it's only going to get more common that you find yourself competing directly with people who are similar to you in every way except that they have a degree and you don't. When that happens, they're likely to pick the person with the degree. It's just the safer option from their end.

About 4 years ago I interviewed a candidate who was great; did whiteboard exercises well, knew a bunch about data structures, had good design sense and some exposure to systems programming (this was for a group doing drivers and so forth for the Xbox). He was young, but we were all happy with his performance and frankly we wanted him on our team.

We all said "Hire this guy."

Turned out he didn't have a degree, and a director said "Nope."

Okay, so that director is an asshole. Everyone says that he's an asshole for this decision (and he is an asshole for other reasons, too -- MS still hasn't fired him and I have no idea why not). I go to him and say, "Guess what college I graduated from?" and he mentions some place hifalutin' and crazy and a little embarassing. "Nope, I'm a drop-out from (certain cow college). Also, those really good engineers Greg and Frank? They don't have degrees, either. So why don't you give this kid a break, he'll be great."

And he was.

So . . . the results will be mixed. I can say that most of the engineers I work with do not care about educational background, they care about knowledge and experience, however you got it. The various and gormless filters you may have to go through probably do care, especially at larger companies.

Once you have sufficient experience, though, nobody will care.

There are all sorts of anecdotes on both sides of the story. The one that I go back to is programmers I know who don't have a Bachelor's but do have jobs at companies with hiring managers who have enlightened ides about these things. And y'know what? They are starting to find themselves indentured to those companies because prevailing attitudes on the subject are continuing to shift.

A lot of them are now thinking about getting a bachelor's degree from some online program as a defensive move. Small companies go under or get acquired without much warning, and big companies can have managerial turnover without warning. Either way, not having a bachelor's degree leaves them at increased risk of being in a situation where they're getting overlooked for jobs or raises.

I think this is a really important trend to bring to the attention of any young person who is seriously considering dropping out of college to go into industry. It might be fine right now, but take a look at the long view and consider that this person is going to need to be maintaining their career for another 40 years at least.

Personal anecdote: My grandfather only had a high school diploma. He ended up being an extremely accomplished corrosion engineer, and invented some of the key tools and technologies that are used to maintain oil and natural gas pipelines. Does his experience imply that it would have been wise for my brother (also an engineer) to try and skip college? No, not in the slightest. The economic circumstances of the job market for engineers changed in the intervening decades, and the prevailing attitudes within that job market changed right along with them.

I was in a similar boat. Classes did nothing but made me yawn, spent time creating web apps for myself and for personal group of people. Soon, people realize that is your specialty, got a few part time job as a web developer during college through invitation. It was good to know how a paid job works. I quit college seeing no hope of willing to complete it, then several years later, started to work in a company for a year just for the sake of it, now I go independent getting enough work without asking for one for years all thanks to the knowledge I acquired back then. If you're imterested in a tech, dive into it, create something out of it, so you and others realize what you're capable of. Take your time to learn what you like, it pays off well later as you have no time to learn deeply after you start working as schedule becomes more important than quality of your work most of the time.
I was in the same situation and after 3 years of open source projects, figuring out what language I wanted to stick with and finally nailing a interview "after many many strange ones" I got a great job. I've quickly grown in my company and others look to me for guidance "I actually introduced them to git".

I hated general college classes that weren't related to programming and sitting in rooms where after a semester people still didn't know how to add a image to a webpage. Now I've learned so much working 50 hours a week getting challenged left and right by so many real life issues.

There are plenty of jobs open to self tought programmers around me they simply want you to master your language and stack whatever that may be and my problem was trying to be a jack of all trades like trying to learn Ruby 3 days before a interview.

So what did you stick with? Im having the same dilemna...I think PHP, Java, JavaScript and C# are the way to go. So far focusing on just js and php has shown noticeable improvements...
No it doesn't matter for getting hired, it does matter for borders.

Since you're bored get some experience while in college and that will help out immensely, also the most important language to know is English, from your writing I'd really recommend brushing up.

Lots of sites like elance / remote programming jobs to find freelance work, don't burden your studies with the pressure of a full time gig.

Instead of "in lieu of degree" you should've looked for "or equivalent technical experience" or something like that. That's what job ads usually say (Still true that having a degree gives you more job openings, but it's not that big of a difference).
Also, just because an ad says "bachelor's degree" doesn't necessarily mean it's required. Businesses have a problem they need solved and there are very few problems that require a BS.
Top results suggest this is useless to the HN-centric environment

Success Coach, therapist, management

Admin, service tech

Do you have a portfolio? This is likely the most important factor. Proving your skills is a good start.

I think every programmer is self taught to a certain degree. You learn very little in tertiary education when compared to working 40+ hours a week as a programmer - in my opinion of course.

I learn by doing things, whereas others learn better in different ways.

Good luck!

Having any sort of degree + experience can be an advantage. For example, I'm a programmer, but have my Bachelor's in Music and a whole previous career worth of experience. Achieving a college degree shows perseverance.

Spend some time working on your idea outside your studies. If you are already in college, you've already made a huge investment. Take advantage of the resources (including professors) and the network you have available to you during this time.

Do extra work, especially if you don't currently have a job or are raising a family right now. So many people piddle away this time and skip through college as if it doesn't cost thousands of dollars a semester (even if you didn't pay it, someone had to), or if it's some magical job-providing mechanism.

Get back to your studies and start your projects!

If you're already in college and borde with your CS course, stay there and study something else. Knowing programming plus anything else will make you more attractive than someone who just knows programming. Especially, now that 'everybody' is teaching themselves programming.
That's a hard question and I expect there'll be lots of wildly different answers. This is applicable to me, as an EU college non-CS dropout.

What matters most is to show competence. If you can make someone interested in some things that you've built, you can probably make do without a degree, but you'll have a tougher time getting through the door.

My two cents is try to stick with your formation, while you build yourself something impressive. Chances are you'll pick up something useful and the social network of peers will help you at least as much as the formation itself.

Best of luck whatever you choose!

Many already said but I also would like to say yes as a college/university dropout.

Programming was my biggest interest since I was a child. So started with Basic, then moved to ASP 3.0, then C, then web programming with PHP and now, at the age of 32, I am still working as a full stack developer and getting paid well.

The hardest part of self-education is to learn best practices and how to do things on a large scale. So learning the syntax is easy but getting the principal and methodologies will take some time and practice.

I also thought I would be bored with CS (well not with the subjects... with the nerdiness) so I decided to study design at University. I knew that whatever happened I would always eventually end up doing a lot of code as it's something I always enjoyed doing even if just for the sake of learning how something works.

Now I'm a web developer and after having worked in one of the most interesting design studios in my country I'm pretty sure my previous choices helped a lot broaden my horizons.

The Advice I give to a lot of people on the importance of school is that one should use it to learn the things you wouldn't learn by yourself anyway. So sometimes boring might be good if it's useful.
It seems likely introductory courses will keep you bored if you are already interested in programming and/or CS. There is a lot to be gained from the higher level material, but you can also be productive with self-taught skills in many application development environments. To grow with your career, though, you will need a deeper background than self-taught programming skills, whether it comes from a parallel study of CS concepts or general scientific or mathematics training.
Start working. You won't learn programming until you actually do it. You can always do some kind of degree online in the meanwhile (or afterwards when you have time). That should keep the credentialists at bay. There are lots of websites where you can pick up paying gigs: elance, odesk, guru, ... The point is, however, that you will have to be able to do the job, or else, they'll expel you from the job and they'll just get someone else to do it instead of you.
Never got a CS degree (got one in management, but that's a joke of a degree). I can say that i really feel lacking in maths, and it's nearly impossible to compensate by just googling, and it made me troubles with some projects. Otherwise i made quite a successful career and never had a problem getting customers/jobs. So forget it, if it's not one of the world's top IT schools (obviously these are not found in Indonesia), it is as good as nothing.
tl;dr - YES I have hired personally self taught programmers several times.

But I wouldn't suggest you to quit college and seek for a sw developer job. In most cases those (usually talented) developers have knowledge gap when it comes to algorithms, data structure or deep understanding of the HW / OS. Thus, you might be able to find a job right now, but in time you will need to catchup or you will have hard time to compete other developers with formal education.

Sure, as long as you're able to provide value to a company, you can get a job. I recently got a job at a startup as a frontend developer, after going through a 3 month coding bootcamp. I had been learning coding on my spare time a couple of years before that, but no formal CS education. As for websites, use Upwork to get some clients. Won't be well paid, but it's a start and will help you grow your portfolio.
Yes they do.

Interviewed a few self-taught programmers. Some kind of test task and an interview says more about candidate than line with degree in resume.

This is true. That said, I'm not sure how true it is in Indonesia.

Many very attractive jobs will be outside Indonesia. Immigration without a degree can be very tricky...

Can we fix the glaring typo in this article title?
Some will, some won't - concentrate on smaller companies, and have a portfolio of your achievements. Try to target a niche. Don't be put off by rejections, you only need one yes and you get infinite lives.
short answer is yes, just make some things that show your knowledge. But I wouldn't suggest to drop out.

A little bit longer answer: I'm from Germnay, I've studied architecture but I've decided last year I want to make my hobby my job, and I've applied for a few jobs and got some offers. On a sidenote our (sofware) architect did never finish school.

But I have a huge knowledge gap compared to my coworkes who have studied CS. I personally feel inferior to them. So I'm going back to university to study CS. I would suggest you shouldn't drop out.

Which Company? Company A? Company doesn't hire, people in the company do.

Answer to your Question - "It depends".

A question to your question - Can you make company feel stupid enough to even think about a college degree?

You probably don't need a degree but you might someday regret not having one and it'll be much harder to go back later. So my advice would be to ride it out and keep up with the hobbies.
work on your own projects whilst doing whatever you need to complete college? most degrees require miniscule amounts of work. I graduated top 5% of my class and basically never attended....
tl;dr - Yes.

Studying is still very important and valued by a lot of companies. I'd recommend to study in something else "complimentary" that passionate you and learn/improve in software engineering outside school to have a more diversified skillset. That's what I did 4 years ago, landed my first software engineer job and now had the opportunity to move to London because of that!

In order to get a job, you have to get an interview. You are way more likely to get an interview with a CS degree, then without. It really doesn't matter how good of a self-taught programmer you are, because no one will take you seriously. In my experience, side projects and code tinkering are discounted during the interview and hiring process - I agree, this is dumb.

I don't like or agree with any of the above, but that's how most of the world works. Put in the time, get it done. 10 years from now you will be very happy you did.

I've never been asked about my education (or lack there of) in an interview. Can't speak to Indonesia, though.
programming is a blue collar job, no degree required. Try climbing the ladder in a technical company (not a startup). You won't have the skills and understanding to assume the responsibilities of higher positions. It's been this way for a long time. Programming can be taught at a vo-tech.
TL;DR --> You can find programming jobs flooding on the internet 24/7/365. If you have confidence in your skill, theoretically speaking, you'll get a job in an hour or less. Just search for "freelance programming jobs online".

Learning C++ course on college may not do much to enhancing your problem solving capabilities in programming because when the classes are not fun itself (as you mentioned), I can assure you that you will not learn much but detest the programming classes itself and I regret to tell you this but you may end up renouncing programming itself, which you just said you want a job in. Albert Einstein said that after a year or more of mind-numbing classes in highschool that did nothing to excite his creative potential, he found that the same scientific concepts that fascinated him in the past felt utterly distasteful for almost a year when he entered college.

Finally, after reading half of the Internet's how-to on "how to code" and "how to be a skilled programmer", one answer was always common in all of them:

- THINK OF AN IDEA AND WORK ON IT.

They mention that if you don't have a purpose to learn to code, you shouldn't learn to code at all. So, let me link to eye-opening articles that debunk the myths of programming I found in this thread: https://news.ycombinator.com/item?id=9823985.

- http://fourhourworkweek.com/2013/11/03/productivity-hacks/ - http://blog.codinghorror.com/please-dont-learn-to-code/ - http://norvig.com/21-days.html - http://www.invokemedia.com/wp-content/uploads/2013/06/venndi...

When you build apps or websites that do something you wanted, only then you gain the confidence and skill to work for others on their projects, isn't it? And that time will come when you will be overwhelmed by the number of jobs you can apply to. So, "no skill, no job". :-)