Seven Ways to Improve as an IC

Joe Tavin
BigPanda Engineering
8 min readMar 30, 2023

One Year at BigPanda

I joined BigPanda as a Senior Site Reliability Engineer at the beginning of 2022, recently celebrating my first work anniversary. When reflecting on the one-year milestone, I had many thoughts. But the most important reflections were about the many ways I found myself improving in the past year.

When starting with a new company, I believe you should first and foremost be mindful of the progress you make in contributing to the company’s mission and goals.

However, monitoring crucial improvement areas ensures you upskill yourself as an Individual Contributor (IC). These improvements can and should compound over time to make you a better and more well-rounded Professional, Engineer, and Contributor.

The key areas I thought about are essential enough to improve any IC in an Engineering role, regardless of your company, so I am sharing them with you.

Photo by Stephanie Morales on Unsplash

1. Ownership

At BigPanda, one of our values is Extreme Ownership. This is, of course, a great slogan from an excellent book! As the sole Engineer in the new Reliability group, I was given full ownership to jumpstart and get my ideas into Production.

I expected to be given partial ownership to implement the solutions from end to end. But I suddenly realized I had been given the privilege and responsibility of creating and upholding myself to new group standards.

My experience at BigPanda is that Ownership is more than just a slogan but a day-to-day reality. This contributed most to my improvement in it. Every IC can and should be assessing and implementing good ownership practices. Improving ownership skills should be number one on the list for an IC.

Photo by Tierra Mallorca on Unsplash

2. Autonomy

While Ownership is an aspect of work that demands responsibility from the IC’s point of view, autonomy requires trust that the organization must have in the owner to make the correct decision. This is not only for expert field decisions but also for prioritizing specific projects over others.

As the only SRE at BigPanda and having a great manager 💙, I had the flexibility and autonomy to choose between projects we had prioritized together for the group. Although we defined our team goals and mission value statement together, in day-to-day operations, I was given the autonomy to work on the solutions that would provide value to the Reliability Group and BigPanda.

This trust helped me improve in developing autonomy. This improvement is especially true since, in the past, like many engineers, I used to shy away from decision-making and would leave prioritizing and choosing company-impacting goals to my managers. Improving autonomy will make your choices as an IC easier and improve your decision-making skills.

Photo by Jannes Glas on Unsplash

3. Engineering Quality

The role of the Reliability team was to create the foundations and code infrastructure for our group from scratch. Being the only person responsible for a specific domain at a company might cause you to overlook many aspects of high-quality engineering. Technical standards and best practices require preparation and demand more time to implement. But time is always the scarcest resource in fast-moving start-ups. So when working alone in a group without other team members, this may sometimes feel “over-engineered” and unnecessary.

However, implementing and defining high-quality standards and best practices from day one will result in high-standard code and products. This accrues significant returns on the time investment in the future since there are already good Automation, tests, and quality guardrails in place.

One great example I experienced was demanding Code Reviews for all my Pull Requests. Getting someone from another team to review my code was not always easy since other groups were busy executing their mission statement. And as a solo engineer, I could push my code without a Code Review, but getting the feedback gave me valuable input from colleagues.

Not surprisingly, the most significant improvements I saw to my coding were when I got many comments and requests for enhancements. This improved the quality of my engineering by incorporating peer feedback into my code. Every IC should monitor and see that their engineering quality improves over time.

Photo by charlesdeluvio on Unsplash

4. Technical Tooling

This is a pretty obvious one. At any technology organization, the technology used to create new technology is always first of mind. And with high engineering standards at BigPanda, this was no exception. I quickly improved in many technical areas, even those with prior experience. It’s always essential, as an IC, to see that your technical knowledge deepens, improves, and evolves. Since the technological landscape is dynamic and constantly changing, yesterday’s best tools and practices are outdated for tomorrow. Some of the specialized tools I found myself improving in were:

  • Writing Python pip modules, services, and CLI tools.
  • Using Advanced Git techniques.
  • Using GitHub.
  • Leveraging pre-commit hooks for shift-left Automation.
  • CI/CD using Travis CI.
  • Infrastructure-as-Code using Terraform.
  • Developing services and APIs running on Serverless Framework for Serverless Infrastructure-as-Code.
  • Writing Unit tests.
  • Writing Functional and E2E tests.
  • Helm templating and Helm chart management.
  • GitOps tools such as Argo CD and Argo Workflows.

This is a list of the technologies I worked with at BigPanda, and you should always aim to improve and evolve your technical knowledge in your company’s tech stack.

Photo by Patrick Hendry on Unsplash

5. Technical Communication

Technical Communication is one of the most significant areas an IC can improve, but it is sometimes an evident skill. This is the ability to condense and explain technical subjects to a broader audience. It can be varied, creating intro-level presentations on various topics, deep-dive designs, and presentations to an advanced developer audience. Working at a company can be very much like a relationship, where there are three rules for long-term success:

1. Communication.
2. Communication.
3. Communication.

Exercising your skills to communicate the technical vision and details to co-workers, managers, and stakeholders across the organization can work wonders for the success of the IC, and I saw myself improving significantly in this area. Communication is an area you don’t want to be missing out on improving in, and seeing your communication skills improve as an IC will be instrumental for your career.

Photo by Icons8 Team on Unsplash

6. Tool Comparison

As anyone who has designed and developed a system, finding the right tool for the job is always important. At BigPanda, we invest time and effort in defining our requirements clearly. I learned a lot about creating good tool comparisons, properly defining criteria, and even running technical evaluations in Production environments.
I improved in this area by doing a couple of tool comparisons myself and reading previous tool comparisons by other Engineers.
This is a less obvious but essential skill that every hands-on IC Engineer should actively improve as they progress in their career.

Photo by Jason Dent on Unsplash

7. Tech Storytelling

Storytelling is more than Communication with a large audience. Presenting your ideas and knowledge to an audience in a clear, organized, and entertaining way is no simple feat. It requires skills, tips, and methods which take it to a different level than “regular” Communication.

At BigPanda, we were fortunate to have a tech storytelling workshop that helped us improve our storytelling capabilities to present to a broad audience. Fortunately, quite soon after that, I had the opportunity to exercise this new skill at a Meetup to introduce basic concepts of Infrastructure as Code to a general developer audience.

As an IC, it can drastically improve and broaden your skill set across verticals that are not typical for the average IC. If you can effectively improve your ability to tell a technical story to a broad audience, you also invest in your brand. If you’d like a special coach in this field, I recommend contacting Avital for assistance! 😻

Photo by Pic😻sea on Unsplash

Bonus Point!

I started by writing seven different vital areas I was thinking of off the top of my head. As it works best for me, I poured many points onto my draft document. However, when I sent the draft to a dear colleague for feedback, She helped me notice that I had written two different points for number 3! 😄
Since I felt the points written down were all important vital areas I wanted to share, instead, I decided to add the last for a bonus ➕1️⃣ 🤩.

Photo by Frugal Flyer on Unsplash

7+1. Asynchronous Work

For the past couple of years, especially since the COVID-19 pandemic brought remote work mainstream. We have become accustomed to working remotely and asynchronously. This was forced upon us during the pandemic and continues into a hybrid model workforce today.

At BigPanda, we have a hybrid model where different teams choose their days in the office and come in together on their selected day.
Since my position entails working with multiple teams simultaneously, I visit the office as much as possible. This helps me catch most of the teams in person, which is still the best and fastest way for human Communication!

However, when that is not possible, there is always software and systems that one can use to communicate asynchronously. For example, I will set my Slack Status message to my current situation whenever I’m sick or out on vacation. This lets people see where I’m at and if I will be available later in the day without asking me about this outright.

It is also possible to take this further and use one of many Slack apps and integrations that automatically communicate your status based on your calendar! Improving asynchronous work practices has been instrumental in effectively working with many teams across multiple time zones. And as an IC in a changing work environment, you can and should improve that skill as well.

Photo by Vince Veras on Unsplash

Conclusion

I’ve covered seven plus one (okay, eight ;-) essential areas of improvement for ICs in engineering roles. By focusing on these areas, you can grow as a well-rounded professional and more effective contributor.
As I experienced, you can and should see yourself improving in these key areas over time.
Did I miss anything? Feel free to drop me a comment or reach out on LinkedIn!

--

--