#Issue12
3 posts

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
Read more

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. It 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
Read more

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

Scaling a Mature Data Pipeline — Managing Overhead

Over time, teams 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.
Read more

Scaling a Mature Data Pipeline — Managing Overhead

  • Over time, teams 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