Rethinking how we use Agile in modern development teams

Agile, one of the hottest project management philosophies, has long been criticized for being too structured and process focused to drive any real productivity improvements. In the Forbes Insights report, only 47% of executives believe they will see sustainable value from their Agile transformations.

The hesitation of teams to adopt Agile seem to derive from a series of myths and miscommunications about the true purpose of Agile, and issues in adopting the practice to real engineering teams.

Photo by Eden Constantino on Unsplash

Central Planning is Still a Tenement of Agile

When working with Agile, engineering teams often seem to think this means no central architect determining some large overarching plan. …


Six time-tested techniques to reduce distractions and finish your todo list

No matter what’s on your todo list, it’s easy to feel overwhelmed by the seemingly endless amount of work you have to do. It can be hard to stay focused on finishing todo list items, especially in today’s always busy world.

Whether you procrastinate, fall victim to distractions, or straight up forget things, these techniques can help you stay focused and accomplish more each day.

Photo by Stefan Cosma on Unsplash

All About Productivity Techniques

A productivity technique is a method or process that helps you stay focused and accomplish more throughout your day. …


Make your day a little better with some fun and useful CLI tools.

As a software developer, it’s often to describe the happiness that comes from finding some fun or useful command line tools online. I’ve been compiling a list of my favorites from around the internet, and thought it time to impart my knowledge of tons of useful (and useless) CLI tools that make my days a little better.

Photo by Florian Olivo on Unsplash

emoj

Ever looking for the perfect emoji but can’t think of its name? …


If you’re a web developer, you probably have tens of projects on your computer, each with its own node_modules folder that’s sucking up space on your hard drive.

Not only is this an organized person's nightmare (thousands of repeated folders and files that aren’t being used), it can also be a serious space concern for those with smaller hard drives. The average node_modules folder takes 200MB, if you have 50 projects on your hard drive, that’s 10GB of node_modules that provide no value to you!

Thankfully, the wonderful developers of the open-source community have created a tool to rid us…


A list of 5 leadership failures you may be making

Management and leadership has no set handbook, it’s often something you’re thrown into and have to learn on the job. The longer you lead a team, the more skills you pick up on being an effective manager. We’ve compiled a list of 5 huge leadership failures that you may be making, and tips on recognizing and avoiding them.

Photo by Joshua Hibbert on Unsplash

1. Failing to recognize unique strengths

Each person on your team will have truly unique intrinsic motivations. Understanding what exactly motivates each person is critical to driving success and efficiency across a team.

For some, this may be receiving praise from management, others it may be compensation, titles…


Use useReducer, custom hooks, and more

Image of code on a screen.
Image of code on a screen.
Photo by Ferenc Almasi on Unsplash

React gives developers complete freedom over how state is managed within a component. React has two types of components: class components and functional components, which were introduced in React v16.

Class components use methods to manage state, such as this.state and this.setState for state, and componentDidMount() for running a side effect once a component has mounted. If interested, you can read more about these methods.

However, since most React developers now use React functional components, we’ll be focusing on functional components and their state, which is managed using React hooks.

In this article, we’ll be taking a look at some…


The Skills and Traits To Become a Great PM

Product management is one of the most often misunderstood roles in any organization. Although often thought of as the decision maker of all product decisions, in most organizations, that’s not the case, as they don’t have enough authority over most of the things that make their product successful.

A product manager is the person who identifies the customers needs, the large business objectives that features or products will fulfill, determine what success is for a project, and bring together a team to actually build the vision.

Photo by Marten Bjork on Unsplash

Product management is a relatively new role. While design and engineering both have a…


A simple guide to React Error Boundaries

In React, by default errors can propagate all the way up an application and break an entire app upon the next render. These issues were often caused by an earlier error in the application code but weren’t handled gracefully and cause the entire rendering cycle to start.

In React 16, the concept of “error boundaries” were introduced to address this issue. Error boundaries are React components that catch errors anywhere in their children, log the errors, and display a fallback UI instead of crashing the application.

Handle React Errors with Error Boundaries
Handle React Errors with Error Boundaries
Photo by Sigmund on Unsplash

Error boundaries can catch errors during rendering, lifecycle methods, and constructors of all the…


Destructure props, named components, and more

decorative: glass ball
decorative: glass ball
Photo by Michael Dziedzic on Unsplash

React is meant to be an incredibly flexible software library, with no clear best practice when it comes to application structure or design. However, there are still some best practices and general rules that developers can use to write better React code.

Software architecture is meant to be productive and flexible for developers. The goal of good software is to keep the codebase maintainable and modular if any modifications or additions are needed.

I’ve put together some of the best practices I’ve picked for writing good React code, ones that have proven to be effective in applications large and small.


One of the hardest parts of developing a product is the dizzying amount of components that are often required for any full stack application. Building a dropdown menu or a button from scratch is time consuming, taking away from potential time spent on actual features.

Tools like Tailwind CSS have popped up to address this problem, accelerating the design -> code component of programming. However, Tailwind can be limiting, it’s not built for React or styled components (instead using CSS classes) and doesn’t provide any pre-built components, just tags to make building components faster.

I’ve recently fallen in love with…

Caelin Sutch

Passionate about building cool shit. First-year undergrad student studying EECS and Business @ UC Berkeley MET Software developer at Carline.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store