Welcome!
Welcome to Developing Skills - Skills for Developers looking to develop their careers.
Tip of The Week: Smart Project Selection Matters When It Comes to Levelling Up Your Coding Skills
One of the things that most impacts the outcome of a startup or business project is project selection.
For example, it’s going to be harder to build a successful chain of ice-cream shops in Alaska than it is in Florida. It’s just easier to sell ice-cream in a hot and sunny environment than a cold one.
The same principle applies to becoming a better software engineer. Choosing the right projects maximises your opportunities for learning enhancing your skills and growing as a software engineer. It’s a decision that paves the way for improvement - pick another todo-list and you’ll learn relatively little. Build a Redis server and you could learn a lot.
It applies to your career too. Picking the right projects, those with impact and visibility can accelerate your career.
Why Picking The Right Projects Matters for Your Growth
Develop New Skills - Good projects will take you out of your comfort zone. The challenge will stretch you, forcing you to develop your coding skills and expand your capabilities.
Aligned To Career Goals - Aligning your project selection with your career goals will ensure that the skills you develop contribute directly to your professional journey.
Collaboration Skills - Most software development projects require collaboration. Choosing team-based projects not only develops your technical skills but also strengthens your ability to work effectively with others.
Problem-Solving - Tackling projects with tricky problems - or at least problems that are tricky for you, helps you develop your problem-solving abilities, a crucial skill for any software engineer.
4 Tips for Great Project Selection
Know Yourself - Reflect on your current skill set and identify areas for improvement. Choose projects that align with your learning objectives.
Match Your Goals - Select projects that directly contribute to the skills you want to acquire. This targeted approach ensures focused and efficient learning.
If Teamwork Matters - Evaluate the collaborative aspect of a project. Opt for those that involve teamwork, providing valuable experience in working with diverse skill sets.
Balanced Challenge - Seek a balance between challenge and enjoyment. Projects should push you to grow without overwhelming you, making the learning process both effective and enjoyable.
In short, your choice of coding projects plays a crucial role in your journey toward becoming a better software engineer. Thoughtful project selection ensures that each project contributes meaningfully to your growth and development.
If you want some specific project ideas, check out Coding Challenges, which provides over 40 real-world software engineering projects suitable for all levels.
Two Ways I Can Help You Level Up As A Software Engineer:
I write another newsletter, Coding Challenges that helps you become a better software engineer through coding challenges that build real applications.
I have some courses available:
Build Your Own Redis Server (Python Edition) which guides you through solving the Redis Coding Challenge in Python.
Build Your Own Shell (Go Edition) which guides you through solving the Shell Coding Challenge in Go.
I occasionally run a cohort based course: Coding Challenges Live: Redis Edition! It will probably return in February 2024.
Picking the right project can make a massive difference in the long run. I always looked at it as an investment.
But whether you pick the project you can grow from boils down to your mindset. Some might see it as a chance to fail. Others see a learning opportunity in failure.
If you're afraid to pick the projects you can grow from, I suggest reading: Mindset: The New Psychology of Success by Carol S. Dweck.