Thought experiment - Create your own degree
Tony Hicks

Tony Hicks @tonyhicks20

Location:
Utrecht, Netherlands
Joined:
Sep 27, 2017

Thought experiment - Create your own degree

Publish Date: Oct 28 '17
13 14

If you had to make a syllabus for a degree, what would you deem essential for an aspiring software developer to learn and why?

What has been your experience with developers that do vs. don't have a computer related degree?

Comments 14 total

  • Ben Halpern
    Ben HalpernOct 28, 2017

    Percent I'd allocate to each type of credit

    • 5% microeconomics
    • 5% psychology
    • 20% computer science/computer history
    • 30% software engineering/development
    • 10% business
    • 30% misc/electives

    My degree is weighted more heavily towards practical software development so that students really feel like they are earning relevant industry skills, but also teaches computer science and offers courses in some other relevant scientific fields. It also encourages doing electives in whatever the hell you want. Theatre, music, history, whatevs.

    • Tony Hicks
      Tony HicksOct 28, 2017

      Very interesting choices! I like that you included misc to pursue your own interests, potentially out of the tech world. Why would you suggest psychology?

  • Andy Zhao (he/him)
    Andy Zhao (he/him)Oct 29, 2017

    Following the percent allocation:

    • 25% psychology
    • 20% computer science/computer history
    • 30% software engineering/development
    • 25% misc/whatever

    I agree with the computer science and software engineering that @ben said, too. I'm putting more emphasis on psychology since I think there's a lot of value in learning how people behave. Psychology has also helped me understand a lot about myself, too.

    The other 25% is really to give me freedom to do whatever, since I have a lot of varied interests.

    Awesome thought experiment by the way.

    • Tony Hicks
      Tony HicksOct 29, 2017

      Thanks! I.'m surprised to see psychology come up as often as it has. Would you have any recommendations (books, talks, courses etc.)?

      • Andy Zhao (he/him)
        Andy Zhao (he/him)Oct 30, 2017

        I think any updated psychology textbook will give you a good groundwork, although probably boring. Vlogbrothers on Youtube have a Crash Course on Psychology.

        Some books I have read are more pop psychology as opposed to traditional (and usually more scientific) psychology, but I would still recommend them. Some are even in the self-help area, but were useful to me:

        • Man's Search for Meaning, Viktor Frankl
        • Outliers, Malcolm Gladwell
        • The Seven Habits of Highly Successful People, Stephen Covey
        • Flow, Mihaly Csikszentmihalyi (on my to read)
        • Freakonomics, Steven Levitt and Stephen Lubner (not really psychology, but an interesting book that I recently read)
  • Lorenzo Pasqualis
    Lorenzo PasqualisOct 29, 2017

    I'd go with this:

    • 30% software engineering/development. To gain the knowledge, skills, and practice to be able to write software.
    • 15% computer science. To acquire the theory to know what you are doing, how to solve some problems, why some problems are not solvable and why some algorithm choices are better than others.
    • 15% electives. Exploration of fields of interest, important because "software" is such a broad field!
    • 10% math. Computer science without math can only go so far. Math is required to understand much of the computer science theory.
    • 10% leadership. Allows a good engineer to become a strong and key asset for a company.
    • 10% business. To gain a good business sense, so rare to find.
    • 5% psychology. To understand how to work with people, and how to better communicate and negotiate.
    • 5% computer & software industry history. Computer and software industry history gives an idea of how we got where we are, which enables an engineer to understand the context of choices that were made in the past.
    • Tony Hicks
      Tony HicksOct 29, 2017

      For some reason, I an unable to" like" your response so thank you for your detailed and thought -through answer! What I find interesting is that this looks quite similar (barring psychology) to what is offered in degree courses at universities in my country.

  • Tony Hicks
    Tony HicksOct 29, 2017

    I've also found no correlation, which has made me wonder if one should get a degree and not just pursue their own knowledge if they would need to go into massive debt trying to get one. why behavioral economics and cognitive science?

  • Tony Hicks
    Tony HicksOct 29, 2017

    Hahaha, that quote made my morning :-) Makes sense, thanks for your answer

  • Thorsten Hirsch
    Thorsten HirschOct 29, 2017

    Having my own workplace in mind, I would split my answer in 3 parts:

    • Translating business requirements into code needs a lot of people / communication skills. I guess David and Ben nailed it already, and I especially liked Gregory Brown's tweet. There really doesn't seem to be any correlation between CS degree and skill-on-the-job, as long as one has a scientific background and is used to structured thinking & planning.

    • Building libraries & frameworks for other developers as well as setting up coding guidelines requires quite a bit of CS stuff. You better know the complexity of your algorithms and some systems theory. Here I see a correlation between software quality and a CS degree. But you don't need as much communication skill, because your customers (the other developers) pretty much understand you right away.

    • DevOps stuff, capacity planning, cloud deployment. I'm not sure about the correlation here. You need to to know a bit about hardware, more about operating systems and probably also containers. But you can compensate knowledge about software / algorithms / systems theory by just doing a lot of testing. I would say it doesn't matter if you've got a CS degree as long as you excel at scripting and automation. However communication can be really tough between development and operations, if politics in your company pushes both departments in different directions.

  • George Offley
    George OffleyOct 30, 2017

    A degree that lets you work on something passionately, is actually worth it, and doesn't cost a mortgage.

Add comment