11 ms·
Tim Cook: Four-Year Degree Not Necessary to Be Proficient at Coding'
- zelpo2 7y agoHe's right, actually with some basic knowledge of Express/Pug you could probably work for DARPA
- chomp 7y agoNote he said "coding" and "writing apps for the app store", not "getting a coding job". Apple's website still asks for 4 year degrees for their engineers (at least the ones I just now looked at). The reality is that "has 4 year degree" is a rapidly deteriorating signal that many businesses still use to separate the wheat from the chaff. All of the smartest people I know don't have 4 year degrees. And they weren't able to beat the "HR boss" when trying to get new opportunities. I think it's plainly clear that you don't need a 4 year degree to learn how to code. But you do need it if you don't want an uphill battle in landing a good job, especially at large corporate jobs.
- rgrieselhuber 7y agoIt’s an interesting topic. When I hire, I could care less if someone has a degree and having more than a bachelor’s degree is many times an anti-signal unless they compensate for it in other ways. It’s hard to tell from my vantage point, however, if my case is merely anecdotal.
- chomp 7y agoI do hiring also at my job. I can see why filtering on 4 year degree is attractive to some - it's a bit daunting when on day one of opening a req, you get 25 applications. When you get up to 40, you start looking for signal within the noise, and your brain picks up patterns like "has degree." We resist the temptation to pick up on patterns within the resumes which admittedly was difficult at first. The number one signal we've found to make reliable hires is "has this person directly worked in our industry before" which may be evidence of a bad onboarding/training program on our part, because I don't see our industry as being that difficult. I really don't know, hiring is very, very hard.
- scarface74 7y agoHow much of a signal would my degree that I got over 20 years ago really be?
- chomp 7y agoHow much should it be? Zero. How much does it end up being? Well, assuming you've already caught on to the age bias in the industry, you probably have long since stopped putting your graduation year on your resume. That makes you right side up on the age bias piece, because otherwise I'm pretty sure you will have a difficult time landing a job at most places. (This is the trick I learned for my resume, as a grad from a similar amount of time ago) On teams I've sat in on, it's not like they just go "oh non-grad, this goes to the garbage can". But if you wind up with 10 equally exceptional resumes knowing you only want to bring out the top 5, and a couple of them don't have a degree, some team members will want the degree holders to be brought out. They look for more signal, even though it isn't necessarily there. And I mean, if you have 10 exactly equal candidates (which is a bad hypothetical honestly because it'll never happen), maybe you do want the more accomplished people to be given a shot. But how it works in reality is that the degree may give like a slight bump to under accomplished individuals. Which is why we had to ban education from consideration at my current employer.
- scarface74 7y agoAge bias is over rated. I’ve had no problem finding jobs. It’s never taken me over three weeks to find a job and I only started job hopping at 35. I found a job in 4 days just by meeting a recruiter for lunch and this was at a subsidiary of a what was then a Fortune 10 company. Most “ageism” comes from people who haven’t kept their skills current with market demands and haven’t kept their network strong - of both former coworkers and local trusted recruiters. I don’t put my graduation year on my resume, but seeing that my managers have always been older than me it wouldn’t make a difference. I also don’t put that I did C and FORTRAN on DEC VAX and Stratus VOS mainframes because it isn’t irrelevant when I am applying for a jobs as eithera full stack developer/architect or some type of buzzwordy “consultant”.
- trafnar 7y agoI don't have a degree and it hasn't caused me any problems getting coding jobs in silicon valley. It never even came up. My jobs have mostly been at startups, so maybe it is an uphill battle at big corporations like you mentioned, but I'd be surprised if lack of degree was a sticking point for a talented coder trying for a job at Apple/Google/Facebook.
- everdev 7y agoI've hired dozens of programmers and never once looked at what college they went to or if they went to college (or where they live, just what time zone they're in). In web/app coding, all that matters is what you've done in the last 1-4 years. Anything beyond that is too dated to be relevant. It's been a highly successful recruiting practice. There are so many brilliant self taught developers that would get overlooked if I only looked at college graduates.
- scarface74 7y agoBut how can you possibly be a good developer if you don’t know how to invert a binary tree?
- everdev 7y agoOr know how to quick sort in C?
- scarface74 7y agoWell that’s different since qsort() is part of the standard library.... Yes, for the pedantic I know whether qsort() actually implements the quicksort algorithm is implementation defined.
- everdev 7y agoLol, didn't know that. We had to write it ourselves in high school.
- notus 7y agoTheir 4 year degree requirement is soft. I know plenty of engineers there without degrees.
- chomp 7y agoI'm not trying to be combative, but why would they include it on the requirements then? Do they wave the requirement only for exceptional software developers? Or maybe it creates enough friction for non-higher-educated people to not consider applying, thereby creating the same effect of only hiring degree holders? If one uses a soft education req as a substitute for exceptional ability, then that would run counter to what Tim Cook is saying, unless "has education" is a signal for a quality a person may have that is external to coding ability? And even if the education part is injected by HR (because I understand, some HR departments love to inject requirements) and is truly not necessary, what kind of implicit bias does that add to interviewers when they wind up interviewing mostly degree holders?
- ninjanomnom 7y agoI started working as a software engineer without a degree. I don't know about apple in particular but my current job had a degree listed as a requirement but didn't actually care when I applied. I'd wager that having a degree listed as a requirement reduces the amount of lowest quality applicants and that's the only real reason why some significant portion of companies don't actually care if you have the degree.
- mcphage 7y ago> I'm not trying to be combative, but why would they include it on the requirements then? Frequently the people writing the job requirements, and the people who you’ll be interviewing with, are not the same people.
- tomrod 7y agoEconomic signaling theory plays out dynamically. Whatever makes a strong signal today will eventually become diluted unless explicitly kept from having that happen. Degrees, amazon ratings, Unicorn status, you name it.
- borkt 7y agoI don't see how coding is any different than being an auto mechanic in the long run. The only skills that will truly bring value long term it feels are project management and the ability to motivate a wide variety of individuals to work together efficiently.
- beat 7y agoProficiency in coding isn't the interesting part of solving problems with software, though. Or as I sometimes say, "That's not programming, that's just typing".
- dkarl 7y agoI'm glad you have that much respect for the word "programming." I hate it when people try to define a hierarchy out of words, like programming < development < engineering < architecture. Using different words for programming in the large and programming in the small, or programming well versus programming poorly, has aided and abetted so much bullshit and earned us nothing. Programming can be and should be like writing, a word that manages to span Virginia Woolf writing Mrs. Dalloway to me writing this comment without being any the worse for it.
- mpweiher 7y agoThe verb "to program" is conjugated as follows: I architect, you code, (s)he debugs. You can throw in "design" and "model" as well.
- TheOtherHobbes 7y agoIn some jurisdictions it's -> I Haskell, you Go, s/he Javascripts.
- dbcfd 7y agoWriting a program is like writing. Engineering a system is not like writing. That's not to say there's not a lot of bullshit around the terms programmer, developer, engineer, and architect, but there are different skill sets when it comes to programming vs engineering.
- dkarl 7y agoI don't think you're doing justice to the diversity of challenges that can be involved in writing. Writing has high-level structure as well as low-level structure. Someone can be skilled at constructing a sentence but not a book and vice-versa. I could go on, but tl;dr there are a lot of considerations that affect whether a piece of writing "works" and correspondingly large sets of skills, processes, and approaches.
- whitepoplar 7y ago...and two-year MBA programs are not necessary to run businesses.
- beat 7y agoSteve Jobs didn't have one...
- SketchySeaBeast 7y agoAnd how many people are the next Steve Jobs?
- eznoonze 7y agoThis. Most disciplines can be self-learned if material are available readily and there is no "trade unions" to act as barrier of entry of the profession.
- msla 7y agoRight. A four-year degree isn't necessary to be proficient at coding. It isn't necessary to be proficient at debugging, either, which I think is one real test of how good of a programmer you are, the other being architecture and making good design decisions. That last one doesn't require a degree, either, but it requires more experience with larger and more ambitious projects than either coding or debugging does. And that's what a four-year degree should provide experience with: Giving people larger and more complicated projects in a setting where their errors will be corrected and it won't cause a huge amount of pain for anyone else if the project collapses or is never really finished. And I think Cook basically agrees with me: > "I think that's an old, traditional view. What we found out is that if we can get coding in in the early grades and have a progression of difficulty over the tenure of somebody's high school years, by the time you graduate kids like Liam, as an example of this, they're already writing apps that could be put on the App Store." It's entirely reasonable to begin working on ambitious projects in high school, at ages 14-18 for those who are unclear on the education system being discussed here. People have the mental maturity to tackle big things at that age if they're motivated and given sufficient guidance. And that concept of tackling big projects involves working in a team, with coordination between team members, which is another part of being a mature programmer.
- algaeontoast 7y agoAnd Apple will be able to reasonably pay you 20% less if you don't have a degree and knowingly have fewer reasons to leave or potential opportunities that could cause you to leave than those with degrees... Source - as someone who effectively "dropped out" for a few years but decided to finish and undoubtedly has benefited from my degree.
- tepidandroid 7y agoThis is the coup de grâce from all the big tech corps: the commoditization of their most expensive recurring cost, the cost of skilled labor. This is the reason for the strong push for programming in early education in the past few years, with companies like Apple and Google setting up education camps and code literacy programs for kids. This is the purpose for pounding home the message "anyone can code!" over and over again. Its been happening in many countries world-wide, not just the US. Along with the boom in coding bootcamps and open courses online, they hope to dilute the skilled labor pool to such an extent that programmers will no longer have any negotiating power and salaries can start to decline. The big tech companies only do what is in their own self interest. This is not to say that there won't be people benefiting from this as a second order effect. People without other prospects of employment (either because of location or circumstance) will have a chance to earn a good living and escape poverty or upgrade their social class. But this will come at the expense of practitioners already heavily invested in the industry.
- citrus_maxima 7y agoYou're definitely reading too much into this. We learn algebra and calculus, how many actually go on to become mathematicians and dilute the field of mathematics? Physics? Biology? You teach kids coding because we are surrounded by computers. No more, no less.
- scarface74 7y agoI keep seeing the “push for coding in early education” like it’s a new thing. I had a programming course in 1988 in 8th grade and my senior year in high school. They were both AppleSoft Basic courses.
- alehul 7y agoI think the "push for coding in early education" is a very recent development, particularly in America, for those in poorer areas or minority groups. Anecdotal but I'm currently in my early 20s, from one of those areas, and I didn't know that schools existed where you could learn coding before college.
- ronilan 7y ago"... What we found out is that if we can get coding in in the early grades and have a progression of difficulty over the tenure of somebody's high school years, by the time you graduate kids like Liam, as an example of this, they're already writing apps that could be put on the App Store." FYI - Apple student discounts are only for college students. High School (and elementary school) kids get none. Source: bought a MacBook for my kids and they learnt to code with it. Talk is cheap...
- seiferteric 7y agoNor is it necessarily sufficient...
- tanilama 7y agoBetter convincing your recruiter to follow, until then I would believe it :)
- beat 7y agoA four year degree isn't necessary for coding proficiency, nor is it proof of coding proficiency. It is, however, a strong social proof for other things that matter a great deal. To complete a four year degree requires a commitment, a life-altering personal financial cost, and most importantly, a willingness to abide by the rules and procedures of a complex organization, even when they don't make much sense or directly contribute to the core competency. It shows a willingness to submit to authority, a willingness to get often arbitrary work done on schedule with acceptable quality, and other traits and experiences that matter a great deal for becoming a functional employee in a corporate workplace. Coding competence is nothing if the coder can't follow instructions, complete work on schedule to spec, or tolerate doing things that seem arbitrary and useless. A degree isn't about proof of being a viable programmer. It's about proof of being a viable employee.
- scarface74 7y agoTo complete a four year degree requires a commitment, a life-altering personal financial cost Only if you choose for it to be. There are cheaper ways to get a four year degree - like going to a state school or even cheaper, go to a 2 year school, stay at home and then transfer. *It shows a willingness to submit to authority, a willingness to get often arbitrary work done on schedule with acceptable quality, and other traits and experiences that matter a great deal for becoming a functional employee in a corporate workplace. All of that can also be learned by working on your typical minimum wage job that a lot of teenagers have.
- beat 7y agoEh. A college student has a lot more independence and responsibility than a minimum wage burger-flipper. Moreover, they're given problems that presumably require a modicum of intelligence, literacy and numeracy, and other skills that go above and beyond following simple instructions. Minimum wage jobs tend to be structured so they can be done by functional illiterates/innumerates, and happen in closely supervised, time-bound environments. Contrast this to the freedom a college student has to do many things other than their homework. edit: More to the point, even assuming four years of flipping burgers is an effective way to learn the behaviors for a corporate IT job (which is questionable), it is not perceived as useful by the hiring managers, virtually all of whom have college degrees. A college degree is a social leveling-up, particularly in liu of professional experience in the field. For someone with 5+ years of relevant technical work experience, a college degree matters a lot less. For entry level, it's absurd to argue that four years of french fries is equally effective for social proof, and unwise to argue that it's equally effective for actual practice.
- mpweiher 7y agoApart from the nefarious reasons mentioned elsewhere, I really don't take his pronouncements on programming seriously. Calling Swift a language for kids to learn coding is, er, interesting.
- edejong 7y agoWell, what you could learn at a four year degree program: - Space-time complexity of algorithms - Statistics - Management - Parallel and concurrent programming - Formal reasoning and logic - Linear algebra - Machine and operating system architecture - Communication theory - History of computer science - Database implementation - Quality assurance - Technology assessment (impact on society) - Effective team work - Multi-disciplinary design and architecture - Presentation skills - Research skills Could go on, just a few of the things I learned during my degree program. All of which I value of myself and others, although they don’t always come up. Coding is just a tool in a large toolkit. Unfortunately it is undervalued to do it right, badly taught and reinvented hundreds of times.
- scarface74 7y agoHow much of that A) couldn’t be learned on a job B) is relevant for your typical yet another software as a service CRUD developer or the typical “dark matter development” that will never see the light of day outside of a company. I have a 20+ year old degree and most of what you list. I learned on the job.
- xiphias2 7y agoFor me the hardest and most interesting part working at Google was statistics, although I have a Masters degree in CS, and I was very good at math in high school. A lot of the really interesting work at Google is data mining and modelling, and for that you need some level of statistics understanding. Of course for developing an app, it's not needed (could be a counteractive skill as well in iterating fast).
- scarface74 7y agoWell seeing that most developers don’t work at Google, on the west coast or even for a tech company...,
- xiphias2 7y agoSure, I'm more commenting on the general feeling on the whole thread that having a CS degree should be dropped as a (soft) requirement for working at Apple/Google/Amazon, and coding can be learned from coding / working with colleagues. This is all true, but math has to be learned by getting a deep understanding of concepts that build upon eachother over many years, and understanding it is an important skill with large scale systems, so they can't be treated equally with other coding jobs.
- gatherhunterer 7y agoI am a coder without a degree and have not received negative feedback from companies that I have applied to, though I have not been at it for very long. No one has asked about a degree or what I did instead of going to college or why. That is, until today - and I am glad it came up. I had been corresponding with a recruiter for a government job (TTS) and after exchanging a handful of emails over the course of two days and scheduling a meeting she finally looked at my resume (which I sent with my first email), told me that I am not qualified and cancelled our meeting. I have a feeling that this job would have been a nightmare. As Eugene McCarthy said, "The only thing that saves us from the bureaucracy is its inefficiency." I have spoken to some highly insightful people during interviews this week and they generally seem focused on my ability to do real work that produces real results. Most interviewers seem to want to cut through the hiring pretense and get to looking at and talking about my code while assessing my communication skills. It has largely been a positive experience. This application for a job with the TTS may have been my first interaction with a professional email-sender (aside from recruiter spam) and it was shockingly unproductive. The coworker who taught me the most about how to treat others with respect was a reformed convict who did six years for armed robbery. Some of the best communicators I have worked with barely spoke English. If someone told me that the best coder they know does not have a degree it would not surprise me at all.
- deleted 7y ago[deleted]
- Grustaf 7y agoOf course it isn’t, but life is not just about becoming a good coder.
- master_yoda_1 7y agoYes but so does carpentry. My point is 4 year degree is useful if you learn and use your educational resources well.
- alando46 7y agoLol duh hahaha
- xchip 7y agoHe should define 'proficient' and 'coding' because there is a lot to unpack in that sentence. Anyway, this guy is making my job safer :)
- WheelsAtLarge 7y agoTrue. BUT most people need some kind of structured teaching environment. They need to be nudged to move forward. Or else most people fall into the hole of never learning because they find the subject too hard or dull to move forward. I wish anyone that preaches that you don't need a four-year degree would also make sure to point out that very few people have the self-control to follow through when they have to do it on their own.
- fullshark 7y agoBut is necessary to get a hiring manager to care about you (I know there are many exceptions but generally this holds).
- protomyth 7y agoIs Apple hiring coders without four-year degrees?
- pixelrevision 7y agoThis really isn’t some new revelation. Steve Wozniak was building and programming the Apple 1 after being expelled from college, Bill Gates dropped out to create Microsoft. These are 2 amazing programmers who have been quite successful, I have also heard both of them speak about how important education is. I can’t imagine they required degrees from the folks they worked with but they both value the benefits that an education can provide.
- throwaway55554 7y agoWhen I got my BSCpE, there were no language classes. There was an OOP class, but no "Welcome to C++. Here's how you write a function." classes. It was just understood that you either had to learn quickly on your own or you knew how to code already (which I did). So, technically, Tim is right. But man, I am so glad I got an engineering degree. I learned some really cool stuff (that wasn't strictly coding).
- RickJWagner 7y agoTotally agree. In 29 years in the business, I've met many excellent coders without a programming degree (some with no degree at all.) The corollary is also true, I've known some programmers with doctorates that were absolutely worthless.
- rahuldottech 7y agoThe fact remains that you won't get a job without one. It's the first thing they use to filter out candidates.