Welcome from Hacker News! I have 10+ years experience in software engineering at a variety of companies from “Big N" to startups. I write a weekly blog post discussing various topics about working as a software engineer, running a company, and ideas on tech. It’s completely free to subscribe, so please do so if you find this content interesting.
In the two decades I've been managing people, there's never been a termination that didn't sting. Acting on the knowledge that someone isn't working out is probably the hardest task for any conscientious manager. It's only natural to meet that difficulty and that sting with regret: I could have done more. But the hard truth is often a ...
In negotiations, there's a distinction between distributive and integrative bargaining. Distributive bargaining is a zero-sum negotiation where fixed resources are allocated between parties. Integrative bargaining is where multiple interests are negotiated at the same time and deals are structured to create value through creative solutions. Not every negotiation is open to integrative bargaining. For example, in car buying negotiations, the buyer wants to pay as little as possible, the seller
No matter the size of the business, there'll always be an unlimited number of tasks left to do, processes left to improve, and contingencies left to plan. The work is truly never done, so regardless of how much effort is put in, you'll inevitably end the day unfinished. All you can control is what you're willing to let slide. Most days...
Write five, then synthesize: good engineering strategy is boring.
Few companies understand their engineering strategy and vision. One consequence of this uncertainty is the industry belief that these documents are difficult to write. In some conversations it can feel like you’re talking about something mystical, but these are just mundane documents. The reality is that good engineering strategy is boring, and that it’s easier to write an effective strategy than a bad one.
Six weeks • One cycle An inside look at the specifics of how we decide what to do and then decide how to do it. “How do you guys actually work? How do you choose what to do? How big are your teams?…
Nadia Asparouhova | Understanding user support systems in open source
As a project matures, one of the biggest demands on a software maintainer’s time is user support: not just bug reports or feature requests, but also “How do I?”-type questions. What starts as an occasional question slowly grows to a support queue, and time spent on the project might go from mostly proactive (coding) to mostly reactive (support) work.
Spend any time in complex systems and you know the first line of defense against tough-to-debug bugs is a reproducible process. You'd think that most software we write is reproducible – but there are many places where it isn't. Files get overwritten. Different machines have slightly different configuration. One step of a process gets skipped. The same code compiled on two different machines spits out two different programs. > Reproducibility (in software) is the confidence that an application
The concept of a media diet has gotten a lot of attention, and it's surely an important one. If you fill your mind with drivel, it'll soak your thoughts in kind. But how you choose to fill your mind matters too. Even if the sources are ace. For many years, I consumed media in a continuous, never-ending stream from morning till night. I...
All revolutions start with a rebel, and in the world of writing, blogging and newsletters, Substack, the online newsletter platform, is Silicon Valley’s new favourite disobedient child. High on its recent explosion in the writing community, it now finds itself at an interesting crossroads that will dictate the path for its future growth. This is […]
The first few years of the 2010s birthed a gold rush of development of messaging apps. WhatsApp had been around for a year-ish, Kik launched to immense success in 2010, and Facebook Messenger (then only within the Facebook app) had long been top dog. Within a couple of years, photography and photo sharing apps were […]
All revolutions start with a rebel, and in the world of writing, blogging and newsletters, Substack, the online newsletter platform, is Silicon Valley’s new favourite disobedient child. High on its recent explosion in the writing community, it now finds itself at an interesting crossroads that will dictate the path for its future growth. This is […]
How doing everything wrong turned Automattic into a multibillion dollar media powerhouse
Nothing has been automatic about the success of Automattic. Today, for those who haven’t been paying attention, the company looks a bit like an overnight success story.
Building a crawler in Rust: Building a crawler in Rust: Design and Associated Types Building a crawler in Rust: Synchronization (Atomic Types and Barriers) Building a crawler in Rust: Implementing the crawler Building a crawler in Rust: Scraping and Parsing HTML Building a crawler in Rust: Crawling a JSON API