-
Changing attitudes toward legacy code
Legacy is an inevitability in any business - systems that were once cutting edge naturally age, but still require careful maintenance. And although it’s important work, it can feel less rewarding than working on shiny new features.
-
How simplifying software can save your engineering teams’ time
We’re conditioned to think from an early age that exciting things are the best. That attitude can extend to engineering, too.
-
Creating efficient, accurate, software estimations
Estimating projects is hard. Whether it's negotiating technical debt, understanding new requirements, or grappling with a lack of useful documents; the number of moving variables make it difficult to judge just how long a project will really take.
-
Increasing your influence through building a professional network
Have you ever wondered why you aren’t having a bigger impact at work? Why your colleagues aren't listening to your advice or why those next career opportunities aren't coming your way? Stop wondering and start influencing.
-
Skills for first-time Lead Developers
The transition from a developer to a Lead Developer can be a rocky one.
-
Applying software engineering practices to improve people management
As a new manager, your changed responsibility is not to build features, but to build systems to support the people building the features. It can be a challenge to figure out how to prioritise problems alongside the day to day pastoral care of your team.
-
Lessons for frontend development at scale
Powered by technologies such as React and GraphQL, we see frontend applications reach a level of scale and complexity that was traditionally associated with backend engineering and service architectures.
-
Learning from incidents: from ‘what went wrong?’ to ‘what went right?’
When things go wrong, we tend to focus on mistakes, miscalculations, and deficiencies in design. By limiting our investigations to the details of what went wrong, we ignore a far richer and more interesting source of learning: how things went right.
-
Scaling performance at the scale of Slack
One of the major challenges faced by teams working on high growth product is of performance. Systems that are built for a given scale of users often fail to deliver the necessary throughput when run with orders of magnitude of load more than what they are built for. Software teams have historically resorted to a myriad set of ways in scaling performance.
-
Distributed teams: how to hone connection, communication, and collaboration
Psychological safety is one of the leading indicators of a high performing team. Yet, forging deep human relationships and building trust can be difficult when your team is distributed or largely interacts on screens.