15 ms·
Four Steps to Google, Without a Degree
- gems 13y agoYou should work on redefining your goals if all you're concerned about is working at Google, or at another large company.
- jamesaguilar 13y agoI too know what other people should want to do with their lives.
- gems 13y agoMy opinion is that it (exactly what I stated, nothing more) is most likely a manifestation of insecurity, rather than a product of anything that's not superficial (desire to help people, for example). I'm not telling you how to lead your life (a fiat), I'm offering an opinion with a suggestion. I give zero shits if what I said applies to you and you decide to stay on the same course. You should get that straight.
- jamesaguilar 13y agoI guess I just don't know why you made the comment. Neither the OP, nor probably anyone else, has as their sole concern in life "work at Google/other large company." So I made what I thought was a reasonable leap that you were actually disparaging a hypothetical person's current main goal.
- gems 13y agoI made the comment because I don't think we should be reaching this level of discussion. We should be discussing something like how we're going to help people, rather than giving each other steps on getting employed. I have a tendency in believing there are better and worse motives. Content like this also shifts the attention away from what is actually important. It's an opinion, you can ignore it.
- mosqutip 13y agoThis sounds like the same line of reasoning as "why do we fund NASA when we could be curing cancer". It's extremely flawed logic. Let people accomplish what goals they want, it's not up to you.
- gems 13y agoWhat I'm saying is that you shouldn't focus on getting a job for its own sake. I'm questioning motives, not really the direction you should take your life. The former is more about staying goal oriented, the latter is more about value judgement.
- mc-lovin 13y ago>We should be discussing something like how we're going to help people If helping people is a good motive, why isn't helping yourself? While people must strike a balance between doing what benefits themselves, and what benefits others, that is basically a personal decision. People who work at Google and other tech companies pay taxes, and benefit society in many ways through the positive externalities. It's not for you to say that this isn't enough of a contribution to society. >It's an opinion, you can ignore it. If you state it on HN, you can deal with people disagreeing with it, without getting annoyed.
- gems 13y ago>If helping people is a good motive, why isn't helping yourself? It's a matter of what you think is right. Do you want to have a philosophical discussion? >If you state it on HN, you can deal with people disagreeing with it, without getting annoyed. I'm getting annoyed because the first responder was almost offended that I expressed a belief on what I think is right. I don't care if we disagree, but don't pretend like I'm encroaching your rights because I'm asserting myself.
- mc-lovin 13y ago>It's a matter of what you think is right. Do you want to have a philosophical discussion? Certainly, you started a philosophical discussion with your top post, so wouldn't you want to have this discussion? >I'm getting annoyed because the first responder was almost offended that I expressed a belief on what I think is right. I don't care if we disagree, but don't pretend like I'm encroaching your rights because I'm asserting myself. Ok, I see your point, but this is a complex issue in itself, let's drop it.
- lawnchair_larry 13y agoI feel like those statements against Google are also most likely a manifestation of insecurity. A lot of people want to work at Google, and there are always some who have to point out that it's not the ultimate prize, reserved for the best. After all, if it were a universal goal, and you haven't attained it, you must not be the best. The insecure person's solution? You don't work there, because although you could if you wanted to, you have reasons why it isn't worth aspiring to. Although I agree with your statement, being compelled to call it out demonstrates insecurity. To be frank, some days I wonder if my own insecurity is the reason I tell myself that I don't want to work at Google ;) I'd be curious how many detractors could get an offer from Google and reject it.
- jamesaguilar 13y agoIt's not that hard to get a job at Google. Rather, it's hard, but there's not much you can do about the difficulty -- the company's low tolerance for false positives leads to a high rate of false negatives. I am under no illusion that we are the best of the best. We're probably better than average, but only a handful of us are gods (I'm not one of them) and plenty of engineers elsewhere are just as good as those guys. The real upside of working here is the low rate of genuine incompetence. I just react negatively when ever someone calls out someone else's dream as unworthy. That is true whether the dream is to work at big G or start web startup #102341. IMO, they can both be fulfilling pursuits.
- gems 13y agoIt's true. I could just be bitter about not having a spot. But actually, I don't work in tech and I probably won't anytime in the future unless I'm forced. You can't verify that any of this is true, and that's fine.
- stevewilhelm 13y agoSounds like he reproduced the college experience without a college. Good for him. But in general it's probably more efficient to just to go to college and get a degree.
- mahyarm 13y agoEven with six figure student loans?
- jamesaguilar 13y agoThere are many, many solid schools you can go to that would not require six-figure loans. Alternately, if you can be in the top 1% of kids, the best schools, like Stanford, are starting to only charge those who can afford it.
- lawnchair_larry 13y agoBut he had a bad GPA, so none of the schools offering those programs were options for him. Six figures seems high unless you make some major mistakes, but remember, he is paying tuition and living expenses and losing 2-4 years of salary, experience, and opportunity cost. I don't think the "school" vs "no school" argument has to be as black and white as it turns into. I think circumstances vary and in his particular case, he probably chose the most optimal option. And I'd give him some bonus points for beating ("hacking") the system by finding an alternate path to his goal when it became clear to him that his current position became highly disadvantageous.
- jamesaguilar 13y agoDon't get me wrong, I'm not saying the guy in the article should have done something different. I'm solely responding to the guy who implied that going to college -> >$100k of debt. That is a false implication.
- sejordan 13y agoAlso, the community college. In-district tuition at community colleges is typically less than $4000 for the whole year. The in-state tuition at Purdue is about $10,000 per year. Assuming no grants or scholarships, that's $28,000 for a degree from Purdue (their graduate CS program is ranked #20 (us news), not too shabby).
- kniht 13y agoThese are all things you should be doing anyway, even if you're pursuing a degree, and want to land a good software engineering job. So the "without a degree" caveat doesn't really matter.
- ultimoo 13y agoI believe I am a good engineer, I have heard generally positive things about my professional work, have a college degree, etc. I am however terrified of programming challenges (topcoder, spoj, interview-street, etc.) I have tried solving some problems there using Ruby (back when it was 1.8.x, too slow for these kind of problems) and given up. Maybe I should give it a shot with C. Any ideas how to start, considering these competitive coding websites are quite important when interviewing at certain companies?
- tensafefrogs 13y agoStart with the basics of data structures and algorithms. Get a textbook and read it and implement the structures using whatever language you like, and find problems that are solved by using those data structures (and solve them). Watch computer science lectures on iTunes U. These days all the top schools put their lectures online. Try to do some of the homework assignments. If it's too hard, figure out what part you don't know and find an online course on it. Then try again.
- untog 13y agoI am similar- I don't perform well with abstract code challenges. So I don't interview with companies like Google that require them- it's just a coincidence (or is it?) that I don't particularly want to work at those companies either. In my most recent interview I was given a computer hooked up to a projector and a real world challenge to solve. I went step by step, describing to my interviewer what I was doing. I got the job.
- spaghetti 13y agoMy experience participating in TopCoder SRMs (quick algorithm development competitions) has payed off quite a bit when it comes to white board coding style interviews (both as the interviewee and the interviewer). Just thought I'd share a few pointers: - participating in SRMs is great practice for interviews because you're forced to learn to think clearly while under intense time pressure. - The TopCoder tutorials are a great resource. In addition to review of useful mathematics, data structures and algorithms they'll give you an introduction into how to participate well. For example time management between the easy, medium and hard problems. - You have four language choices for SRMs. My preference is C#. I like using Visual Studio because the auto-complete/intellisense comes in handy when you have to write a bit of boilerplate code (like "new Dictionary<int, int>();". I've also used MonoDevelop on OS X. It worked well. iirc almost all problems are solveable using C# except a few where, to my knowledge, C++ was necessary. Read-up on Petr's advice. I believe he's a fan of C#. - My knowledge of C# isn't particularly deep so don't let learning a new language scare you away. imo you just have to effectively use dynamic arrays (List<T>), hashtables (Dictionary<Tkey, TValue>), static arrays and strings. Also a sorted key-value store like SortedDictionary comes in handy once in a while. - Last bit of advice: solve lots of problems and have fun! You can access a vast archive of problems from previous competitions and match editorials which usually have decent explanations for the problem solutions.
- navs 13y agoSo what's the take away message from all this? Work hard and enjoy your work. I've got a lot of the former and none of the latter. While building websites for random clients and studying at a University, I've discovered my interest in the digital world has waned.
- anxx 13y agoMy Google interviewer was a HS-educated guy. My parents couldn't believe it. I tend to think - if he is as good at the job as me, what does his education matter? Why should I be offended that a HS-educated guy is in the same room with me? Education is meant to produce a difference in job performance; it's good for the worker, not directly to the employer. If I with my college degree can't get a better job than a HS-graduate, it's on me to change. My parents find my lack of ego around this subject so weird. Also, the world at large is probably more similar to my parents.
- lawnchair_larry 13y agoI was on a team of about 10 that had at least one of each: HS dropout, HS diploma, bachelor CS, masters CS, Ph.D. CS. Most people weren't really aware - many came from other teams, so they didn't interview each other, and it just never came up. Everyone is just known by their title/responsibilities. There were two people in particular that were carrying a lot of that team. Not only did they do the most work, they fixed broken design, and other engineers relied on them for support as subject matter experts. One of them happened to be the HS grad, call him Sam, another had a BSc. It came to be interview time for a new hire, and the hiring engineer (head engineer made team hiring decisions there, manager just signed) asked me for feedback on the candidates. "That guy? He didn't even have a degree!", was his response, even though this guy did objectively better in the interviews than anyone else. Confused that he would be surprised that I would vote for the clear winner, I said, "Huh, since when has that been a consideration here? Sam is one of our strongest contributors and his lack of a degree sure doesn't seem to be a problem, right?" "What do you mean? He only has his Bachelor's? Wow! Really?" he said, completely shocked. "No, Sam doesn't have any degree. He didn't even go to college at all." After some feelings of both shock and skepticism, he muttered something about being uncomfortable with it, and legal liability, then walked off. Just a few weeks prior, I watched this guy rave to the VP like a fanboy about how smart Sam was. His favorite employee, until then judged on his merits over the last year, was perhaps not up to his standards now. Boggled my mind. I always thought that a degree is one of a few positive signals that you have a worthy candidate. If someone is already proven, how can it possibly matter?
- 13y ago
- chrisa 13y agoYou mention Ruby on your "become fluent" list, but I get the impression that Google doesn't use much ruby. Is the feeling there that skills in ruby can transfer, or is it more important to focus on Java, C++ or Python?
- mseebach 13y agoBeing a good developer in any language is pretty transferable. Google isn't going to care if you have to fumble for a few weeks getting comfortable with the syntax. The important bit is being a good developer, not which language.
- 6d0debc071 13y agoJust a warning that, at least in the UK, I've heard that many companies do want you to know a list of quite specific programming languages and advertise for a programmer that does X language with Y years experience in it, rather than going after the computational knowledge side of things. So, you know, just check what you're going for first if you're still at the making decisions about what to learn stage. Can't speak for Google though. Just if you were thinking in general terms.
- kelnage 13y agoAs a software engineer in the UK - in my experience, the companies who want you to list very specific programming languages aren't worth working for. If they don't/can't understand that programming experience is transferable between languages, they probably aren't going to respect you for your skills either.
- tracker1 13y agoThat happens enough in the U.S. as well. More often as many positions are being actively driven/searched by consulting companies (temp/placement agencies for IT/Software).
- davidbyttow 13y agoAs long as it's a multi-paradigm language. I'm not a huge Ruby fan, and you're right, Ruby at Google is almost non-existent. But I know a lot of developers like it, and a lot of companies look for it. So long as you master one of these languages and learn a couple others, I figured you'll be fine.
- jmgrosen 13y agoWhere are some good resources for learning the details and practical uses of the various algorithms and data structures one should know? Even if I never end up using the information in my line of work, I'm interested in them just out of curiosity (and they probably wouldn't hurt for job interviews, either).
- declan 13y agoI would look at the syllabus that a sophomore-level computer science class would use, which when I took it was called something like Data Structures and Program Design. Take a look at the books taught at places with good CS departments (like Stanford, CMU, and MIT), and see what ones are most popular. Also a syllabus may have example problems, lecture notes, and previous exams.
- tensafefrogs 13y agoiTunes U is an amazing resource for learning these days. So many courses and lectures and homework assignments. And Khan academy has a pretty good CS section as well.
- jmgrosen 13y agoAfter doing a little research, MIT OpenCourseWare seems to be really good. So much for doing homework this weekend!
- mmanfrin 13y agoAs an upstart-from-QA developer with a liberal arts degree, #3 is my biggest concern. I've been reading as much about data structures and theory as I can in preparation for the day I have to interview again. It's scary. I feel I am competent developer, can code well, but I know that there's a glaring hole in my computational vocabulary that will bite me in the ass. I've been considering trying to see if I can get a masters in CS, to supplement.
- MostAwesomeDude 13y agoHuh. I didn't do any of this. Maybe there isn't a single way to do things.
- readme 13y agotimtowtdi!
- alberich 13y agoI'm a bit curious, why do most programmers like to call themselves engineers even though programming is not engineering?
- klepra 13y agoBecause most of them are software/computer engineers who also program as one of their skills.
- alberich 13y agowhy the downvote? Donald Knuth himself describes programming as an Art.
- mc-lovin 13y agoProbably because it's off-topic and people are sick of hearing about it. It's simply a discussion people aren't interested in having, and at the end of the day it's the participants who decide what gets up or downvoted.
- aortega 13y agoIt was when Donald Knuth wrote that, 50 years ago. Nowadays it is engineering. It is desirable for a programmer to build software, within a specific time, specific cost and certain specs. 100% Engineering. Now this is valid for 99% of software jobs out there. You will always find some company that does software research, but it's the 1%.
- randomdata 13y agoI do agree that software development is many parts engineering, but I believe that farming is engineering to the same extent (I do both, so I have an intimate knowledge of how they compare). Imagine a farmer calling himself an agricultural engineer. It is part of the nomenclature now, so it is what it is, but I don't see what was wrong with the previous "programmer" or "software developer" titles. The engineering part was already implied.
- zerr 13y agoDavid, one question - what percentage of the knowledge acquired only to prepare for the interview did you actually used at the job?
- davidbyttow 13y agoHard to quantify really. Often, it's not the exact knowledge that you use, but the byproduct of knowing something that helps you learn something new. For example, learning the nuances of a new language became much easier once I took a stab at implementing my own compilers. I still had a LOT to learn, and Google is a fantastic place to soak up as much knowledge as possible. Mostly everything I learned about distributed systems came from Google.
- EvilLook 13y agoI hope step one is making your site work on tablets because your site doesn't work on the Kindle Fire browser.
- ivv 13y agoI wonder how he parted with the first employer that had paid for him to build the first game.
- davidbyttow 13y agoSimple: I was honest and direct with them. I told them I had an opportunity that I could not pass up and had to put in two weeks. In the end, I was savvy enough to know that the rate they were paying me to develop their sites and the amount they were paid was a huge margin.
- surano 13y agobut the goal behind TopCoder problems should be improving thinking skills, not preparing interviews, I think. Because not the actions which determines more our future, but the intentions, I think
- davidbyttow 13y agoTopCoder problems quickly become pattern recognition and that becomes (brain) muscle memory. Knowing exact solutions to exact problems is not helpful.
- surano 13y agoit is helpful is most cases, but it has to be just a tool not a goal. a developer can reach the same thinking level just by working on its personal projects and by searching and reading about algorithms. However timed problems improve rapidity, which enterprise-oriented skill.
- RohitS5 13y agoI agree, whole purpose of those learning is to improve thinking ability and problem solving skills, but it also intention of learner, which makes difference.
- callmeed 13y agoThanks for writing this. I was one of the original people who asked about this in your previous post. Working at Google is something that intrigues me. After doing (my own) startups for 10+ years, it's one of the few big companies I'd consider working for. It's also one of the few reasons I've considered finishing the last year of my CS degree.
- vinkelhake 13y agoAbout one and a half year ago, a long time IRC buddy from the states suggested that I'd apply to Google. I was a 30-something programmer with a wife and kid who had spent the last 12 years working on trading systems in Europe. I decided to go ahead. Both because I wanted to see what the interview process was actually like and if I could pull it off. Going to work for Google seemed very distant at the time. After telephone interviews and on-site interviews in Mountain View (got to meet my friend again on Google's dime!) I got the offer. Up until that point it had been "what the heck, we'll see what happens". Now it was real. We decided to pack up our stuff and leave the country and now I work at Google in MTV. The only reason I mention all this is because I don't have a degree either. Getting into the United States turned out to be more tricky than getting getting into Google.
- neilk 13y agoSame here. I have a degree from a Canadian university, but not in anything CS-related. I can pass a coding interview fairly easily, but getting into the US is a tremendous pain in the ass. And once you're there, you won't be able to get a Green Card in a year or two, like all your colleagues. No advanced STEM degree; you go to the back of the line. You're looking at waiting a decade or more to really be in control of your own life. Possible, maybe, for someone in their early 20s, but if you are that young, why wouldn't you just get a degree?
- zaphar 13y agoGoogle happens to be one of the companies where getting in without a degree is possible. It also happens to be one of the places where your advancement has pretty much nothing to do with your degree. All that said a degree will make it easier to get to the interview stage at Google so even though I work there and don't have a degree myself I recognize that having a degree does give you an edge over someone else.
- robomartin 13y agoFantastic. The OP scored. As for you, the average reader, go/stay in school and get a degree. Life throws all kinds of curves at you. At 20-something it might be cool and trendy to be a modern hippie-techie drinking latte's and coding for Google, Facebook or whoever. One day you might wake up in an entirely different landscape at thirty, fourty or fifty years of age and regret the fact that you did not take the time to complete a degree before your life got more complicated. I've seen this happen. Not everyone is going to drop out of high school or college and launch a billion dollar company. Don't be a moron. Get a degree. BTW, I am not just talking about CS degrees. A friend of mine was rejected for a sales engineering job over someone with a BS in Architectural Landscaping. He had years of experience as a technology developer, just didn't have a degree. The large corporation a a strict requirement for BS degrees as a minimum, even if the degree was bullshit or unrelated. He was told they wanted to hire him but could not due to the lack of a college degree.
- jmathai 13y agoI generally agree with you. While I think college is drastically over priced (both in terms of time and money spent) it's the best option for the majority of people. There are exceptions though. And even for those exceptions it's not as if going to college hinders them. At most it delays what they would have done had they not gone to college. Truth is most people out of high school don't know what they want to do. Most probably don't have any marketable skills, aren't self driven enough to succeed without the safety net of a degree and don't have anything productive they'd do otherwise. College is the best option. However, if you're out of high school, driven and have acquired valuable skills and want to turn that into a business then you better think twice about jumping right into college. You're right, things do get complicated when you're 30 and with kids. It's 10x harder to go back to college OR start a company OR do the peace corps. This isn't a debate about what the value of college is (skills, connections, experience, etc.).
- robomartin 13y agoThere are other aspects to this issue. I'll preface this by saying that I know this will be offensive to a number of people. So be it. American secondary/high-school education, outside of schools and communities outside the norm, is horribly bad. This is the reason Americans have a reputation for being ignorant. And that they are. I would venture to say that the average European secondary school graduate runs circles around American kids. I do realize I am generalizing to a grotesque degree. However, I have had the experience of hiring and working with a number of first year college students. A few surprise you because they are outside the norm: thoughtful, respectful, inquisitive and reasonably well informed. They generally came from families that valued education and somewhat old-fashioned cultural values. The rest? Well, let's just say they never lasted very long. College, for some, is a required level of remedial education. Kids are coming out of schools valuing drinking, partying and drugs far more than hard work, dedication, the ability to communicate, think and write. I have seen horrible examples of non-degreed individuals interacting in the context of a professional business environment. So, yeah, you get to 30, 40 or 50 years of age and things are very different. The cool coder with the dreadlocks and no degree might still be able to get a job. However, unless you are a superstar or run your own business you will have to go up against others with degrees during your job search. In a lot of cases you will loose, regardless of what your actual capabilities might be.
- jcampbell1 13y ago> I made mention of a Paint Bucket and the interviewer asked me to implement it. That is one interesting question. It can be solved trivially with BFS, but there is also some crazy way of doing it without using the stack (or a queue). I am sure the MS Paint uses what I call it the smart zamboni algorithm. You basically pretend you are a zamboni driver, and paint the screen avoiding obstacles but being careful not never paint yourself in a corner. It is complex but uses no stack space. I don't imagine there are any people that could implement it on the whiteboard. I was glad to see that he didn't do some impossible feat.
- coyotebush 13y agohttps://en.wikipedia.org/wiki/Flood_fill#Fixed_memory_method_.28right-hand_fill_method.29 https://en.wikipedia.org/wiki/Flood_fill#Fixed_memory_method...
- mindcrime 13y agoOr cut it down to two steps: 0. Found a startup 1. Get acqui-hired After all, as they say, "startups are the new grad school".
- tytung2020 13y agoI have a Physics and Maths background, NO programming skills. But I like industrial design, and two years ago had created a few designs that anticipated products/patents/concepts that companies like Microsoft, Nokia, Apple announced only recently. I wonder if Google would like to hire people like me, especially since now they are also building hardware?
- pramodliv1 13y agoThey did hire an industrial designer for Google Glass
- charleslmunger 13y agoBy comparison, here were my steps to Google: 1. Attend a 4 year state school, majoring in computer science. 2. Enroll in mixed bachelors/masters program. 3. Apply for job at Google, pass interviews. 4. Graduate. I'm saying this because for nearly EVERYONE getting a bachelors degree is the correct path, and if you can get into a program that will let you do a masters degree in less than the usual 2 years then it's a great idea. Less risk, same reward. My high school GPA wasn't quite as bad as OP's, but I had a 2.7.
- MojoJolo 13y agoAs I quite what I written earlier (https://news.ycombinator.com/item?id=5770682 https://news.ycombinator.com/item?id=5770682), "Those people are not the norm, they are the special case. Well yeah, you’ll not know you’re a special case unless you took a chance. And that’s the hard thing about it."
- justanother 13y agoInteresting to see this latest incarnation of the whole Degree/No Degree thing. My time on HN has evolved my opinion of the situation somewhat. As a high school dropout (later, GED recipient) who has drawn decent six-figure salaries despite a strict telecommute-only policy ("If I can't do it from my subtropical island, it ain't worth doin"), I more or less considered the subject closed; I'd done fine without a degree. The other side of this, however, is that yes, I've done fine without a degree, building countless line-of-business apps, a few games, and doing some amount of administration. I also fix my own large appliances and boats when they break, instead of calling someone. What I'm getting at, is that I am not a computer scientist, or a Rockstar Programmer, just a Handy Guy. And if your ambition only goes as far as line-of-business apps and living comfortably, being a Handy Guy is often enough. Everyone wants guys like us on their team, after all. I've never dealt with discrete math or graph problems, but only now at the age of almost-36 (and being a computer professional since age 15), am I beginning to think about learning computer science. Or maybe not. It's looking like a decent fishing day. It seems likely, however, that a degree that taught me some of these things, would yield more interesting jobs, and perhaps more enthusiasm for work.
- JoeKM 13y agoAlthough the author didn't go to college and had a low GPA in High School, it's evident he had a penchant for math, and therefore grasped advanced Computer Science concepts. Now take a high school graduate who sucks at math, but may be a great web developer. My advice to them, should they want to work at Google, is graduate from college.