# 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
    
* 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, BDD
    
* Performance monitoring
    

## Leading / Mentoring 🦸

* Onboarding people
    
* Mentoring people
    
* Documentation
    
* Code reviews
    
* Peer reviews
    
* Pair programming, Mob Programming
    

## Management 👨‍💼

* 1-on-1
    
* Delegation
    
* Feedback and Performance reviews
    
* Career management, coaching
    
* 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](https://unsplash.com/@awcreativeut?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText) on [Unsplash](https://unsplash.com/s/photos/boy-reading?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText)
