Welcome to the 23rd issue of Zero to Hero Weekly.
My schedule had been a total trainwreck for the last few months, and I couldnât find much time to show â¤ď¸ to Zero to Hero weekly highlights.
Starting from this one, Iâm planning to change this đ.
đŠâđł Tiny Updates Here and There
If you are a frequent visitor, you might have realized some minor design changes here and there. More of those are coming, and Iâm also creating a mini video about my overall design process.
After all, Zero to Hero is one of the central places I create content, and no matter how hectic my life is, it deserves attention and care.
Turtle Power đ˘âĄď¸
If you are interested in federating identities across multiple clusters and using mutual transport layer security over gRPC to let workloads talk between those clusters. First of all, you have weird interests đ. And secondly, I have a series of ten videos over forty-five minutes that you can enjoy using SPIRE to Securely Connect Workloads.
In the series, as usual, I assume nothing and begin with a blank slate, coding everything from scratch and creating a brand-new project. On the videosâ web page, you can also get the source code and find many relevant links and articles to dive further.
Distributed Systems Are Grinches
Well, I thought of something else instead of a âgrinchâ, but Iâm so very polite, and Iâm not going to say that thing.
This is from Evan Gilman on SPIFFE Slack Channel. Evan is also the author of Zero Trust Networks. So, when he talks about Distributed Systems, you can assume he knows what heâs talking about (content edited for brevity and clarity):
Here are a few things that come to mind when you want to use a remote database such as Google Cloud Spanner as the backing store of a distributed system that requires strong consistency (such as SPIRE):
Performance
Tight consistency will always require some number of round trips with some quorum of nodes to commit changes and move forward. And, there will always be an upper limit applied to how fast this system can progress: The latency or round trip time between participants is a crucial factor.
Given (increased) latency, the system will naturally hit a performance wall. This can be (sometimes disastrously) exacerbated by the âInternet weatherâ.
Operational Overhead
Some systems require synchronization periods when starting new or restarting existing nodes. During these periods, bulk transfer of data occurs.
Cross-region pipes or commodity Internet is usually (comparatively) lower throughput. So, depending on how much data youâre talking about, it can induce significant amounts of overhead on the wire and wait time during operations for the cluster to stabilize following some event.
There will be similar concerns about time-to-recover from a restore (i.e., make sure your restore data is close by)
Exotic Failure Modes
Nost distributed systems arenât written, and donât get tested, for use across high latency lossy links. Lots of weird things can happen across these links, which tend to have at least a couple middle boxes:
â TCP sessions that get held open but nobody is there,
â High jitter on one link in the system that is traversing a really busy router,
â And many moreâŚ
Persistence systemsâparticularly those requiring consensusâlike to fall over when these things happen.
And many times, bugs are uncovered because nobody ever tried it before.
For the record, here is an article that Evan wrote about exactly one of these cases.
Why did I share it? Because I didnât want it to be lost in Slack archives. And dear Slack: show some â¤ď¸ to open source communities. Not many of them have the funds to secure a paid plan.
Interview Done. Radio Silence. What Now?
Radio silence after a job interview can be a painful feeling. But it doesnât always mean rejection.
Especially in large companies, the hiring teams might take a very long time to deliberate, discuss potential candidates, and decide on the candidate to extend an offer. It can take an equal amount of time to come up with an official offer latter obtaining all the required approvals.
To better understand whatâs holding up the process, ask questions and listen carefully. In this processâlike it or notâyour recruiter is your ally. So ask them (or whoever the facilitator of the process is) questions similar to these:
- When will you be reviewing candidates with the hiring manager?
- When is the hiring manager hoping to make a decision?
This time frame is essential. Because if the hiring manager isnât communicating with you after this deliberation period, you are most likely not a top candidate.
And there is nothing wrong with that, either.And, there is nothing wrong with that either. Companies choose candidates for variety of reasons, and some of those reasons are not related to knowledge, skills, and abilities.
Though if they say something like, âWeâll have some decision made in the next two weeks,â you are likely still in consideration.
Once the debriefing time passes, donât take the silence personally. Either the hiring manager has not been dedicated yet. Or, more likely, the recruiter has offered another candidate the job before rejecting you.
Also, as I said, donât beat yourself up if you donât end up getting the job. Interviews, especially in the tech industry, are a numbers game. The more you attend, the higher your odds are.
Look from the bright side: Your rĂŠsumĂŠ demonstrated that your experience and interview skills were solid. You werenât the top candidate and maybe got a âsilver medal,â so what? Thatâs a-o-kay. Chin up, buckle up, and move on to the next opportunity.
Look What Iâve Found
Here are the things that grabbed my attention this week.
I typically donât share these anywhere else.
Exclusively hand-picked for you đ. Enjoy.
- Prisma is an âall batteries includedâ ORM for Node.js and TypeScript.
- Goose is a Database migration tool to migrate your databases. Gooseâget it?
- Have you ever wanted to embed a calculator inside a text editor? Me neither. But NumPad has.
Thanks a Lot â¤ď¸
Thatâs all for this week. Next week, Iâll gather more unique content and resources.
So, until next time⌠May the source be with you đŚ.