There are several pieces that fit together when it comes to working at a software consultancy. Each of these pieces feeds into a varied and often challenging atmosphere. The answer to specific questions will often be that it depends. How they fit together can change, but the pieces are often the same.

Process

Let's start with trying to agree that every software team has a process. Ah, but what if I literally have no process! This was kind of difficult to swallow at first. Making a choice to have no process is still a process choice. It just means you've given up on understanding, controlling, or influencing any part of the process (not the first thing I would try). At a software consultancy, it is likely that your process will revolve around understanding the different pieces that go into software development. Your process may have a variety of different stages for understanding, research, design, development, and review.

At SEP, the answer will often be that it varies. Many of us love a process that can help make us more efficient. Many of us hate process and feels that it makes us less efficient. Regardless of which camp, the best thing to do is what makes sense. You'll see that a lot around a software consultancy. When empowered to, engineers point out where the flaws are. There are rituals and retros that will involve dedicated time for finding these problem areas. All of this is done so that when you spend time making things, you do so effectively.

Development

The tools will be varied, but the end goal is to make the thing. And a lot of that happens at a software consultancy. You will see people trying to build things with their very best. They will be trying to make sure that the thing has the right features. They will be verifying assumptions. This is the production work where ideas turn into software. You'll be building the thing, but it's important to remember that at any software consultancy... you do so with people.

Collaboration

In most software consultancies (and certainly at SEP) you will be working in teams during the work. Even working as a single developer, there is still the client to think about. The people at a software consultancy will be focusing on these two areas. They will know that working together is important, because not everyone has the same knowledge or experiences. In both the development and the process, you will see people collaborating together. They will be pairing (programming together) at the same keyboard. They will be discussing pain points and what feels wrong. They will be trying to affect change within the team, the product, and the process.

Change

Working in a software consultancy, things often change around you. You'll probably be seeing things change a lot. Changes within the team. Changes in policy. New processes and technologies will emerge. Leadership will change. Clients will change. You may be in the middle of working on something and need to change to something else. Change is not always bad. Sometimes, these changes will challenge you, but sometimes they will elate you.

Celebration

There are often things to be celebrated at a software consultancy. There are new people joining the team. There are people whose work should be celebrated as they leave for new opportunities. There is work being done. Sometimes, new software versions are completed. More often than that, there are new features being implemented. Life events happen. Working at a software consultancy allows you to see all of these accomplishments being celebrated.

Taking Time Off

Sometimes, you won't be doing any of that. Sometimes, you will be taking some needed time off. And that's OK.