What Software Engineering Universities Don't Teach You
After almost 10 years of working experience going through several roles as a software engineer, and being a CTO now, here is the list of the subjects I think we're missing at university.
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 invite you to make a list and share it too.
Developer Advocate, Hashnode
I totally agree with most of the things you mentioned here especially on the side of management. If we were thought about the importance of time management or how to manage our time effectively, our lives would be a lot better.
I enjoyed reading this article. Thanks for sharing Sonny Alves Dias.
Comments (1)