SSENSE Headquarters

There is a lot of confusion within the industry regarding various developer roles and titles; sometimes even within the same company, there might be some lack of clarity. In this article, I will share my experiences as a staff developer at SSENSE, including some of my responsibilities and a glance into my day to day. You can also refer to this article to understand the full Engineering career track at SSENSE.

It is worth mentioning that SSENSE is currently in hypergrowth. This has created an environment to help foster talent and present opportunities to refine skills and take on new challenges.

At SSENSE, a staff developer is one of the highest seniority levels in the Engineering department. Therefore, we are entrusted with projects which have the highest level of impact. At this level of seniority, extensive knowledge of technical fundamentals need to be coupled with a deep understanding of the SSENSE stack. Our day to day focuses on reshaping technology, leading innovation, and of course, enabling other developers to do the same.

More concretely, here are my favorite 3 activities in a regular week:

Architecture Reviews

One of the best parts of the job is what we refer to internally as the Tech Architecture Group, which is a federated governance model that enables freedom for all development teams while setting some guardrails. As a member of this group, we conduct architecture reviews and help tech leads design the best possible solutions for upcoming features.

The process is quite straightforward: at the early stages of feature development, the tech lead and one member of the Tech Architecture Group meet and conduct a white-boarding session. This is a safe space for brainstorming, uncovering dependencies, challenging ideas, and attempting to find design flaws. During this session, we can also ensure the design follows SSENSE standards and is aligned with our principles and tech stack characteristics. By the end of this session, both the staff and tech lead have a rough idea of how the solution will be architectured.

Image from Pixabay

The tech lead can then go back to the team and dive deeper into details, prepare the due documentation, and initiate development to have fewer unknowns and fewer surprises during the development phase.

Tech Initiatives

At SSENSE, staff developer is also an individual contributor. While working with many different teams, I am able to identify common challenges as well as what aspects of our technology are slowing down or impeding development and innovation.

Image from Pixabay

Upon identifying a department-wide pain point, a staff developer will format it into a company-level tech initiative, prioritize it, and see to its resolution.

During the prioritization phase, the staff will meet with the technical director and other senior team members to analyze which initiatives will have the best cost-benefit ratio for the Engineering department as well as for SSENSE as a whole. In special instances, we are challenged to go out of our role and build a business case to present to our Executive Committee.

Once prioritized, we then introduce it to our tech leads and product managers, to get buy-in from the various development teams and properly allocate time and bandwidth to the project. At this point, the tech initiative is divided into small pieces and individual team members can contribute to it.

Contributors then meet on a bi-weekly frequency to share progress and readjust as needed. We often send communications to all departments involved, to inform everyone of the current status of an initiative and when they can expect to enjoy its benefits.

As you can imagine, the scale of these projects varies greatly, with some lasting a few weeks to others established as full year-long projects to reshape the technical architecture of the company. A recent example to offer, is how we launched an initiative to change how our software is built and distributed, and applied this new practice across over 100 microservices. We now benefit from a higher degree of confidence in our code and a much faster release cycle.

Developing the Next Generation of Seniors and Tech Leads

What does it mean to be a senior? What does it take to become a tech lead? At SSENSE, the staff developers are also there to support those wanting to assume these roles. We will often conduct pair programming sessions, internal lectures, and individual training sessions on specific subjects.

Also, like in any other company, people come and go, and when someone as critical as a tech lead leaves, we will facilitate the transition. The staff developer will temporarily join the team as an interim tech lead while training their replacement. Given that tech leads and staff developers work closely, this ensures continuity in the work that was being executed while the new tech lead ramps-up with the tools and knowledge needed to excel in their role.

This has proven to provide a strong support system for someone entering what can be a challenging position.

Image from Pixabay

In Conclusion

I consider the role of a staff developer to be an amalgamation of the responsibilities of a tech lead, software architect, and senior developer. Working in this role has allowed me to broaden my responsibilities, scope of knowledge, and afforded me the opportunity to develop new talent and see it continue to grow.