A Day in the Life of a Software Engineer: Coding Our Team’s Values

Terakeet

AUTHOR’S NOTE:

Software Engineers at Terakeet are dedicated to designing and implementing Terakeet’s proprietary in-house enterprise systems.

Every Software Engineer has expertise in building and evolving sophisticated Rails applications that are used internally to manage a variety of Terakeet’s business processes. These systems are always advancing to support new features and technologies, and they contribute to Terakeet’s competitive advantage in the influencer marketing industry. This is a highly skilled and innovative role which offers both technical and leadership opportunities with the benefits of working remotely or in-office.

This is the first of a three-part series introducing three of the members of Software Engineering team. Meet Ryan Garver, our Senior Vice President of Engineering, as he highlights a brief history and description of our Software Engineering team’s core values.

In 2014, Terakeet decided to expand its engineering team significantly. The opportunity for scale also threatened to strain processes that were tailored to a smaller team. So, of the many questions that swirled around the uncertainty of how to remain productive, organized, and focused while hiring more engineers, the most important was: how do we maintain our culture of drive and mutual respect?

The team decided it was important to identify the values that were responsible for our success that went beyond technical mastery. Terakeet has company-wide core values, but we knew that, as engineers, there were ideals more specific to our work and complementary to the broader values of the company. Writing them down served more than just to create a list we could hang on the wall. In order to expect others to strive towards common ideals, these values reminded us that you need to demonstrate them yourself.

The Engineering Team’s Core Values

Attention to Detail

“We take the time to create things that we can be proud of, to anticipate the needs of our clients and users, and design and build products that reflect a level of craftsmanship and expertise.”

Product quality is extremely important to us. This value is about taking the extra time to deliver something that is polished and being empathetic to how people will use it. This requires overcoming the urge to rush to the finish line, and not being afraid to spend a little extra time making sure we get it right the first time.

Follow Up

“After release, we make sure that the people we have created something for are more than simply tolerant of our work, but excited and thoroughly satisfied in both their understanding of its use and its functionality.”

The communication aspect of software development is very important, but it’s often neglected. It doesn’t matter how great a software system is if nobody understands how to use it, or, even worse, it is great at doing something that nobody needs. We are fortunate that most of the users of the Chorus platform are our co-workers, so starting a simple conversation can ensure that they are satisfied with the release.

Receptivity

“We will strive to be approachable and be personable to all Terakeet employees to foster an environment where collaboration can thrive.”

Collaboration is extremely important to the development process here at Terakeet and being receptive can take many forms. A receptive person must acknowledge new ideas and be mindful of alternate approaches to how others do their work. But there are also times when patience and compassion are required to rescue a constructive meeting from a situation that is veering towards frustration. Avoiding the stigma of an “out-of-touch” engineer through positive actions is invaluable to a culture of respect and understanding.

Learning

“We will constantly seek new technical and non-technical knowledge to better ourselves and stay informed about new technologies. We will use this knowledge to design cutting-edge new products and improve our existing ones.”

The field of software engineering changes very rapidly, and it’s essential to have a team that is always focused on learning. Amazing new breakthroughs happen all the time, and being hungry to learn about them should be exciting. However, it can be a challenge to venture away from the knowledge that is practiced and comfortable to seek the unknown. Shedding the expert’s mantle in one area to don that of a novice in another is a humbling experience. But, over the span of a career, choosing to take that risk, again and again, is what builds an immense body of wisdom.

By defining these values as a core part of what Terakeet’s engineering department is, we added an important pillar to the structure that would guide our future growth. Along with more quantitative aspects of department policy, such as coding standards and business processes, this structure has fostered our department’s journey from a small group of like-minded engineers to a true team.

Growing the team has given Terakeet a diversity of ideas and backgrounds and these new perspectives help us tackle problems in novel ways. And, of course, a larger team can work on more projects and build additional cutting edge systems than would have been possible in years past. Most importantly, we are able to capture and maintain an essential work ethic and culture of respect that granted us the opportunity to grow in the first place. The identity of our core values will guide us as our path leads towards an even larger team in the years to come.

This is the first post in a three-part series about a day in the life of a Software Engineer at Terakeet. Read the other two posts here:

A Day in the Life of a Software Engineer: Remote Office
A Day in the Life of a Software Engineer: In The Office