Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Education Programming Apple

'I Don't Think a Four-Year Degree is Necessary To Be Proficient at Coding', Tim Cook Says (macrumors.com) 354

An anonymous reader shares a report: Earlier this week, Apple CEO Tim Cook visited an Apple Store in Orlando, Florida to meet with 16-year-old Liam Rosenfeld, one of 350 scholarship winners who will be attending Apple's annual Worldwide Developers Conference next month. Echoing comments he shared with the Orlando Sentinel, Cook told TechCrunch's Matthew Panzarino that it is "pretty impressive" what Rosenfeld is accomplishing with code at such a young age, serving as a perfect example of why he believes coding education should begin in the early grades of school. "I don't think a four year degree is necessary to be proficient at coding," says Cook. "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."
This discussion has been archived. No new comments can be posted.

'I Don't Think a Four-Year Degree is Necessary To Be Proficient at Coding', Tim Cook Says

Comments Filter:
  • by phantomfive ( 622387 ) on Friday May 10, 2019 @01:16PM (#58570176) Journal
    You don't need a degree to be a good programmer. But you do need to spend a lot of time to figure it out.
    • by Mostly a lurker ( 634878 ) on Friday May 10, 2019 @01:27PM (#58570236)

      For those with a natural aptitude, coding per se can be picked up quickly using resources available online, combined with a few well chosen books. However, there are a lot of other skills (some general and some more specialised) that go into being a top developer. Certain degree courses can really reduce the time necessary to pick up that additional knowledge. Study for certain kinds of certifications can also help you develop the knowledge needed for many development projects.

      • by raymorris ( 2726007 ) on Friday May 10, 2019 @01:46PM (#58570374) Journal

        People seem to be confused about something.
        In most any field, first you learn the terminology. Knowing the terminology, the vocabulary, is necessary in order to to then learn anything else in the field.

        After vocabulary, then you learn the theory, how things are supposed to work, then you learn the practical of how today fix things that aren't working, and how to design things to work as they are supposed to. An air-conditioning tech learns vocabulary like "condenser", "compressor", "coil", "king valve", "superheat", and "reversing valve". Once they know the words, they can learn they theory, how AC is supoosed to work. They can learn what level of superheat should be found at the condenser. After they know what the superheat is supposed to be, they can learn the practical of what can cause the superheat to be too high and too low, and what to do about it.

        Programming languages, coding, is the VOCABULARY of software systems development. Learning code is step 1 (or step 0), a prerequisite to learning how to design, diagnose, and implement robust information systems.

        If you owned a newspaper and were hiring someone to write articles, would "I know English" be sufficient to qualify a candidate for the position? How about if they know what "byline" means? No, writing good articles requires knowing more than the language they are written in, and more than the meta-language used to talk about articles. Writing aolid articles requires significant skillsets far beyond just knowing the language.

        Information systems (programming) is the same. Knowing the language a portion of the system is written in is a pre-requisite, just like knowing English is a pre-requisite to writing good newspaper articles. Creating good systems requires significant further skills.

        That is NOT to say it's magic. HVAC isn't magic, it's a set of skills you learn after you learn HVAC vocabulary. Sonography isn't magic, it's a set of skills you learn after you learn the vocabulary of sonography in your first semester.

        Don't confuse the vocabulary of software systems (code) with the art and science of software architecture and development.

        There are a variety of ways to learn these things. College degrees and certifications each provide a well-defined list of what the person claims to know.

        • Totally agree with this and would like to extend the message to this advice:

          - Learn the rules

          - Don't break the rules

          - Contemplate the rules

          - Rearrange the rules to create miracles of a semi-religious nature.

          yw

        • There are a variety of ways to learn these things. College degrees and certifications each provide a well-defined list of what the person claims to know.

          Unfortunately not. I have found that a degree seems to have no bearing on sill (either positive or negative). I've seen people with degrees put out some truly awful code and self taught programmers put out some really good code. The best code I've ever worked with was by a guy who was an accountant who taught himself to code in his 40s.

          Some people are just really good at passing tests and then fail in the real world.

      • For those with a natural aptitude, coding per se can be picked up quickly using resources available online, combined with a few well chosen books. However, there are a lot of other skills (some general and some more specialised) that go into being a top developer. Certain degree courses can really reduce the time necessary to pick up that additional knowledge. Study for certain kinds of certifications can also help you develop the knowledge needed for many development projects.

        I don't see the degree as necessary to learn, I see the degree as more the certificate that this person is willing to put the effort in to learn. There are other paths, but most don't come with an easy way to separate those willing to do what is needed from those who aren't. Not that the degree always does a great job of separating people, but I haven't seen a better method available.

    • Re: (Score:3, Insightful)

      You don't need a degree to be a good programmer. But you do need to spend a lot of time to figure it out.

      I thought my university was useless at teaching programming; granted, I had been coding since I was about 5 (really simple crappy stuff). Most of what university taught me was either wrong, or stuff I had already picked up coding my own games growing up.

      Thigns they taught me in University that I still laugh about today:
      "You should write your app in pseudo code before you start an application" (no-one does this)
      "Everything will be specced out for you" (in less than half my jobs have I ever been given prop

      • by dpidcoe ( 2606549 ) on Friday May 10, 2019 @01:56PM (#58570438)
        Everything you mention there is really job dependent though. Coding login pages for websites is different than coding motor controllers for million dollar pieces of equipment, and both are going to be different from banking software or game engines.

        In the realm of embedded control systems, I've worked with people who spent 75% of their time discussing the software, drawing diagrams on their whiteboard, and writing the spec, 20% actually writing the code, and 5% debugging because it basically worked perfect the first time.

        I've also worked with people who slapped something together in half a day, then spent the next 3 weeks fiddling with it debugging things until it worked "right" and they called it done.
      • "You should write your app in pseudo code before you start an application" (no-one does this)

        I'm a mouse, and I'm stirring. But keep in mind that in this context, pseudo-code and flow charts, domain diagrams, etc. are all the same thing. Most of the time that means you'll use a diagram, but if it is a new or novel algorithm then you definitely want pseudo-code.

        "Everything will be specced out for you" (in less than half my jobs have I ever been given proper specs, nor has anyone given me sufficient info to create specs myself without consistent prodding).

        You probably stopped listening, but I think they went on to say: "... or if you're the one responsible for the spec, you did that in an earlier step so we don't worry about it at this step."

        "On average you will write 10 lines of code a day" (I still laugh at this one- yeah, I get what they were saying- you spend time debugging... but 10 lines is an absolute joke).

        If you're sufficiently self-motivated, university for programming is a waste of time; the only benefit is that you have a degree when people are looking for one (it doesn't make you necessarily a better programmer).

        This is an out-take from a famous programming book

      • From a purely self-centered perspective, I encourage you to promote this idea as far and as wide as possible. It will make my advanced degrees all the more valuable.
      • Thigns they taught me in University that I still laugh about today: "You should write your app in pseudo code before you start an application" (no-one does this)

        That one always cracked me up too. Why would I write an algorithm in some made up bullshit pseudo-language when I can write it once in the language I'm supposed to be learning? Even back then I knew it was stupid.

        The one I always violated was Never compose at the keyboard. I never one time wrote an assignment that I didn't sit down at the keyboard with zilch written down before hand. It was all written in my head. I'd spend some time thinking about things and sit down and start typing.

    • by mssymrvn ( 15684 )

      Regardless of degree or not, you need to gain real-world experience to see what works well and what doesn't. A degree isn't going to give you that knowledge, building things will. And four years in a college isn't going to afford you the time to focus on trying those things in your own time when you've got other classes to tend to.

      If you can skip the $250,000 education, do it. The 'well-rounding' can happen at your leisure. The cost of college is just too high to be justifiable for most people at this p

    • by fahrbot-bot ( 874524 ) on Friday May 10, 2019 @02:05PM (#58570506)

      You don't need a degree to be a good programmer. But you do need to spend a lot of time to figure it out.

      The college / four-year degree is also about getting a well-rounded education and being a generally knowledgeable person. There's more to work and life than coding -- or whatever specific field of study. It's also about exposure to a variety of subjects. That exposure may help you decide what you're actually interested in and/or good at. For example, I started off as an EE major and switched to CS.

      • Unless you're heavily self-motivated, you're not going to get the equivalent of a college education, or even college level programming skills, through self-study. Most people are not that self-motivated, and that is even more true of people looking for a shortcut.
        • That depends whether the individual in question is truly passionate about the subject; if they are - and if they're capable and intelligent, a formal curriculum is equally likely to get in their way.
          • That depends whether the individual in question is truly passionate about the subject; ...

            Sure, but it can be difficult to know what you're truly passionate about without exposure to (other) things. One of the worst things one can do is presume to know what you'll need and not need to know going forward in work and life. Doing so just limits your options.

          • by gtall ( 79522 )

            Well, you can learn how to code, but you won't be writing control software for the machine tool industry by knowing how to code. Similarly with accounting, without accounting principles well-learned, you'll be fish out of water. Most coding is not slapping some code together and zot testing it. Try taking someone from a coding school and ask them to write a compiler.

            Coding is just learning a few tools, it doesn't teach you how to use them to do anything useful.

    • by Kjella ( 173770 )

      You don't need a degree to be a good programmer. But you do need to spend a lot of time to figure it out.

      Well, the flip side of this is that it's never too early to start IMHO. I started at 7 with

      10 PRINT "Hello world!"
      20 GOTO 10

      At 10 I knew the basics of control flow, loops, functions, I could take input, output, do basic string manipulation and arithmetic and output it again. I had multiple-choice adventures, I had basic text based dungeon crawlers (no grues), inventory and buy/sell with cash balance, I wrote some basic organizers with CRUD and search functionality. I had put sprites on the screen and made t

  • 16-year-old Liam Rosenfeld [...] "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."

    With the parent credited as the developer, I'm assuming, because last I checked, Apple Developer Program members had to be 18 or older. Once an iOS app developer turns 18, how if at all does control of an app usually pass from the developer's parent to the developer?

    • With the parent credited as the developer, I'm assuming, because last I checked, Apple Developer Program members had to be 18 or older. Once an iOS app developer turns 18, how if at all does control of an app usually pass from the developer's parent to the developer?

      The parents (or guardian) will have to take the legal responsibility for the account. When the developer is 18, the owner of the account can be changed.

  • Comment removed (Score:4, Insightful)

    by account_deleted ( 4530225 ) on Friday May 10, 2019 @01:17PM (#58570180)
    Comment removed based on user account deletion
    • All of those things are good, but a four year degree doesn't guarantee them either. There was a reason that job interviews were using stuff like fizz buzz.
    • Re:Bad coders sure (Score:5, Insightful)

      by tepples ( 727027 ) <tepples@gmai3.14159l.com minus pi> on Friday May 10, 2019 @01:24PM (#58570222) Homepage Journal

      What math higher than AP calculus and high school physics is needed? For example, how critical are differential equations and linear algebra, the first math classes that a college student takes after calculus, to getting a basic app up and running?

      And what keeps a high school from offering introduction to programming to juniors (grade 11) and algorithms and data structures to seniors (grade 12)?

      • Re:Bad coders sure (Score:4, Insightful)

        by Oswald McWeany ( 2428506 ) on Friday May 10, 2019 @01:46PM (#58570380)

        What math higher than AP calculus and high school physics is needed? For example, how critical are differential equations and linear algebra, the first math classes that a college student takes after calculus, to getting a basic app up and running?

        And what keeps a high school from offering introduction to programming to juniors (grade 11) and algorithms and data structures to seniors (grade 12)?

        I think it depends what kinds of programming you're doing. 99% of your business apps that most programmers work on don't require anything too advanced.

      • Re: (Score:2, Informative)

        by Anonymous Coward

        Linear Algebra (Computer Graphics, facial recognition, plenty of applications)
        Statistics (Machine Learning Applications, Any sort of scientific or medical computing)
        Combinatorics (From Wikipedia: Combinatorics is well known for the breadth of the problems it tackles). Obviously understanding problems well in the math domain is an advantage when translating those into the computing domain (or thinking in problem space like P, NP, NP-Complete). Also with the heavy emphasis on functional programming these d

      • Re:Bad coders sure (Score:4, Interesting)

        by apoc.famine ( 621563 ) <apoc DOT famine AT gmail DOT com> on Friday May 10, 2019 @02:12PM (#58570570) Journal

        What math higher than AP calculus and high school physics is needed?

        God, are you 14? "Why are we learning this? I'm ever going to use this in the real world!"

        If you're never exposed to higher level mathematical concepts, you won't know that that's what you need to use when you're trying to solve a problem. You'll be stuck trying to do approximations and hacks to solve your issue, when there's a perfect solution out there that that you don't even know exists.

        I've forgotten how to do most of the high level math I've learned in my life, but I haven't forgotten the core concepts. If I run into an issue that is essentially a damped sin wave, I can go re-learn how to do that. Or if I'm trying to model a fluid surface, I'll haul out Navier-Stokes and dust off my old textbooks. If I never knew such things existed, I'd be left trying learn it exists and how to do it, or reinventing it, probably poorly.

        Four years of college exponentially increases the breadth of knowledge of a student. Even if they never use most of it, the fact that they know of something can save days or months of work sometimes. Just knowing what words to google can be a lifesaver.

        And what keeps a high school from offering introduction to programming to juniors (grade 11) and algorithms and data structures to seniors (grade 12)?

        The fact that it only lasts 1 year. Unless we're talking an Einstein level genius, that's not enough time to become knowledgeable about enough stuff to really be able to go out and tackle any problem.

        If all you're concerned about is most people being able to hack together a crude task list app or other light-wight app, sure, a HS education is about all you'll need. But if you're trying to do anything with physics, optics, or motion, it's likely not going to be sufficient. The broader issue is that if you don't learn any of the higher order math and physics, you just won't know when your light-weight app demands them, and will end up in a world of pain.

        • The kind of applications you're talking about represent a tiny fraction of the programming work space. Business logic applications are probably the biggest segment of the professional programmer job market by a landslide, I'd wager 75% or more. For that kind of job basic algebra is probably all you'd ever need. And of course there is also a big difference between a programmer and the software engineer who plans and designs how the application fits together.

      • The thing about differential equations is that in programming with an algorithmic approach, knowing the math just gets in the way of understanding the problem.

        Calculus is only interesting/hard because of the context in math; you already have a continuous function, and so you have to sort of simulate time/reality in order to calculate some subset of the function. But in a computer, you're going in the opposite direction; the flow and quantization of time is handled by the computer, and you don't already have

      • by gtall ( 79522 )

        You won't be doing drive controllers for the machine tool industry with that background.

    • It depends a lot on what their coding DOES. Knowing how to write code is a skill, like writing english or doing arithmetic. It can be taught to anyone, although most of us probably learned to do it ourselves at a very young age (I think I was 10?). The quality of that code improves either with study of other people's work, or with some level of formal instruction about style, organization and best practices. Experience teaches you the rest, particularly when doing larger and larger projects.

      However what you

    • Re:Bad coders sure (Score:5, Interesting)

      by Ichijo ( 607641 ) on Friday May 10, 2019 @01:47PM (#58570388) Journal

      I once worked with someone who had a PhD in computer science. His code was a fragile, unreadable, unmaintainable mess. But it worked, and that's what got him through grad school. Also he brought one useful skill to the team, he knew how to design a compiler. But he wasn't the best choice to actually code it!

      And that's the difference between computer scientists and software engineers.

      • by crgrace ( 220738 )

        No, that's the difference between one CS PhD you worked with and various software engineers you worked with.

        The best, and I mean absolute best, engineer I ever worked with, someone who can get something out the door quickly that will work well has a PhD.

        Does this mean PhD engineers are better at delivering quality at high speed? Of course not. Anecdotes do not equal data.

        • by Ichijo ( 607641 )

          The best, and I mean absolute best, engineer I ever worked with, someone who can get something out the door quickly that will work well has a PhD.

          Was the code robust, readable, and maintainable? Or were these attributes tossed aside in favor of getting something out quickly that worked well?

    • they need to know about lots of other things, like higher math, some physics, and a fair amount of computer science theory

      People can learn these things from all sorts of sources that don't involve a university or a classroom. Books, videos, and private classes come to mind.

    • At one time I ran a consulting firm, which produced ... code. I found zero correlation between having a university degree and the ability to code, to learn the new language of the day, and very especially to design/architect, handle multi-threaded things, do embedded coding. Zero - most of the graduates were significantly less skilled than the guys who just loved computers. It was one of our interview questions - what do you do on your home machine?
      Someone who loves this - they're going to be good at it
    • by HiThere ( 15173 )

      Sorry, but some people can be good programmers after a short course. They'll have a lot of holes in their knowledge that they need to fill in, but they can do that ad lib.

      Other people, equally intelligent by most measures, can take a 4 year intensive and they'll still be lousy programmers.

      Note that the "short course" programmers could not do a decent job of systems analysis without a bunch of other background material. But some of them can pick up *that* with startling rapidity. I recall one professional

    • If you don't care about the quality of your coders, sure, you can use almost anybody with a pulse. If you want good coders, they need to know about lots of other things, like higher math, some physics, and a fair amount of computer science theory is good for them.

      No they don't and anyway a degree isn't necessary.

      Don't get me wrong, for many people, a degree is absolutely the right choice. It certainly was for me, and most of the people I've hired have degrees. Every so often someone ends up taking an unusu

  • Of course not (Score:2, Insightful)

    by jeff4747 ( 256583 )

    But it provides a useful filter for resumes. So it's going to be necessary for the vast majority of new developers for a long time.

    Plus there's a lot of holes in a typical self-taught software developer's background, and I'm speaking as one. That doesn't mean they can't produce anything, it just means it might not be as optimal as someone with a more complete background. "Good enough" usually is, but sometimes you need really good.

    • But it provides a useful filter for resumes. So it's going to be necessary for the vast majority of new developers for a long time.

      Plus there's a lot of holes in a typical self-taught software developer's background, and I'm speaking as one. That doesn't mean they can't produce anything, it just means it might not be as optimal as someone with a more complete background. "Good enough" usually is, but sometimes you need really good.

      Indeed.

      I don't think a University degree for programming helps much at all, having got one myself and being unimpressed with the University course; however, I would only hire someone with a degree (unless I knew their skills personally), because someone with a degree is more likely going to be motivated and less of a burn-out. If you don't have the ambition to get your University degree- are you going to have the ambition to work hard and improve?

  • by crgrace ( 220738 ) on Friday May 10, 2019 @01:22PM (#58570206)

    The problem with coding, or IT, or whatever the public says when it means "programmer" is that the field is so incredibly broad that whatever you say about it is true. So in other words, it's meaningless.

    Everyone from someone who ties together Visual Basic macros to people developing microcode for Intel are called "programmers" but they are not the same.

    Where I work, we have "web devs" who can put together a website using python scripts and Google tools. They are "programmers". Do they need a 4-year degree? Not at all.

    We also have folks who develop high-speed, massively parallel differential equation solvers that run on super computers. Do those folks need a 4-year degree? Absolutely! Most of them have a PhD (and they need it).

    It's as if we called everyone from an orderly to a brain surgeon a "medical professional" and then we could have people say "medical professionals don't need degrees" and we could have "medical professional" bootcamps. Could we make a bunch of orderlies and vocational nurses this way? Sure. Could we make new brain surgeons? Unlikely.

    • by jythie ( 914043 )
      Yeah.

      Saying you do not need a degree to work in IT or 'programming' is a bit like saying you do not need a degree to, say, 'work on homes'. There is a lot of work in that domain that really doesn't, from basic grunt work up through running a general contractor company. A degree might be good there, but isn't necessary. On the other hand I would expect a HAVC contractor or electrician to have done associate level coursework and such, and I would expect an architect or structural engineer to have a highe
    • It's so 'broad' because 'programming' is a skill not a profession. I am a mechanical engineer. I have a 4 year degree in Mechanical Engineering, but I write code for a living. Why? Because it's just a tool. I also use a keyboard and a phone but I am neither a typist or receptionist.

      Do computer scientists need a degree in computer science, absolutely. Do you need a 4 year degree to knock out a script to help you finish your career absolutely not.

  • I couldn't bear to continue working in the environment that's coming.
    Good luck everyone.
    • I'm also an old fart who started coding at 12yo in the 80s, I guess... like you ; I did go to university to validate my knowledge and have a diploma, but nowadays when I see people applying for a programmer job at 24yo when they started coding at 22yo, *ish*...

  • by JoeyRox ( 2711699 ) on Friday May 10, 2019 @01:25PM (#58570230)
    My immediate reaction to this story was "Sure, so does that mean Apple hires engineers who don't have a degree?", fully expecting the answer to be no. But a quick search [cultofmac.com] reveals they don't actually require degrees. I confirmed as much by reading a random job listing [apple.com] at Apple.

    This of course assumes Apple actually hires such candidates rather than just saying they do.
  • The real slam here in Mr. Cook's words is against the ridiculous cost of higher education in general. I think that's the implied message he's sending. Of course, the upper echelons of a giant tech company like Apple is infested with degree holding (and probably loan paying) employees from expensive schools because you do in fact need extensive education in the sciences to make top-quality products.

    To the masses of users (gamers) on phones, a kid that is "in-touch" with their target audience of peers and kno

    • by phantomfive ( 622387 ) on Friday May 10, 2019 @01:42PM (#58570336) Journal

      No user gives a shit about the quality of code.

      That's not really true, talk to any user these days and they will talk about bugs. The bug count is a direct result of poor-quality code, the closest most users will ever be able to get to it.

      • by bigmacx ( 135216 )

        Show me bug-free programs. Show me lots of non-tech users commenting on one program of same type being more bug-free than another of the same type. Find me an article on non-tech website or magazine. They don't follow the bugs, they follow the sizzle.

        Everyone experiences tech failures all day long each and every day now. I am certain something you used on your phone yesterday did not work today, and you either had to cancel or retry the app or operation, or reboot your phone. Tech simply breaks all the time

        • I already know what your code looks like, and it's not good. The amazing thing about writing bug free code (do a search for "agile book: zero bugs" to get information about it. In short it means that you keep you bug tracker empty by fixing all the known bugs), is that it makes code easier to write, makes it easier to iterate on features, and you deliver faster. So even if users don't care about bugs (and they do, if you talk to them), low-bug-count code will give them what they do want.
    • The real slam here in Mr. Cook's words is against the ridiculous cost of higher education in general.

      The real slam is that Apple charges so much for people who come to learn how to make products that help Apple sell even more of their products that you need to give out scholarships for people to be able to attend.

      Helping people make things that help you sell your own product shouldn't be a profit center for your company.

    • No user gives a shit about the quality of code.

      Ask some Boeing pilots that.

  • True (Score:5, Insightful)

    by 140Mandak262Jamuna ( 970587 ) on Friday May 10, 2019 @01:30PM (#58570258) Journal
    Most of the guys brought in by TCS, Syntel, Mastek and Accenture and countless other body shoppers from India would not pass an four year degree in USA. 90% of them would not pass a science degree requirements of an accredited us university. I would not be surprised if they flunk high school equivalency exam.

    I am not saying all Indians are dumb. These companies gamed the immigration system so much they brought in a deluge of low quality candidates. The really good smart Indians came through the F1 visa system, and did masters and PhD in US universities. These guys earned the good will by slogging all through 80s and 90s. And then came this low quality deluge that is making all Indians look bad.

  • I hold the unpopular opinion that we're in a Second Dotcom Bubble. The only thing different from now and 1999 is the lower levels of stock market mania...but Slack is IPOing shortly so we shall see.

    This bubble and the much higher levels of abstraction that web development employ are driving this sentiment. JavaScript frameworks and the language itself turn very complex coding tasks into Lego blocks that the developer just needs to snap together to build apps. And with everything becoming a web app, I can se

    • I hold the unpopular opinion that we're in a Second Dotcom Bubble. The only thing different from now and 1999 is the lower levels of stock market mania...but Slack is IPOing shortly so we shall see.

      The difference between now and then is revenue. Slack is making $500million a year (of course, also losing a bit more, but). In the first .com, companies were going IPO basically without revenue. Consider that pets.com had $600k in revenue, while spending $11million on advertising alone. They were able to IPO making $89million after that.

      So a quick look at the financials show why the .com was significantly worse.

  • by halivar ( 535827 ) <bfelger@@@gmail...com> on Friday May 10, 2019 @01:33PM (#58570286)

    I used to think my degree was worthless because every boss I've ever had in the industry either didn't have a CS degree, or had no degree, at all. Then I realized that much of my workplace recognition over the years was due to the fact that I had a pretty good handle on CS trivia: algorithmic proofs, grammar theory, assembly and all that attendant side knowledge like bit math, etc. So no, I no longer regret getting a CS-degree.

    My thinking shifted even more when, 15-20 years later, a lot of new hires I have to mentor learned to code at camp. Let me tell you: they are somehow worse than other folks with no CS-degree. At least an unschooled hacker has that self-motivated spirit that compels them to be competent. All code-campers have is a terrible case of Dunning-Kruger.

    • It makes a huge difference if we're talking:
      Can you make an app using high-level frameworks and tools that have been built for you, that is extremely similar in look and feel and flow and functionality to many other apps.

      or

      Can you requirements spec, architect, design and code the Fuchsia mobile operating system
      Can you conceive, architect, design, code, productively iterate the next Internet-based application with an impact like, say, Facebook.
      For example, can you design and make a good chunk of the next dec
    • My thinking shifted even more when, 15-20 years later, a lot of new hires I have to mentor learned to code at camp. Let me tell you: they are somehow worse than other folks with no CS-degree. At least an unschooled hacker has that self-motivated spirit that compels them to be competent.

      And that's the thing; "no degree" != "code camper". It can mean self-taught, learned on the job, a whole range of things.

      The proof's in the pudding. I've worked with degree-d ninnies, and degree-d smart guys. Same with the degree-less.

      Sometimes the degree just proves you are good (or good enough) at getting a degree.

    • Yeah, but OTOH I was checking out a bunch of compiler theory books at the local University, and most of them hadn't been checked out in over 10 years. I found a book on combinatorial algorithms in the math library that hadn't been checked out even a single time since they switched to computerized card catalogs in the 90s.

      Meanwhile at the public library I got in a reservation battle over Art of Computer Programming, which surprised me.

      Are you sure that CS graduates today are even learning the stuff you're ta

  • Comment removed (Score:4, Informative)

    by account_deleted ( 4530225 ) on Friday May 10, 2019 @01:34PM (#58570296)
    Comment removed based on user account deletion
  • I agree. (Score:4, Insightful)

    by Qbertino ( 265505 ) <moiraNO@SPAMmodparlor.com> on Friday May 10, 2019 @01:46PM (#58570372)

    Just like you don't need a 4 year degree to be proficient in math. But you do have to be dedicated and keep practicing, otherwise you'll lose your skill. That goes for just about anything requiring abstract thinking as its main course of work.

  • by bobstreo ( 1320787 ) on Friday May 10, 2019 @01:46PM (#58570376)

    Most modern programming is pretty much black box.

    Here's the inputs, here's the output, implement it in

    These are pretty much the pump jockey versions of programming, that will eventually be replaced by simple single purpose AI implementations.

    If you're talking about Architecting solutions you may want someone who knows more than how to search Google to copy code..The same is true if you don't have many programmers working on a solution. Someone needs to understand (and modify) the requirements and direct implementation to correctly solve whatever the software is supposed to be doing.

    Blindly following client requirements, without deep understanding of details of implementation often creates projects that never end, and never deliver.

  • It is true. There are some pretty incredible coders who don't have a degree.

    Being an engineer, though, that's a bit different. Yes, that too can be learned through self study, lots of mistakes, and good mentoring.

    But there are just too many folks out there who think, "Gee, I'm 1337, and have this special case, I'll rewrite std::map" and such, who don't really have have the wisdom of experience - either their own, or imparted - and who don't even see the need for it.

    It took a few years of being a "cowboy c

  • by foxalopex ( 522681 ) on Friday May 10, 2019 @02:00PM (#58570470)

    If you need someone to write "Hello World!" then sure, almost anyone could do it. Most business coding requirement are pretty simple too but do anything a bit more complicated such as multi-user or multi-threaded OS, efficient data structures or simply handling insanely huge amounts of data then you'll want someone with a background that is at least familiar with the theory and algorithms required behind it. You don't need an engineer to build a dog house but you might want to consider one if you're building a skyscraper.

  • How much coding has Tim Cook done? Seems to me if he came up on the business side and didn't do a lot of coding, he's no expert to be saying anything about it.

  • Cook graduated from Robertsdale High School. He earned a Bachelor of Science (B.S.) in industrial engineering from Auburn University in 1982,[15] and his Master of Business Administration (MBA) from Duke University's Fuqua School of Business in 1988.[16]

    https://en.wikipedia.org/wiki/... [wikipedia.org]

    Non-software engineer, non-developer talking head who hasn't done any sort of engineering in 20 years thinks education in a field in which he has no experience isn't necessary.

  • Not everyone wants to become a code monkey though.
  • write code. But you probably need a degree to get through the first few rounds of evaluation for a job at Apple by HR. So without a degree you are unlikely to get a job at Apple(or most other large companies) in spite of what Tim Cook says.

    There are plenty of educated(with degrees) IT individuals in the US looking for work as long as they do not want a livable wage.

    PS I am self taught when it comes to writing code, was an electronics tech(USAF) by training. Few large entities would hire me as an employe
  • ... I was a contractor for Mobil Oil (ca 1982), doing data entry into Lotus 1-2-3 on an Arnold Schwarzenegger IBM portable with a drop-down keyboard, green screen DOS, two-5 1/4" floppy drives ...

    I got my first computer in Feb 1978, a TRS-80.

    I turned a hobby into a living. I simply had the aptitude. It was a gift.

    I lived and breathed computing and did A-D, D-A conversion for the Z-80.

    Self-taught.

    My knowledge and skills increased along with the changes in technology and Mobil, in an extraordinary move, flew

  • With 4 yr degree talented developer has better chances to learn how to make quality/portable/maintainable/well designed/etc. code. But in the end the pool of good developers is still small, not sufficient to meet the current demand. (And lots of Co.s would like cheap top developers, but that's another story). So at this point anybody with coding aptitude should reasonably expect to get coding job. It is just that they would reach 'top developer' state with proper mentoring or education or such.

  • Interestingly enough, Tim Cook has both a B.S. and a M.B.A. From a purely self-centered perspective, speaking as a person with a Ph.D. in engineering, I'd like to encourage as many people as possible to skip higher education and try to "go it on their own" with nothing but a HS degree. It will make people like me even more valuable than we already are.
  • Yeah, one can learn coding in many ways and at many speeds. But it's the rest of what a 4 year degree can get you that shouldn't be missed. Yes, we can sarcastically note that the 4 year degree gets one unlimited beer and date rape and video games. But if one doesn't squander one's time, it can also give a student the opportunity to take a course in writing, journalism, media, ethics, history, politics, philosophy, and more. So I'd point out that the 4 year degree can help make us better citizens, even

After all is said and done, a hell of a lot more is said than done.

Working...