TL;DR style notes from articles I read today.
Top 5 Surprises When Starting Out as a Software Developer
- Programming isn’t a solitary activity. It needs a lot of interactions with people
- Writing well (clear & unambiguous) matters, be it your code, documentation, bug descriptions or be it your emails
- Software is never done. Anything new you create has to fit into something that’s existing already. A large of creating new software functionalities is understanding the existing code.
- Real-world favors simplicity. All the clever algorithms you learned may never come to use.
- Scale creates complexity. Complexity arises from the aggregation of many simple parts, not from complex parts.
Full post here, 4 mins read
Using spec-first API Development for Speed and Sanity
Reasons to consider spec-first API development:
- Tight feedback loops
- Effective feedback about API design
- Minimal wasted effort
- Contract testing for safety
Full post here, 9 mins read
Scaling a Mature Data Pipeline — Managing Overhead
- Over time, you end up encoding application structure in the data pipeline. Application logic gets coupled with orchestration logic.
- Orchestration complexity causes overhead. This complexity scales with the depth of the data pipeline.
- When you decouple orchestration logic from application logic, you get tools to fight the overhead, without compromising the quality of the application.
- When trying to reduce the run time of a data pipeline, analyze the whole pipeline’s execution time, not just the obvious factors like map-reduce computation time.
- Focus on fault tolerance considerations.
Full post here, 11 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.