What Complex Systems Can Teach Us About Building Software
- Kevin Sookocheff tl;dr: To build successful complex software systems: (1) Define a set of quality architecture principles that the organization believes in and that are systematically enforced. (2) Develop quality information aggregation systems that allow leaders to determine which components of the system are following the rules. (2) Experiment widely and encourage diversity in how we build teams and how we build software. Kevin explains how he arrives at these conclusions.featured in #401
featured in #400
featured in #400
Lessons From A Pessimist: Make Your Pessimism Productive
- Armin Ronacher tl;dr: Armin observes two forms of pessimism - a “pragmatic form” and what he’s coined as “destructive pessimism,” which he believes has become more common inside and outside of engineering. Pragmatic pessimism can be useful - you assume that things are more difficult than they actually are and are able to highlight pitfalls along the way. Destructive pessimism wants, or expects, things to fail. While both seem similar on the surface, the latter can be harmful.featured in #399
Eight Graphs That Explain Software Engineering Salaries In 2023
- Tekla Perry tl;dr: Based on 2022 reports, these graphs show how (1) tech salaries rose but below inflation. (2) The best paying jobs. (3) Software engineering skills employers want you to have. (4) Software engineering skills by demand. And more.featured in #399
Hired’s 2023 State Of Software Engineers
tl;dr: (1) Engineers remain optimistic about the future. (2) Layoffs from May to December 2022 had the greatest impact on salaries and interview interest for junior and non-traditional engineers. (3) Demand for remote engineering talent remains high. Remote roles command higher salaries than local roles, especially in smaller markets. (4) The most in-demand coding skills and software engineering roles shifted.featured in #396
Why You Should Send A Weekly Summary Email
- Jens-Fabian Goetzmann tl;dr: The weekly email has 2 headings, with 3–5 short bullets under each: (1) “Achievements This Week” i.e. the most important things you’ve done this week. (2) “Priorities Next Week:” the most important things you want to get done the following. The benefits are: it starts the week off right, ensure progress on the things that matter, enables introspection, aligns priorities, make invisible work visible and keep a record of achievements.featured in #395
Why 'Product Engineer' Is The Most Fun Role I've Had In Tech
- Raquel Smith tl;dr: A product engineer is someone who works with customers and data to decide what should be built, and then goes and builds it themselves. Raquel discusses how it trumps software engineering in that it allows the individual the autonomy to make important decisions, and was a more fun career path for the author.featured in #395
Building Your Executive Network
- Will Larson tl;dr: Will outlines several tactic for engineers to do this. “Your network is a collection of relationships, and relationships always work best when they’re built before you need them. Set a small goal, like meeting one new person each month, and slowly build your network up over time. Don’t make it your top priority, but don’t forget it either.”featured in #394
How To Contribute To A Project You Have No Idea About
- Michal Warda tl;dr: Michael discusses his process contributing to Bun - a new JavaScript / TypeScript runtime, elaborating on the following workflow in this article: (1) Setup and run the tests for an existing codebase and get them green. (2) Write a test that fails. (3) Change the code. (4) Think if you need to add another test. (5) If you found a test to write then go back to 1. If you can’t think of a test you’re done.featured in #394