/Career Advice

Junior To Senior: An Action Plan For Engineering Career Success

- Jerome Hardaway tl;dr: In this guide you’ll learn: (1) The key technical competencies that managers prioritize for career advancement. (2) The essential communication skills expected from senior developers. (3) How to approach code development with a focus on addressing business requirements.

featured in #405


A Problem vs The Problem

- John Cutler tl;dr: “Most conversations about problems, and causes, are negotiations — negotiations about identity, reputation, controlling the narrative, and spheres of influence and control. People look for the "definition" they can live with and process. Deciding how much to constrain the collection of root causes — from one cause to a whole graph of related causes — is as much a political decision as a factual or solution-oriented one.”

featured in #404


Writing Tips for Improving Your Pull Requests

- Jeff Mueller tl;dr: “I’m going to show you how to purposely write less by using the techniques below.” Tips are: (1) Make it scannable. (2) Speak plainly. (3) Avoid adverbs. (4) Simplify your sentences. (5) Avoid a passive voice. Jeff adds examples to each.

featured in #404


Cohesion In Simple Terms - Software Modularity

- Eliran Turgeman tl;dr: “Modularity is a must for good software design. It helps with extensibility, readability, maintainability, and more. It certainly isn’t easy to make your code modular, but what exactly is modularity, and how do we measure it?”

featured in #404


I Failed 3 Job Applications, Here's What I Learned

- Alex Ewerlöf tl;dr: “Today after 23 years, I have a relatively high level leadership position but it wasn’t always like this. As an introvert in a world that’s optimized for extroverts I had a long and painful learning curve.” Alex provides us with tips he's learned and mistakes he's made applying for jobs at Datadog, Spotify and Shopify.

featured in #402


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


The Ambiguous Zone

- Ben Northrop tl;dr: The ambiguous zone lies between doing what we are told as engineers and doing what we want. If we are given specs that are missing something obvious, should we ignore what’s missing and do what we’re told? “The most effective developers I've worked with understand this, and are adept navigating this zone. They are curious about the perspectives and needs of other stakeholders, and ask good questions. They push back when things don't make sense, but do so tactfully.”

featured in #400


Cynefin For Developers

- Liz Keogh tl;dr: The Cynefin framework describes different types of problems and categorizes them into 4 domains – obvious, complicated, complex and chaotic – and a fifth domain in the centre, disorder, when it’s unclear which type of problem we’re dealing with. Liz discusses how this framework can be used by software engineers.

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