DEV Community

Cover image for What Software Engineering Universities Don't Teach You
Sonny Alves Dias
Sonny Alves Dias

Posted on • Originally published at sonny.alvesdi.as

What Software Engineering Universities Don't Teach You

With almost 10 years of working experience, I played several roles as a software engineer. And I am currently CTO of a video game company. Thinking back about my time at university, there are tons of subjects I wish I had been taught properly. Here is my list...

Time and task management ⏲️

  • Partitioning time (ex Pomodoro)
  • Avoid distractions, getting into the flow state
  • Inbox Zero

Tooling 🛠️

  • Hardware: computers, input devices, and network devices
  • Tools to increase productivity, shortcuts
  • Shell: bash, zsh, vi, or others
  • Mastering IDE
  • Test framework and test automation
  • IT: resources inventory, resources management

Communication 💬

  • With your technical colleagues
  • With your non-technical colleagues
  • With clients and customers: be confident and assertive
  • Marketing: Self and Company promotion

Project Management 💼

  • Agile: Scrum, Kanban
  • Stories, task definition
  • Task estimation
  • TDD, DDD
  • Performance monitoring

Leading / Mentoring 🦸

  • Onboarding people
  • Mentoring people
  • Documentation
  • Code reviews
  • Peer reviews, Pair programming

Management 👨‍💼

  • 1-on-1
  • Delegation
  • Feedback and Performance reviews
  • Career management, coaching
  • Personalized communication based on DISC assessment or others
  • Objectives definition: OKR, KPI, SMART, etc.

Budget Management 💰

  • Definition of budget
  • Expenses monitoring
  • Accounting

Entrepreneurship 🏢

  • Corporate governance and the basics of corporate law
  • Business development
  • Business plan
  • Business monitoring

Do you agree? Share your comments below. I also invite you to make your list and share it as well.


Photo by Adam Winger on Unsplash

Top comments (5)

Collapse
 
theowlsden profile image
Shaquil Maria

I do agree with some points, but at my university, they taught us most of the points mentioned. It boils down more to not giving enough attention to some points like communication, budget management, and project management (specifically testing) in my case.

Also, for the future. Could you go into some details on the topics? Like why you think it is important that those topics were taught at the university? Your experience with the topics and what advice you would give to a student about them?

That would make for a good discussion and learning moment. I mean you have 10 years in the field, which comes with a lot of experience and learning points.👊

Collapse
 
sonny_ad profile image
Sonny Alves Dias

Also, for the future. Could you go into some details on the topics? Like why you think it is important that those topics were taught at the university? Your experience with the topics and what advice you would give to a student about them?

Sure that sounds like a good idea.

Collapse
 
zilti_500 profile image
Daniel Ziltener

Well, my university did teach me these things. Except for teaching a specific IDE/Editor. Which I am fine with, because that is the developer's job to learn auto-didactically. (As much as I'd love Emacs to get a bigger market share ^^)

Collapse
 
jahil_tweets profile image
Jahil tweets🥀🖤

can u tell me the road map for software engineer from where to start, when to start, how to start, what will it take, what will i achieve and other stuffs?

Collapse
 
sudarshansb143 profile image
sudarshan

nice article !