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.
Neither did this guy. Most of us without degrees did something similar to what this guy did; do a high dollar job for a while for a low-dollar wage, and eventually you build up enough reputation that you can get paid market rate.
>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.
Serious question: What is the downside to going back to school later?
I mean, sure, if you have someone giving you free money to go to school, yeah, that might be a time-limited offer, and you should take it. All other things being equal, you should take free money. But for those of us who have to pay our own way? seems to me like it would be much easier to go back to school when you can make a bunch of money working part time.
I mean, I don't know; I haven't seriously attempted to go to school. But I can tell you that when I work part-time, my hourly rate is more than 10x what I could get when I was 17, and trying to go to school while working. My cost of living isn't much higher than it was then, either. (biggest difference, probably is that I've gotta pay for health insurance now.) - I could live pretty comfortably and pay reasonable state school fees, contracting myself out 1/3rd of the time.
So from where I stand now, in my early '30s? it looks like going to school would be way easier than it was when I was 17, and thinking I needed a degree to increase my salary above sustenance levels. But then, I haven't seriously tried to go back, so I don't know.
That being said, the actual schoolwork was way easier in many ways than during my first foray from my 20s. I had time management skills, a supportive wife and stable home situation, and years of experience in the software industry that gave me a reasonable baseline of knowledge.
Why did you decide to go back to school if your income was already that high? did you change careers? or was this just a social status/personal enrichment project?
Sure I'll never be a professor, and make decent but not top $$$, but compared to more senior people, I actually prefer what I do day to day (90% coding & research) rather than the meetings/teaching/grant writing etc that those with higher prestige jobs seem to spend their time doing.
I'm probably an outlier, and don't advise others to follow me. If I could go back in time and get the degree I would, but at the moment the opportunity cost is too high. Not just the considerable amount of money, but also the interesting new work and real world problems that I can solve now, compared to memorisation, sitting exams and redoing old problems.
From what I've seen, physics majors are more likely than CS majors to have a reasonable level of Linux competency.
At some level I am suggesting this has nothing to do with earning more money but rather being able to get a job and not loose it to someone with a degree.
I don't know the answer to this question: How many technical people work at places like SpaceX without having at least a BS? Probably few, if any. You'd have to have a pretty serious track record to get past the filters at companies like that.
I am not being elitist here. Not at all. I am merely suggesting that the reader consider want it might mean not to have a degree later in life.
That aside, your post is missing the point. Nobody is advocating for not getting a degree or saying that they are a waste.
That's fine. You are certainly entitled to that opinion. It is also clear you might not have seen what happens to older people who held well-paid jobs and now find themselves looking for work without a degree. Wear those shoes for a while before you think my comments to be harsh. I know a few of those people. It isn't pretty at all.
Perhaps "moron" is a bit extreme. It was used on purpose to elicit an emotional response. "Unwise" might have been a far gentler way to characterize it. Either way, get done with your degree as early as possible in life so that you will not have to regret it later on.
I completely disagree. You can work for Google and in fifteen years they go bankrupt because Infinootle is using a new hyperrank technique and they employ robots instead of humans. Then you remember that Google was a colossus on the early XXI century.
At minimum a degree is an insurance. Not the best but better with it.
That super cool coffee house that only employs art majors? you need to notice that none of the baristas are over 30.
In all seriousness, you are talking about middle management, and in that case, yeah, you've got a point. Class markers matter very little as an individual contributor in this industry. They matter more and more as you move into sales and middle-management. (what I find interesting is that it seems to matter /less/ when you are the actual owner. Class markers are important for impressing people when you have no actual power, but if it's your company? you can show up in a 10 year old minivan, and you are just being smart with your money.)
That is the thing; The degree is breaking down as a class marker. (that, and if you are American, I'd not put all that much stock in non-monetary class-markers to begin with. Unlike Europeans, to us? class is all about the money.)
Or, rather; the degree from a mediocre school is breaking down as a class marker. To be clear, if you are talking about a degree from Yale, I completely agree with you. If you have a chance to get a degree from yale, get it. I'm talking about the rest of us who have a choice between a job and a degree from a mediocre school. If you show up with a degree from po-dunk state and I show up with no degree? we're going to compete on our merits. (If you show up with a degree from University of Phoenix, as far as class markers go? I'm going to have the edge.)
>I completely disagree. You can work for Google and in fifteen years they go bankrupt because Infinootle is using a new hyperrank technique and they employ robots instead of humans. Then you remember that Google was a colossus on the early XXI century.
you have several issues here. First, if you can't get another job when your current company goes under? you have a huge problem. Huge. You need to focus on keeping yourself employable within your industry/job role. If that industry/job role goes away, you need to switch. But google going out of business? None of the people I know working at google have skillsets that will become obsolete if search and search advertising go away as important businesses. Programming is... pretty generalizable; many of the googlers I know were programming and solving interesting problems before google made that business model a big deal.
Having big names on your resume is great. But you can't rely on that to get you your next job... how many of us have hired someone who used to work at google on the strength of the google experience, and found the results disappointing? I have. (actually the person was a contractor, handling internal helpdesk stuff, but I was hiring for a helpdesk type role, so it seemed a reasonable match. It wasn't.)
Next? automation. Competing with machines is something we all will have to do, degree or no. As a SysAdmin, I've seen tools come out that can make handling larger fleets with fewer people significantly easier; but I've also seen fleets get significantly larger. Some would call "the cloud" an 'existential threat' to my job role, but cloud providers being what they are... this does not seem to be the case.
And programming languages are doing the same thing; you can do a lot more with less programming skill than you could 10 years ago.
(I think automating away programming has an additional problem; most people can't clearly define what they want done in prose. If anything, it's usually easier to clearly specify exactly what you want in code than in prose, even if you are semi-literate. So half the programming job is going from vague requirements to an implementation that works. This, I think, is why we are seeing a diminishing return on 'easier' programming languages... at some level, someone along the chain needs to understand what the hell they are asking for, and nice GUIs don't make that requirement go away.)
The thing is? the best (and perhaps only) weapon that we the meatbags have against the machines is our flexibility. The people who have to be shown how to do a job before they can do it? those people have already lost the battle. they are already unemployed. So training? a whole hell of a lot less valuable than it was back when you could do the same thing day in and day out.
If you want to stay employed? you need to be able to figure out how to solve the problems that the robots haven't been programmed to solve yet. This is a fast-moving target, and while school can give you a larger toolbox, from what I've seen, it leaves people with this laughable expectation that they will be trained to do the job that they are required to do.
My main point is how to bet against the unknowns. In this context having a degree increments your chances.
The future? Imagine a future where you cannot compete with robots... or worst... where you cannot compete against the humans competing with robots. Because you talk about preparing yourself against the unknowns... that's really difficult in our field because... they are unknowns and we have an overconfidence bias. May be not you, but the average people do.
I am not saying that a degree is a solution. Just that is positive to add it in the equation. And yes... if you are the next Zuckerberg don't follow my recommendation!
But a degree takes limited time and resources; why do you think a degree gets you better ROI on those scarce things than, say, writing a book? I mean, if you know a subject well, you can probably pump out one or two published technical books with that level of effort.
I mean, part of my problem is that school was, well, pretty difficult for me. from what I see, it's one of those activities where being really good sometimes doesn't make up for being really bad sometimes. It's one of those jobs where showing up on time is the most important part. It plays to all my weaknesses, so while I think I could probably pull it off, getting a degree from a mediocre school would take more effort, say, than publishing another book. I'm pretty sure the book would be better for my future marketability, even after the technology in question is obsolete.
About your personal issues with school, that's completely understandable but if you could deal with it you will accomplish a lot in your personal issues (beyond the specific degree)
Forking a little bit the main subject, I think that some stuff you see in the university is difficult to learn alone.
Really? job security? are you telling me that they are willing to hire people without degrees, but then they take the opportunity to let us go first when they have layoffs?
This makes very little sense. The hard part is getting 'em to give you a chance. After you have the job, well, it's easy enough to compete on performance.
Job security has nothing to do with it. It's about landing a job.
Also, you might feel out of place in a regular college.
Not that I recommend schooling for the sake of schooling. I'm now doing it myself at the age of 29 (nearly done), and I keep wondering whether I'm doing something wildly irrational.
So how is that working out for you? is it weird being the old student?
My guess is that I'd do much better socially now in my early 30s than I would have a decade ago, simply because my social skills are dramatically better. But, I dono. Being the old guy could be kinda weird, too. But my social skills were really, really poor in my early '20s.
According to the stats for my region, 56% of women and 45% of men start into a degree program, yet the degree attainment rate is only 25%. I find this attitude a little bit troubling when such a large percentage of the population are already trying and failing.
Given the costs – actual and opportunity – involved, unless you are certain you are in the top ~25% of students and can derive value from that expense, it seems rather foolish to follow said advice. Do what feels right for you and your situation. You know yourself better than anyone else and if you are truly doing what you want to do, there should be no regrets either way.
Look, I've also seen the opposite. I've seen PhD's who are just about worthless. I mean, not a clue. Can't connect the dots. I've seen enough of this to be absolutely biased against PhD's (sorry). Great for academic research but stay the fuck away from work where anything has to be done in the real world.
There has been a lot of research gone into what makes someone financially successful and the current line of thinking seems to be that soft-skills, like stick-to-itiveness, are the primary factors. Someone who matches the description of your acquaintance doesn't exactly remind me of someone who is has a predisposition for success. Perhaps that has been his failing in the job marketplace and not the lack of a degree at all?
Then again, I always feel like I don't know enough, though I know far more than a lot of my peers... It just depends. I tried running my own business for a while, and failed. I also worked at a director level for a while, didn't like the stress. It really depends on what you are looking for.
People need to stop treating a "degree" as being equivalent to "an education." Instead of filtering by whether someone completed years of irrelevant, understimulating general education coursework, why not look at actual past performance and work sample tests? There needs to be an option for already "educated" people to bypass the process of getting a "degree".
I did use the word educated in my last sentence, but the point I intended to convey is that instead of asking whether someone is "educated," employers and hyperjudgmental social peers should ask whether they're capable of doing their job and participating in an interesting conversation.
>" 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."
Sounds like a place I wouldn't want to work at.
College has been productized to a disgusting degree. If you can do it, you absolutely should not waste years of your life going to college for something dumb vs. doing what you love. You CAN be successful without a degree if you really want it.
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.).
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.
I'm not sure it is that simple. I recall a recent article that said Canada has one of the best education systems, but, if I recall correctly, 70% of Canadians fit a certain demographic. If you observed only that same demographic in the US, the students in the US actually did better than their Canadian counterparts.
It suggested the problem wasn't the education system in the US itself, but rather much deeper social problems.
> In a lot of cases you will loose, regardless of what your actual capabilities might be.
The good news for those without degrees is that high paying jobs are naturally, by the laws of supply and demand, the ones where employers cannot be picky. If you want to fight for the "bottom of the barrel" jobs, then sure, a degree is probably going to be a significant filtering device. If you're looking at top paying jobs, then outside of legal requirements, the degree isn't going to matter because employers will be happy to have found anyone with some skills.
Programming is currently in that in-demand category, and as such the incomes are high and the education requirements are low. It is kind of funny to see that people think this is something genuinely unique to programming though. It is just economics.
Hm. Why do you believe this? Because we are expected to move into management? I think most of the middle management I've worked under have had degrees, so that seems valid. But the owners? business owners very commonly have incomplete college educations. (and I've worked under more than one middle manager who has run (and failed) a small business, and then went and got a mid-life degree from something like the university of phoenix. The experience owning a business seems to carry some respect in middle-management circles, enough to overcome the shame of going to a school advertised on daytime TV.)
I see that a degree is really necessary for some.. and in some fields even more so... Most of the best programmers I've ever met are simply passionate about programming. Not about where their degree is from.
Pair that with sites like Kahn Academy and you've got a real solution for self learning.
Seems like he wouldn't have even made it to the interview phase if the BS was a hard requirement imposed from above. Are you sure your friend wasn't just rationalizing why he didn't get hired?
That said, I agree with your message -- get a degree folks...
If you are worried about the debt there are plenty of great universities which are not all that expensive. Many schools also have the option of GA/TA where your tuition will be completely or partially waived off.
I will tell you right now that having a degree will not guarantee you even get to try that one thing. Likewise, not having a degree does not free you to work on anything your heart desires. Earning a degree is one way to grow your strengths or fill in your weaknesses in a field. I can't see any situation where having a degree in any subject will make you worse off than not having a degree. It just has to be worth the time, effort, and money to the person in question.
you probably want to be a Software Engineer, and not a designer, personal assistant, or any other role.
You seem to view that as a restriction cast upon them by their degree(s).
I say that they probably really like being a software engineer.
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.
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.
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?
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?
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.
- 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.
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.
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.
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?
You can ask yourself "how can it possibly matter" all day long but it doesn't matter. Just get the degree. You'll thank yourself later.
I did go to college for a few years but quit to work at a company I was co-oping at (which presumably was against the rules of the co-op program the company was in with the school, but I never gave it much thought back then).
I'm currently nearing 40 and don't feel that the lack of degree has negatively impacted me. Of course, YMMV depending upon career arc -- I'm still coding, and have no interest in management roles.
Also, one of my multiple moonlighting side projects is volunteering at a nano-engineering lab at UCSD working on writing Go code to control a UV-light-based polymerizing nano-scale biomaterials 3D printer. Nobody there seems to care I don't have a degree, nor has it come up negatively at my current or any of my previous jobs.
I had been working at a big company for almost five years with no degree and asked my boss "what's next". He arranged a meeting between me and the technical director for our division.
During the course of this meeting another employee reveale to the technical director that I did not have a degree. The technical director refused to talk to me (or even look at me) during and after that meeting and it became apparent from that point forward that there was both no way for me to advance and that my days could be considered numbered.
Your milage may vary. Until that conversation I was a valued member of technical staff that had taken on a variety of leadership roles, authored white papers and was on very good terms with the senior technical leadership in our customers. The lack of a degree killed it all.
For some people getting a degree might be the right choice, especially if they intend to get more into management in largish companies.
Honestly, if I were you, I would have considered companies or managers discriminating over that (in the face of evidence of skill/talent) someone you wouldn't want to work for anyway.
there are a lot of employers in my geographic area (not west coast) that have a strong preference for degree credentialed individuals, I've been declined at the last minute after technical interviewers gave the thumbs-up because I didn't have a degree. it's pretty frustrating and ideally I'd like to never be in that position again...
1. The company doesn't value education. It only cares if somebody can do the hard work and maybe pick up what he/she needs to perform at the same level of other people who have degrees.
2. The university program you attended did not give you any skills that can provide a differential in the market. It is clear that several degrees give that differential, such as psychology, electrical engineering, medicine, just to mention a few.
I think both issues are true for CS degrees. Companies are too interested in getting bodies to do their programming jobs, and don't care if the people have the right kind of education (especially at big companies like Google). Universities, on the other hand, are doing a lousy job of preparing people for the profession.
In many professions this isn't feasible, but development? Everything is online. That doesn't mean universities don't provide value. If you were expecting that they would provide exclusive value, as if they have some kind of monopoly on knowledge, and no one could possibly learn the same material in a self-directed way, your expectations need some adjusting.
It is difficult to evaluate, say, a doctor - possibly not the best example, but the first that came to mind - based on his past surgeries because much of that data is never recorded, and what is recorded is impossible to access for a variety of reasons. Therefore you need some kind of system to say that, yes, this doctor is capable of doing the job.
Programmers do not really have that problem. Everything you do is recorded, and in many cases that data is accessible for any prospective employers. Worst-case, if you really have nothing else to show, is that you have to spend a few weeks writing some software to publish to GitHub. With that data, you can prove some level of competency, which is already everything a degree can do and more.
So it is not that education is not valued. It certainly is: You would never be able to do the job without some kind of education. It is that your work speaks for itself, so the degree does not need to be valued.
But in general it's probably more efficient to just to go to college and get a degree.
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.
* Cost $0
* Probably more difficult than going to college.
* You do it alone.
* No networking opportunities, no new friends.
* No credential.
I've not exactly had trouble finding work, and make more than most college graduates. I'm going back because:
* I don't want my resume thrown out because I don't have a degree. The climate is great for developers right now, but that may not always be the case. I can handle taking classes for the two years it will take me to finish the degree for a little extra job security.
* I want to learn the stuff! Being as I'm gainfully employed without a college degree, it would appear that I'm an excellent self-learner. Sure, maybe I am, but I know myself, and I know I'll be more likely to stick with learning artificial intelligence and computation theory if I'm concerned about keeping my grade up.
* Also, on that end, I'm not good with advanced data structures. When interviewers break out questions that deal with these problems, I struggle. I could study more and learn them on my own, but the structure of a class makes it easier (to me).
* My employer is paying for most of the tuition costs. I probably wouldn't consider it worth it if they weren't.
>You do it alone.
I actually consider both of these to be pros rather than cons.
I also don't really sweat the lack of credentials, but I can't argue that it's a pro with a straight face. It could certainly be used to weed out certain types of companies who place too much emphasis on a degree.
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.
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.
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.
Anyway, the answer is because it is engineering. Not in the capital "E" sense of engineering where you have some sort of official certification from some governmental or professional body that states that You Are An Engineer, By Golly. But it certainly is lowercase "e" engineering in the sense that it is a highly technical discipline that lies squarely in the middle of the spectrum between an art and a science.
Plus, it's just common terminology in the field, so there you have it.
When a credentialed engineer puts their signature to the statement that a particular design is sound, the engineer is liable. Not the company. The engineer. If that bridge collapses, the engineer can be sued. And if the company cannot find an engineer who is willing to sign, that bridge cannot be built.
This is very important. Before we instituted this system, the USA had an average of one bridge collapse per week. And it wasn't nearly as large a country as it is today.
As long as I do not have this kind of liability, and likewise lack the power to tell a company that they are not allowed to release a website with the defects that I can identify, I do not consider myself an engineer. I may be forced to accept that my job title says "engineer", but I am firmly of the opinion that I am not one, and anyone who thinks that I am is uninformed on what it means.
In a more corporate environment, it tends to favor the use of "Architecture" roles, and the use of many different design patterns even when they are not necessary and only add complexity in the name of "consistency" with other "enterprise" implementations.
Just the same, most software development is a model of crafting, not engineering. The exceptions to this tend to be with designing software that works with physical devices for a given role, not generic computing devices that are virtual representations of business logic.
The creative application of scientific principles...
Christ, computer science and mathematics are the only two fields I know of that care about graph theory. To my understanding, graph theory is a post-graduate discipline in mathematics, and a computer scientist's bread-and-butter. What does that tell you?
Anyway, this all kind of hinges on whether mathematics is a science. Personally, it never seemed like a science to me- and I don't mean to denigrate mathematics. Rather, it seems completely apart.
And if you are a technical programmer you are doing engineering eg writing weather simulations for the met office or modeling a nuclear rector.
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.
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.
Incidentally, here (Argentina) we have the equivalent of farming engineer, called "Ingeniero Agrónomo". It's a very common career choice, and well paid.
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.
"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."
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.
That being said, Java and C++ ARE still the primary languages for production applications coding at Google (with Go starting to pick up speed). If you're interviewing as a software engineer, you're probably going to want to know something about object-oriented programming (even if that's in C#, Ruby, Python, etc.). A SWE candidate that ONLY knows a purely functional language is going to have an interesting time.
What you DON'T want to do is feel like you have to go out and get a "Learn Python/Java/C++ in 21 Days" book when you have 5 years of Ruby or C# experience. As long as the interviewer can understand your code, you should be fine.
I personally have interviewed several people for my group whose primary language is TCL (yes, really!), Matlab, or Perl. As long as they can walk me through their code, or even solve the interview problems using pseudocode, I won't ding their interview scores just because they don't know Python. I'm not interviewing for traditional SWE roles, though.
The important bit is being a good developer, not which language.
Can't speak for Google though. Just if you were thinking in general terms.
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.
I've been considering trying to see if I can get a masters in CS, to supplement.
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.
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.
It's an opinion, you can ignore it.
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.
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.
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.
Let people accomplish what goals they want, it's not up to you.
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.
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?
0. Found a startup
1. Get acqui-hired
After all, as they say, "startups are the new grad school".
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.
Knowing exact solutions to exact problems is not helpful.