[go: nahoru, domu]

BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Presentations Risk and Failure on the Path to Staff Engineer

Risk and Failure on the Path to Staff Engineer

Bookmarks
46:41

Summary

Caleb Hyde discusses their career progression and regressions, as well the context they used to figure out what to work on and whom to work with, distilling a framework to utilize in one’s own work.

Bio

Caleb Hyde is a Systems Engineer by education, software developer by vocation, and hobby roboticist. Their work focuses on Site Reliability and Data Engineering.

About the conference

Software is changing the world. QCon empowers software development by facilitating the spread of knowledge and innovation in the developer community. A practitioner-driven conference, QCon is designed for technical team leads, architects, engineering directors, and project managers who influence innovation in their teams.

Transcript

Hyde: In grade school, I was given an assignment to write a talk. We all came in the next day, and I was waiting for my turn. Someone before me talked about jumping up on a chair and trying to jump off and getting a fear of heights with a chair, which seemed silly. Indeed, it was a humorous talk. Then someone else went next, and it was a very light-hearted thing. I had this very consequential thing that I had prepared. I don't remember what it was at the time. I froze. The teacher pulled me out into the hallway and said, what do you mean, you don't have the talk? You haven't done the assignment? They have no way to know that, in fact, I did. I had written it, and I wasn't ready to share it. I took the L, and to this day, didn't pass, didn't get that assignment in sixth grade or whatever. At any rate, I'm going to try again today. I was pretty miserable in grade school. That might be unusual. Maybe no one else has hated middle school, but I didn't. My sister at the time talked to me about educational theory. She had read Piaget and various things, and she had this idea that I should homeschool. I went to my father and I said, I want to homeschool. My father said, that's a terrible idea. This is not my father. This is Jean Piaget, from the Wikipedia article, who is known for educational theory or behavioral development in children. The image prior was from the logo, programming language, which I had learned around the same time and had an Apple IIe, and taught myself Logo and BASIC and that sort of thing. My sister was my first mentor, and I would not be where I am today if it weren't for her, as well as my brother. All of my family have been incredibly influential. You don't always get to choose that. You don't necessarily have an older sister, and you don't necessarily know to go out and find mentors. It doesn't necessarily take a ton of effort, but the reward is huge.

Context Setting

This is a talk about risk and failure on the path to staff engineer. I want to share my progression and the things that I've tried, many of them which were not successful, and frame how that turned out and how I conceptualize that, how I think about it. If you leave this talk with nothing else, I want it to be this one slide. I want us to develop a framework to recognize risk and failure, and see that in others, and anticipate when there are other folks who are about to make mistakes. We should have a framework to mentor them out of that and bring them back from the edge. Part of that, I think, is by sharing stories such as I'm going to do here, and make it ok.

Do the Work

When I'm not working, I sometimes make robots. They're often terrible, horrible things that work poorly and are wildly inefficient. It's something I like to do and it's a little bit of my non-professional work, although, maybe there's overlap as well. It keeps me off the streets. This was me a little while back. My sister and my father and I, we made a compromise. I didn't go to homeschool, whatever that would be, and I didn't stay into public school. I had already been studying classical music, and so I entered the North Carolina School of the Arts, which is a school with five schools inside of a university, in a sense: dance, design and production, visual arts, music, and drama. Despite what conceptions you may have about music school, or band camp, or something of the sort, it is an immense amount of work. I entered high school for performing arts and got down to the task of doing that work. I had already been taking private lessons, but I took courses in music theory, composition, master classes, performing, and that sort of thing. I also realized that there are a lot of people there who had an immense amount of talent and an incredible drive, and had been studying and training since literally they were infants, to do this work. I took myself to New York City and the culmination of my career in performing arts was that I auditioned at the Juilliard School. There is nothing quite like walking through those doors. It's a career defining moment to hear the person before you audition at Juilliard. I realized that I didn't have the chops for that. There were a lot of people that had been preparing for a very long time. It's a very cutthroat industry, or there just aren't a lot of paying gigs. Tanya Reilly talks about the foundation of staff engineers is the technical chops, and there is no substitute. You have to put that work in. You have to learn your domain. It's required. There's high effort. It takes an immense amount of work. It pays off, because, if nothing else, it forms the foundation for future work, doing staff work, and that sort of thing.

Encouragement Matters (Nominal Value, Low Effort)

Has there been someone in your life who was a mentor and who has led you forward on your career? Offer it to other people. I graduated high school and I left performing arts, and didn't know what I was going to do. I lived in Jamaica Plain in South Boston. I worked as a baker at a coffee shop called the Coffee Cantata, that is not the Coffee Cantata, but that is the one which allegedly Bach composed the work at, or performed at. The owner of that coffee shop where I worked, was also a musician, a classical pianist. One day, I was walking through the Arnold Arboretum which was in that area. The Arnold Arboretum is actually a research garden, as part of Harvard University. It's a very beautiful space. I was walking there and a friend of mine at the time showed me this martial art that she had been training, capoeira, and I knew right then and there that that's something I wanted to do. I began studying actually under a student of the man here in the middle, but that at that point in my life, I was making up my way and I wasn't in college. This was an important piece of that progression, and learning, showing up and taking those classes. Then, two or three years into that, some other folks came to me, some friends of mine, people I trusted, and they said to me, "You need to go to college. This is the moment. If you don't do it, you're going to forget how." I listened to them, and I applied. I think they probably sent some emails as well. I got into college. Again, encouraging people when they're stumbling or they don't know what they're going to do is really useful, really important. It's also not something you can necessarily choose. Some folks don't have mentors, and they don't have sisters and older siblings. Again, I don't know that it takes effort other than maybe be in the right place at the right time, which if you're a wandering non-college student you may not know to do. It matters.

College, and Graduation

I got into college. I went to Oberlin College in Ohio, south of Cleveland, tiny little town, tiny little university or college. I decided to study engineering, which totally makes sense because Oberlin is a little liberal arts college, and doesn't have an engineering program. I started taking the prereqs and doing the chemistry 101, and whatnot. Also, Oberlin has a beautiful library. It has a lot of cool seating. It's a really nice space. This is a place where I actually spent a fair amount of time studying physics 101 and whatnot. College was the best seven years of my life. I did a five-year degree program. I went to Oberlin and transferred to the Washington University School of Engineering. I took some time off and graduated late, which is a whole separate story about not being in your graduating class and being older than people expect you to be when you're a new college grad. I did the work. I took a whole bunch of engineering courseload, linear systems, and numerical methods, and controls theory, and whatnot. I graduated with a Bachelor of Science in Engineering in the exceedingly well-known field of system science mathematics. Which if you say you have an ME degree or you have an EE degree, people know what that means. If you say you have an SSM degree, or a systems engineering degree, you find job postings for network system administrator.

Networks Matter (Moderate Effort, High Value)

I graduated with a Bachelor of Science in Engineering, and then nothing happened. I was sitting at home in my childhood bedroom. I was applying call to jobs on monster.com. I had $200 in my bank account. It was 6, 9 months after graduation, and I was broke. I had nothing except an engineering degree. I did what we all know to do now because we're all fairly far along. At this point, I sent some emails, and I emailed my advisor from college. I emailed some classmates from my graduating class, from my degree program. Sure enough, someone connected me with a hiring manager and I interviewed and I got the job. Networking, probably most folks by now know that. If you take it for granted and you say, why is Caleb talking about this? There is someone out there who doesn't know that and hasn't heard that, and they need to. Encouragement matters, networking is exceedingly useful. It's also not that hard to do. It's a lot more enjoyable than just applying to your 200th job on monster.com, and not getting any responses. I don't think it's worse than the alternatives in terms of effort, but it's how everything happens. Not everyone knows that. You have to learn it. It's a skill set. A lot of these things are skill sets.

A Turning Point

Second question, has there been a point when you were about to go off and join the circus or something, and someone pulled you back and said, stay on track? Maybe they're like, you want to join the circus, great, do it. Has there been a point where you reach the terminal point or decision point early in your career? Not so many people. I was wondering about this. I didn't know what to expect. I think I learned later in my career that this is not true of a lot of people. You have classical musicians for parents, and they get you on that path early on. Or you go to the best schools and you take internships and you graduate and all that, and that's great. There's a lot of people out there for who that's not the case, so non-traditional paths and non-traditional careers is just the natural way of being in the world. I do think it's easy to take it for granted that you go to a good high school and you do internships in college and you go to a good college, and then you graduate and get the degree and all that. It's not true for a lot of people.

I got a job at Sprint, the telecommunications company. Sprint is based in Overland Park, Kansas in the Midwest. I got down to work. I hadn't done internships. I hadn't done the traditional professional life, and I didn't know how to do it. I got down to work of like, learning the job of showing up and not falling asleep in meetings when it's alphabet soup. The conversations are just like, good gravy, telecommunications has so many acronyms. Literally, people just talk 45 minutes in acronyms, and none of it makes sense. You learn how to show up and be there and be present. Apparently, that involves a lot of khakis, and blue jeans, and shades of blue. It became this whole theme. We were like taking these photos because we're like, "You wore blue today? Me too."

Networks are Sticky

I was at Sprint for many years. Telecommunications is a deep engineering field. There's a lot of really interesting engineering, goes into how call setup happens in sub-second latency, and how power propagation works. There's a lot of complexity and nuance to it. It was interesting for several years. Then I realized that all I knew was telecom. I knew people at Qualcomm. If I wanted to go work at Motorola or whatnot, I could probably do that. Or at least I could email someone or make a phone call. It's this insular thing. They're sticky. Networks are sticky. I didn't necessarily want to stay in Telecom. I didn't want to stay in the Midwest. I didn't necessarily want to wear khakis and blue all my life. It took me a little while to figure out how to extend my network and how to bridge outward. We took some more photos, and we got together. This crew actually was my innovation lab for a few years. We got together and we'd meet once a week in a supply closet where we kept telecommunications hardware and whatnot, and we would whiteboard ideas and work on patent disclosures. We challenged each other. I put this idea up on the board that we could radiate power from a cell tower to a cell phone, and Andy on the right there said that's a silly idea, that's never going to work. We were this innovation crew, ad hoc group of folks at the time. It was around the time that "The 4-Hour Workweek" came out. Then later I stumbled upon Seth Godin's work and the idea of how to develop a skill set that's unique no matter where you are, whatever company you're at, or whatever field you work, and how do you make your skill set useful. We disclosed a patent disclosure. We disclosed a whole bunch of patents and kept a spreadsheet. We had about a 1 in 3 success rate. From a very small window of my career, I actually have a whole bunch of patents to my name. The point is, it was successful. Our goofy little ragtag crew that was meeting in a supply closet, was making headway and learning some interesting stuff.

Exit Strategy

I started formulating this idea that I needed to branch out. I needed to learn a new skill set and develop a broader network. I began to teach myself software development. I picked up Python. I went to the Python Kansas City meetup for many years. I was co-organizer for many years. I taught myself software development, version control theory, data structures and algorithms, social coding. I did the work again. I then participated in Devopsdays Kansas City. I helped co-organize it one year. I spoke at it the following year. At that point, I had developed a network outside of telecommunications and outside of the Midwest. It worked. I got out. There's no substitute. I taught myself a new field, software development, and it was nights and weekends. I don't want to do it again. If someone asks me like, what did you do? I did the work. There's no substitute.

Choose Your Maximizer

I was also at the time reading Bogle and the idea that I wanted to develop an emergency fund, a savings fund. I became an inherent of buy and hold. Despite the synopsis of the talk, I don't bet. I don't really know anything about betting, in the sense of like Vegas, or off-track, or whatever. That's a strategy, and buy and hold is a strategy. I developed a savings fund, and developed a network outside of Sprint, and outside of telecommunications. I graduated college late, and spent many years at Sprint. Some of them I felt like I wasn't getting anywhere. I decided to optimize for compensation. I decided to be a jerk, to be a capitalist, to make money, and build up a safety net fund. It worked. This is, in fact, my year-over-year compensation for the period of time when I was focused on this, and it worked. I wasn't living paycheck to paycheck. I was able to take more risks, and take longer with my job search and that sort of thing.

I can't say that this is the ordering of things that someone else should choose. Because, being a jerk, being a capitalist means you're a jerk. It means you're missing out on other opportunities or other companies' generative cultures. It's useful, because now I have freedom. I don't have to worry so much about simple things like how much a coffee costs. A lot of people do. I don't have to worry about saving face. I don't have to wear khakis. That worked. I reached a point where I was comfortable with that, and so I changed my maximizer function, at that point. I wanted to focus on finding fit. I wanted to optimize for fit. Also, all of these different things are skill sets. We talked earlier in the staff panel about what is the skill set that you might have as a staff engineer that you don't as a senior engineer, and project management is one of them. How to interview, how to negotiate salaries, how to change jobs, maybe change back, leave a company, and come back and make more money. These are skills and this is a skill set, and you can develop it. You can share that skill set with others. Really, to this day, one of the most consequential outcomes for me in my career was that I had a friend who was interviewing and she came to me and said, they're making me an offer, but it's so much. I said, you need to make twice that much, you should go back to them and tell them that. It was several conversations over a couple of days or a week or something, but it worked and she doubled her salary. To this day, I find that I was able to share a technical skill set which I had developed for myself with someone else, and help them.

I was also not that happy at the time. I took this photo, in fact, to mark the point in time because I had gone through a couple of companies in fairly short timeframes, and they were not always the most generative cultures. I was responsible for some of that, for some of that toxicity. I wasn't happy about that. I entered this company, Foghorn, as the 11th full-time hire. I had this vanity English license plate as a result of being an early hire at this consultancy. They were based in the Bay Area. They've since been acquired. I worked at Foghorn for many years. It's a consultancy in cloud infrastructure. We are a client service delivery firm. We delivered projects to engineering customers of ours, and I worked on large scale engineering cloud infrastructure projects in AWS and GCP. I built up the GCP Premier Partnership status myself. I learned project management. I learned how to manage a team of engineers and deliver work to a client, which is also a team of engineers. I got to see their code bases. I got to see how they do CI/CD, all of these different companies, large biotech companies in the South Bay. You can probably think of their names. Smaller companies, which you will probably have never heard of, because they were tiny. I developed that skill set. I was a senior engineer when I entered Foghorn, and learned these non-traditional engineering skills like project management as well as like how to organize teams and put up with people who are really good engineers, but don't show up for work.

Be Your Own Advocate - High Effort, High Value (Moderate Opportunity Cost)

We got to this point where my boss, the director of service delivery was basically going to level up, and we were interviewing externally for his backfill for a director of service delivery. Just as a point of clarification, in client services, director is an engineering management title. It's a line engineering title. It does not mean Director of Engineering in the more traditional sense. I was a senior engineer, and we were scheduled to interview someone here, actually. I think I was going to talk to them remotely, but they were scheduled to show up. Then they didn't show up for the interview, which baffled my boss at the time. I said, "Why don't you give me a chance? I don't necessarily plan to go into management but it would make sense for me as a logical next step in my career path. It's a skill set you need. You're struggling to fill that role." He went back to the leadership team and they came back and they said, yes. I got the role of director of service delivery for a period of time. I wasn't there for too long after that, but in a fairly short period of time, I got exposure to managing people, hiring and firing, how to have conversations with a direct report who is a higher skill level than yourself. Also, conversations with engineers who are belligerent. All the while also delivering the client work, the project work, and the engineering work. A new skill set and a new exposure.

I decided that I didn't want to stay in engineering and management. I actually came to appreciate that it is a distinct skill set. It is something you can learn and practice. I have a lot of respect for managers and engineering managers because of that. I wanted to stay on the technical side, and so I decided not to continue doing that. I left Foghorn. I also wanted to get out of consulting. In consulting, you have to establish your technical expertise quickly at first glance. You also don't have long term ownership. You advise companies and you help them deliver their work, but ultimately, they decide and they own the work, and so I wanted to get back into product engineering. I left Foghorn. I was continuing to train capoeira. Capoeira gave me a voice. It gave me the ability to feel comfortable in front of people and in crowds, and to be assertive, even if you're not sure, even if you're not confident, to still be assertive. It also appeals to me. It keeps me active. I don't get bored like I do when I go running or something of the sort.

I said to my boss, give me a shot. If I hadn't said that, they would have just kept interviewing externally, and trying to hire. I also learned through other means, through my martial arts, to be confident, and to speak loudly or clearly. This also takes a lot of work. There's also no substitute. Again, if you don't, at least ask. If you don't propose that you take on a new role or a new responsibility in your current role, you're less likely to get it. Higher reward. The opportunity cost is that you're still optimizing for yourself, not for the business. You might not be focused on what's most meaningful for the business, which, ultimately, is why we're here, why businesses exist.

Optimize for Fit (Moderate Effort, High Value)

I kept training. I learned to do new things. Then I got out of Foghorn. I left the consultancy and I got another job. I started to, again, change my maximizer, earlier from optimizing for comp and from optimizing for position or title, and now looking at, which company is the best, finding the right company or the company that I want to work for. One that isn't too toxic, or too boring, or whatnot. The next step for me was this progression to finding new roles. The culmination of my social media career and why I don't really promote it is this tweet which got zero replies, zero likes, anything at all. I still to this day think about it, because it's so true. If you're going to take risks, you have to expect some of them to fail, and you have to be willing to admit that you failed. You have to be ok with that, and figure out how to do that. You have to develop a skill set. This is the next few steps. I was at Foghorn as senior, and I moved to the director of service delivery, an engineering manager role that also had duties of client consulting or project delivery. Then I left Foghorn and got an IC title as senior engineer. Now, here's the thing is that moving from senior to engineering management could be considered a lateral move, or maybe not lateral, but in a sense, like a negotiation because I didn't have management experience. They were taking a chance and I was taking an opportunity to gain more experience as a director. When I decided to leave consulting, I wanted to go be an IC again, an engineer again. I took a title as a senior engineer. If you were scanning my resume, you could be forgiven for thinking that I took a demotion, or a step down. As I see it, it was two lateral movements, but it requires explanation, and that doesn't come off in the wink of an eye or if you're scanning resumes. Narratives are important and being able to provide context, communicate that context is important.

Then I took another role. I left the company after a fairly short period of time and took a role as a staff engineer. That is clearly a promotion. It was a pay bump. I did move up in IC levels from senior to staff, and yet, it was a short tenure. That senior role was a short tenure. If you're scanning a resume, you might think that was a failure. I have gotten questions about that as I interview, is, why were you only there for so long? The point here is like, if I tell you I moved from senior to staff, it seems like a clear win, but there's nuance, and that gets sussed out when you're interviewing and whatnot. Then I failed to execute as staff engineer, and I was laid off. I was unemployed for three months, and I collected unemployment for the first time in my life. There is a stigma around unemployment, being unemployed, but companies pay out of your salary. They pay taxes into unemployment funds, so you should be ok taking that if you need to. I did fail as staff. I could caveat it. I could tell you like, it was not a generative culture, or they were not working on interesting stuff. That doesn't matter, because I'm not there to influence the decisions. In any sense, I wasn't successful delivering or executing on a vision because I'm not there anymore.

Culture is Your First Priority (Enormous Effort, High Value)

That period of time, at the consultancy, and then afterwards, me consulting, is like language immersion. I learned so much about engineering orgs, and code bases, and all of that, and project management. It's not low margins, but you have to control cost carefully. You have to talk about utilization rates and say, we expect engineers to spend 83% of their week working on billable work. You have those kinds of conversations. It's pretty demanding. It can be pretty exhausting. I would joke with my manager that I was going to study for the PMP exam in the 50-to-60-hour block of my week, because there's always more to do. The consulting was exhausting. Then the work after that was successful in some sense, and not always successful, and not always enjoyable. I've, again, changed my focus, my maximizer function, and now I consider that culture is king. It's all social coding. A few years ago, GitHub had that as their tagline. It's all about optimizing for the business and optimizing for what the business needs, and figuring out how to make that happen. There's no shortcuts. There's no substitute. It requires having a lot of direct, difficult conversations. Being willing to say when you're wrong, but also not tell someone else too bluntly that they're wrong. That's my work now. That's where I'm going next.

Summary

If you had $200 in your bank account, and you went to Vegas, would you play it all on slots, or play it all at once on roulette? I don't know. I can't even ask this question because I don't bet. Inaction is a form of risk. You have to decide what to do in any case. There's different strategies for investing, and there's different strategies for maximizing your compensation. I think I've spoken to all of these and spoken about each one. This is the idea. This is the framework of like, where on the quadrant of effort and risk and reward, do each of these things fall? Like I said, I started optimizing for compensation first, and then later for fit. In hindsight, that might not have been a great idea, but it did give me latitude and leeway. Again, if all that I've said today is obvious to you, and you're like, why again, is Caleb talking about this? It's because there are other people earlier in their career who haven't heard it and they need to. We have to share our stories and be vulnerable in order for them to know that you're authentic, and to know that you mean what you say, and that you have the bona fide or whatever to advise them. My name is Caleb Hyde. This has been a talk about risk and failure.

Questions and Answers

Participant 1: You started off by saying you need to optimize for compensation because that was needed since then. Then, later on in your presentation, you talked about optimizing for fit and then culture. With your experience now, would you say that you would recommend young engineers like don't get attracted by optimizing for compensation, or do you still think that that was the right thing to do at the time.

Hyde: I don't know. I can say with assurance that working intentionally to maximize my pay, and also along with that, like you're standing in an organization in your respect, like you have a seat at the table, that was successful and useful. To answer the question without answering what you're asking is, why don't you just do all of that at once? Why don't you timeshare your development effort between comp, and fit, and behavior, and whatnot? Sure, if you have the discipline for that, and if you know to do it. If you're early career, you don't have a skill set. All of these things are obvious in hindsight, because we learned the hard way and learned by doing them or because someone told us. Early on you don't know what cloud infrastructure is. You don't know what project management is. You don't know how to tell someone they're wrong politely, and all of that. I don't have an opinion. I can't say that it was better or worse. You have to choose where to spend your time, and sometimes the only thing to work on is the thing in your view.

Participant 2: Someone once said to me, basically, work with people who want to work with you, people who are working against you, don't waste your time, don't care. Under the general umbrella of choosing your bets, kind of thing. Curious if you have anything else to talk on that, in your opinion.

Hyde: Someone I worked with early in my career would always say, choose who you work for, who you work with, and what you do. I still quote them because that's great advice. It's concise. It's pithy. It's useful. It's true. I would also never work with that person again. You learn from everyone you work with, for better or worse. There are no absolutes. It all depends.

Participant 3: You mentioned that you were working in software engineering, and then you said that you think that you failed. Do you mind sharing your thoughts on maybe how you failed?

Hyde: I think, more or less, what I was doing fits a pattern that's pretty common, which is, I was steadfast in my technology decisions. I'm like, we need to do this. What we're doing is a terrible idea, and whatnot. There was also an element of, they were asking me to do something that I had actually done several times before, a large scale Terraform migration and modernization effort, and I had opinions about that. Like, I've done that, and I found it a little boring. I also had a fairly clear idea about how to get it done from an execution perspective, like from a technical perspective of like, here's how you implement a Strangler Fig pattern, and bite the elephant one bite at a time. Again, my delivery was terrible. Even though I have in fact done large scale Terraform modernizations and written software systems to migrate Terraform, none of that mattered because they weren't working with me and listening to my advice, and ultimately, I was laid off.

 

See more presentations with transcripts

 

Recorded at:

Jul 10, 2024

BT