Improving engineering skills
Disclaimer: This was originally written for my own reference notes, before being modified to the current form by removing personal references.
Here are some pointers to start polishing your engineering knowledge base and skills. It has to come from real-world experience and intricate literature reading.
1. Start contributing to well-known open source projects
Find active projects in languages you want to learn to understand open-source dynamics and best practices in engineering and project management, including code reviews, issues, and CI/CD. Look for projects with strong communities, active development, and high code quality standards.
2. Learn a new language
Contributing to open-source projects often requires learning new languages. Learning a new language engages your learning abilities and provides fresh perspectives and unique software development practices to apply to your current skillset.
3. Read technical literature efficiently
Work through foundational books on software engineering and design patterns. Use effective reading techniques and actively apply concepts to your current work rather than reading passively.
4. Algorithms!
Make daily algorithm practice a habit. It improves coding efficiency, fosters focus, and enhances problem-solving. It’s also the most direct way to secure a higher-paying job.
5. Engage with the community
Stay engaged and involved in the industry. Community participation can lead to job opportunities, professional connections, and keeping updated with the latest tech practices. Use developer-focused platforms and communities purposefully and consistently.
X. Prioritize your time efficiently
In order of efficiency: hands-on projects, algorithms, and reading. Projects provide the most direct value by teaching practical skills and forcing knowledge expansion in pursuit of writing high-quality code. Algorithms engage problem-solving abilities and directly benefit career advancement. Approach technical books as a mix of foundational learning and reference material rather than reading cover-to-cover.