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)
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.👊
Sure that sounds like a good idea.
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 ^^)
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?
nice article !