Software Engineering Craftsmanship

While reading the book Software Craftsmanship, I came to know that every developer should write a blog. Amidst the era of AI Writer, ChatCPT etc, I was quite anxious about writing this Blog. As there is an absolute shortcut to every second thing we do.

But there are 1000s of a developer who joins this industry each year. So these blogs can help them to gain some insights as a beginner. Let me summarize my findings from Software Craftsmanship & The Pragmatic Programmer.

As Developers, we sometimes get overwhelmed by the number of targets to achieve each quarter or the diversity of the topics where we need to have our command. So we all at some point in time want to know the secret of managing stuff. A pragmatic approach can help as a magic wand here.

Keeping track of things

-> Technical Blogs: Make a habit of reading engineering blogs. You will learn a lot of things from quality engineering writing. Also, many companies like Netflix, Uber, Microsoft, Google etc have well-written blogs on real issues handled by their Engineering Teams.

->Technical Websites: Apart from blogs, this will also help you stay updated. Also try to keep track of what you read via Evernote, Notion, Instaper anything which works for you.

->Reading Books: Although they become outdated as how things are evolving super fast around us. But definitely, the essence is the most you will get from them. Make a habit of reading one technical book each Quarter.
Suggestions:
The clean coder
Software Craftsmanship

Pragmatic Programmer

GOF

Refactoring

-> Read not only technical but non-technical as well. Anything which works best for you. Research speed reading Techniques. Ultimately this will help us to understand most of the document or technical threads as well.

Suggestions :
- Atomic Habits

-Deep Work

-IKigai
-Psychology of Money

  • Good Practices

-> Pair Programming

Mostly this is what we do in a real-life situation as well. This surely helps one to learn, and understand things better and faster

-> Contribution to Open Source

Pick any Project related to the topics you are learning. Start going through the code, debugging it, and running unit test cases. This will not only make your developer graph better. But also help you to understand how other developers are writing coding, approaching it etc.

-> Make mini Projects to pull yourself out of the tutorial Hell
30% - Tutorial

70% - Making mini Projects, Reading Docs, Asking Others to review your Code, Writing Tests for it etc.

-> Focus

Deep Work has a good amount of tricks to help you build it. Apart from that, there are certain apps which you can use like Forest, Pomodoro, To-Do Tracker etc.

Pomodoro is an excellent technique as it not only helps you maintain a good focus but also helps you to relax your mind.

RELAX MIND===2X PRODUCTIVITY

  • Work-Life Balance

-> Time Management: It is something which you can only plan according to your priority. Make sure you split out time for family, self-care ( Yoga, Exercise, walking, jogging anything ), Work, Healthy Eating, sleep, and Personal- Work (Hobby ).

-> Don't overburden yourself. Try to take baby steps. This is how you can build habits. As we all have the same amount of time (24 hours). The difference comes from how we split it. Protect yourself from Imposter Syndrome

Conclusion

Software craftsmanship is a philosophy that values the skill of the programmer and their attention to detail. It's not just about writing code, it also includes writing tests, and designing and refactoring code. So keep coding with a healthy and relaxed Mind.