Notes from 20–27/7
Blockchain
Beijing Reveals 145-Page Blueprint To Be Blockchain Hub / JP Morgan Debuts Singapore Payment Network / No-Code Blockchain Integration
This is a brilliant summary of what’s happening in the entire blockchain space
The Store of Value Thesis
Applied critical thinking
Ethereum Use Case Analysis
Career
Circles for inclusion, mentorship
Looks super super useful
How to Become an Outstanding Junior Developer
#1 Communicate really really really really really really well
#2 Hone your Google Fu
#3 Use a “try timer”
#4 Remember to relax and take breaks!
#5 Ask the duck
#6 Take notes
#7 Fight against imposter syndrome daily
Development
Systems design for advanced beginners
You’re going to be responsible for building the entire Steveslist technical platform, including all of its websites, mobile apps, databases, and other infrastructure. You’re excited, but also very nervous. You figure that you can probably cobble together a small website, since you’ve done that a few times before as part of your previous entertaining-if-morally-questionable escapades with the Stevester. But you have no idea how to even start building out all of the other infrastructure and tools that you assume lie behind large, successful online platforms.
How one code review rule turned my team into a dream team
Rule 1
Each PR review must have at least 2 same-team developer approvals. Manager approval does not count.
Rule 2
Each PR must have a good description. From reading the description, the reviewer should be able to understand what the code is meant to do. This has to be true even if there is a Jira ticket or a requirements page.
Rule 3
PR must have sufficient unit test and integration test coverage.
Rule 4
If the PR is a bug fix, it must contain a test such that, should the bug fix be reverted, this test would fail.
Learnings from Tech Leading: Delivery
Product
Design Docs at Google
Besides the original documentation of a software design, design docs fulfill the following functions in the software development lifecycle:
- Early identification of design issues when making changes is still cheap.
- Achieving consensus around a design in the organization.
- Ensuring consideration of cross-cutting concerns.
- Scaling knowledge of senior engineers into the organization.
- Form the basis of an organizational memory around design decisions.
- Acts as a summary artifact in the technical portfolio of the software designer(s).
Tools
Zulip 3.0: Threaded Open Source Team Chat
competitor to slack? Teams? woah
Minecraft @ Home
Extremely new content right here