- C and C++
- Architecture, Design Patterns and Refactoring
- Skills & Tools
- Agile Software Development and Scrum
- Operating Systems and Networking
- Embedded Systems and Computer Architecture
- Version Control
- Robotics
- Mechanical Engineering
Many software engineers recommend what I call the "procrastination approach" to optimization. Delay optimization as much as possible, and don't do it if you can avoid it. I agree with the basic premise. Optimizing too early or too often is not a good appr