By signing up you accept the Terms of Service and Privacy Policy

"Four growth strategies for individual contributors"

Below is an article originally written by Patrick Shields, Principal Software Engineer at PowerToFly Partner CircleCI, and published on March 3, 2020. Go to CircleCI's page on PowerToFly to see their open positions and learn more.

There's not a right or wrong career path for software engineers. Some find a natural niche as leaders and work into management positions where they end up leading teams and designing career paths for others. Conversely, some thrive and become leaders by developing their own paths as an individual contributor (IC). Pat Shields, CircleCI's chief architect, recently wrote about his experience growing as an individual contributor, including advice about how engineers on the IC route can succeed in their careers. We're reposting it here.

My first real job in programming started on July 5th, 2007, which means I have just over twelve years of experience as I write this. It's a lot more than nothing, but probably not much more than something. Ten years seems to be about the right amount of time to get good at something, though some amount of natural talent or sheer drive can make it go faster. But growth is not as simple as waiting it out and talent does not supersede the need for experience.

"Players get to that intermediate level where they can already play pretty good, and that's kind of a dangerous period because they tend to start playing only the things that they can play, rather than the things they can't." - Pat Metheny

In fifth grade, I went to a school where I was required to take a French class. I showed no particular aptitude or interest in the language, but was happy to pass through the lessons. After two years, my family moved and I started at a new school where I was able to choose Introductory French or Spanish. I chose French, effectively repeating the previous two years. I have little to no memory of these classes, but I believe I passed through them with ease. After those two years, we moved again and I started at a High School. I was offered a choice of languages to study and I elected for … a year of Introductory French. I was the star pupil of the class, having repeated "Je m'appelle Pat" and "Où est la discothèque" as required for the previous four years.

The following year I entered Intermediate French and the skill gap between myself and my peers immediately dwindled. Despite my five years of experience, I didn't advance much beyond a few simple phrases and a halfway decent accent. I muddled my way through the next two years, but squandered my experience and gave up learning the language after high school. Many of us make this same mistake in our careers. We optimize for a skillset that is easy to gain or stay within the confines of limited expertise. Quite a few folks just don't get the opportunities they need to grow. I have found a few strategies that have helped me grow, and I'd like to share them along with some ideas about how you might apply them.

Assume you are smart enough to understand

In my first job out of school, I worked with some of the most brilliant folks I've ever met. Most were affiliated with Yale via either its computer science department or its high performance computing lab. During my job interview, Nick Carriero asked me if I was familiar with Junit and I tried to pretend I knew what it was beyond a window in Eclipse. I was surrounded by very experienced, very educated, and very accomplished folks. The one benefit of this was learning that in those walls I would never, ever, be the smartest person in the room. To follow along alone was an accomplishment.

Those folks were much more than smart. They were mostly twice my age or more, had studied rigorously in academia or cut their teeth on hard industry problems, and all had a tremendous work ethic. I didn't have their innate talents or that experience, and I was in no danger of being able to do what they did. But that didn't mean I couldn't follow along and learn. So I tried to ask dumb questions and to restate things until I got them right. Being wrong or not knowing something hurt still, but it hurt a little less every time the light bulb finally went off.

Most of what you need to follow the work of those around you is just patience and curiosity. When you encounter things in your work that you don't understand, ask someone to help you figure it out. It could be a piece of code, a system design, or even a business concept like margin. You won't become a quick expert but you will gain a breadth of knowledge. More importantly, you'll learn how to ask questions and learn from those around you. Give yourself space to do good work

Real talk: everywhere you go there will be haunted forests, tech debt, and organizational challenges. Every opportunity comes with constraints. Often, those constraints lead us to choose the lesser of two evils or the best of a bad set of options. In my experience, it's easy to over-dramatize the evil or inherent bad-ness, but the point is that it feels bad. When you consistently do work that you don't take pride in, it's challenging to invest yourself in growth. Engineers in this situation often begin to imagine some panacea that would fix things. If only things were functionally pure or fully asynchronous or crash-only or written in Idris or Rust or actually Go would be preferable, then we could do things the right way. Or so the thinking goes. We convince ourselves that we are talented and great, if only we weren't limited by the things we cannot change.

Don't get stuck thinking that you can't do good work unless something you can't control changes. Find opportunities large or small to try to do something in a way that you are proud of. This can be as small as writing a few methods or functions that you think are great or running a larger project in an exemplary way. When I've done this, I've found that some of my great ideas were great and some were pretty sketchy. If I hadn't put them into action, I'd have missed the opportunity to figure out which ideas had merit.

Focus on the outcomes

As programmers, we spend most of our time living deep in the "how?" Programming is quite literally the process of filling in all the details. Many of us experience frustration in our jobs because we are forced to reckon with ambiguity that our coworkers and peers can shrug off. Earlier in my career, I used to say that there was nothing more terrifying than a meeting that ended in agreement because that just meant you hadn't figured out the details yet. That's a pessimistic extreme, but it's also a fear born out of experience.

By and large, the conferences we go to, the blog posts we read, and the conversations we have focus on the "how?" We talk about programming languages, databases, agile methodology, distributed systems papers, or GraphQL. But for most of us, those are tools to help us do something else. Our stakeholders don't care about the tools, they care about the outcomes. The earlier you are able to focus on outcomes, the more you'll be able to connect with your stakeholders, learn from them, and then help them succeed.

This is a huge topic and a never-ending quest, but you can start by always knowing the answer to the following three questions:

  • What problems am I trying to solve for my stakeholders?
  • How do I know when I'm done?
  • How do I know if it solved the problem?

No matter what process you use, or don't, and no matter who your stakeholders are or how big your organization is, if you know the answers to those questions, they will guide towards a path that is focused on generating outcomes rather than just generating more details.

Do whatever you want, but do it loudly

I was a year or two out of school when I first heard the phrase "It is better to beg for forgiveness than ask for permission." It's an old phrase, sometimes attributed to Grace Hopper, but variations have circulated for many years. There are some organizations where creative thinking and empowerment are still frowned upon, but I think this quote misses the mark nowadays. It's still true that asking for permission will likely get you stuck in the mud. The receiver of your request will likely feel the need to do due diligence on the request before passing judgement and, well, it's not likely their top priority or they would've been asking you for the ideas. It's the request that slows things down, not the knowledge of the approach.

I've taken to using a variation of this phrase: "do whatever you want, but do it loudly." If you feel confident that you have a great idea and know how to complete it, go ahead, but first announce it to anyone who will listen. You want to avoid surprise and rumor. By keeping everyone abreast of your actions, you are giving them the knowledge they need to provide you with feedback and a mechanism to do it. I often provide a little space for feedback even, by saying "Unless I hear from you by the end of your day tomorrow, I'll be proceeding." I'm not asking you to vet the approach for me, but if you know I'm headed towards dragons, let me know.

Stay focused on growth

No matter what strategy you choose, as soon as you have the security to do so you should start thinking about your growth. "Where do you want to be in 5 years" is a great question, but sometimes it's impossibly difficult to answer. These strategies won't help you pick a direction, but they'll help you get the most out of wherever you are right now. If you find you can't use these strategies, either because you don't have enough support from your peers and management chain, or because the work model is so inherently broken, it's probably time to look for another opportunity when you are able. Along the way, be proud of your growth and what you've achieved, but don't give up on challenging yourself.


Best Work-From-Home Jobs to Apply to in 2021

10 Full-Time Roles You Can Do Remotely! [Updated Sept 2021]

[This article was updated September 20, 2021]

Work-from-home jobs sometimes get a bad reputation: low pay, repetitive work, micromanagement... the list goes on. But if one good thing has come out of 2020, it's that it's redefined working from home. Remote work has come a long way, and the opportunities to work from home in 2021 are more promising than ever before.


Why Representation Matters: A Conversation with Invesco’s Stephanie J. Larosiliere

Stephanie J. Larosiliere has a career she enjoys in an industry she didn't even know existed when she was a kid—and the resilience to stay in that industry, even when she looks around and doesn't see many people like her in her field.

She has her grandfather to thank for that.

Lockheed Martin

Transitioning from College to a Professional Career—Tips from Lockheed Martin’s Ashley Lovett

No two days look alike for Lockheed Martin's Diversity and Inclusion Analyst, Ashley Lovett. "I like variety," she says. " If I have the same routine every day, I can easily get bored."

Whether it be restructuring her work day or switching up her workout routine, Ashley always looks for a way to spice things up. "Maybe I'll go running with my dog or go to the gym and do yoga or spin classes," Ashley explains. "It just depends on the day."

American Express Company

Moving Up (And Around) the Career Ladder: Three Tips for Professional Growth from American Express’ Karina Alvarez Silverstein

Any seasoned professional can tell you that advancing in your career isn't only about moving up the ladder, it's also about moving around it. Karina Alvarez Silverstein, Engineering Vice President at American Express has done just that during her 12-year tenure with the payments company. "I love finding new challenges when I have an itch for something new," says Karina. Her career growth at American Express has allowed her to increase professional impact without having to switch companies.

We sat down with Karina to learn more about her career journey and glean some key lessons for steady career growth.

Moody's Corporation

More Responsible Capitalism? Insight on Building the Future of Finance with Moody’s Lisa Stanton

What does climate change have to do with investments? A lot, if you're Lisa Stanton.

As the Head of Global Sales and Client Service for Moody's ESG Solutions, Lisa spends much of her time working through her inbound inquiry list, talking to companies of all sizes and industries about the shift towards more responsible capitalism and how to understand the climate risks they face.

© Rebelmouse 2020