My TL;DR style notes from articles I read today.
Technical Decision Making
Tips for effective technical decision making:
- Define the problem first. Then look at tooling options to solve it.
- Prioritize solving real problems over the most visible problems.
- Be cognizant of the present context while pattern matching solutions from the past.
- Choose a tool that doesn’t add too much collateral complexity to your system
- Ensure you define what an impactful project looks like for your company.
- Plan projects in a way that no subproblem can become the single point of failure for the entire project.
Full post here, 8 mins read
Why we always start with CI/CD
- CI/CD leads to the adoption of best practices & standardization (feature branches, code reviews, etc.)
- the deployment process is automated, reproducible and documented
- anyone can deploy the software at any time
- can ship smaller chunks in production more often
- can fix bugs introduced in production more rapidly
Full post here, 6 mins read
What does debugging a program look like?
- reproduce your bug, and reproduce it quickly
- accept that it’s probably your code’s fault
- start doing experiments, change one thing at a time
- check your assumptions
- throw error messages, don’t just silently fail
- print out a stack of errors, not just one error to get to the root issue quickly
- develop a true understanding of what the error messages mean
Twitter thread that got the author started with writing this detailed post on debugging
Full post here, 10 mins read
I share these TL;DR versions of articles on software engineering that I read every weekday through my newsletter - in.snippets(). Sign up here if you liked what you just read.