Every weekday I go into an office, write code, joke on slack with coworkers, and generally try to improve our code base, our workflows, and our communication with other teams. In the evenings, I go home, drink tea, and conduct job search activities with my elderly cat sprawled on my lap.
Looking for a job while you already have one can be difficult, but it is a great opportunity to think about what has and has not worked for you so far in your career. I am not scrambling to find a position and I won’t take just anything. I am taking the chance to define my next career step in such a way that I will be happier, better paid, and contribute in a more significant way to my employer.
I have thrown around so many ideas and thoughts through this process that I thought it would be fun to write a quick post of the career insights that I have had over the last few months. Enjoy!
Skills are Transferable
I have something of a strange work history. I am lucky in that it has all been technical, but it is a bit unique, so I am often asked about it.
A short-ish version of my career trajectory–my education is in civil/structural engineering. After grad school I worked for a structural engineering firm and got my license in civil engineering. I left my job for family/health reasons and worked as a tutor here and there until those issues were resolved. Upon re-entering the workforce, I decided to find a software job because I had loved the coding I did in college and I liked what I had heard from my friends who worked as developers. I took some training and landed a job as a dev. After a few years of this, I got into conference speaking and learned more about developer advocacy and similar jobs. I took as many opportunities as I could to gain some skills relevant to developer relations, and I am now pursuing that as my next career step.
The above might make your head spin a bit, but this career path really hasn’t been that bad. I managed these changes (and hope to manage the next step) by identifying my skills and letting people see how they transfer to the next job. For instance, when I was working in civil/structural engineering, I may not have been writing code, but I was thinking about edge cases, developing thoughts around testing, communicating technical ideas to non technical audiences, and more. All of these have proved relevant to my current job. When I was tutoring I was managing client relationships, working one on one with people to help solve their problems, explaining how things worked in an accessible and non condescending way. These skills have been important too and I expect that they will be even more so in developer relations.
I am planning to take some experiences and traits from long before I became interested in code into my next job. These traits include being comfortable in front of crowds (thanks musical theater!) and being able to present my case (thanks lawyer parents!).
Identify the things that you carry with you that will be valuable in your career. Ask trusted friends and family what traits you bring. You might be surprised at how relevant and useful those traits are, even if they are not strictly technical.
We are All Salespeople
So to be completely frank, part of me is deeply uncomfortable around salespeople. Buying a car is the worst. I bought my gym membership online instead of going into the gym and selecting a plan with one of their salespeople. I unfollow acquaintances who get roped into multi level marketing schemes because I do not want to buy their skincare products/protein shakes/candles.
But sales, when done well, is about empathy, listening, and persuasion. In you career all three of these skills are essential.
Empathy is important because it is necessary to understand the problem you are trying to solve. This is true whether the problem is how do we deliver x,y,z to our client or how do I land this job. If you don’t empathize, you will never actually understand the constraints of the design problem or what your potential employer needs from the open position and whether that position actually suits you.
Listening is key as well. I have participated in the interview process several times at my current job. Interviews include hard questions, and when someone sidesteps an issue, or answers a different question than the one I asked, I wonder if they are scared of the hard question or if they weren’t listening carefully. Neither quality is great. If you are not listening, you cannot address any concerns that are present, nor can you get to the heart of the issue and how you can help.
Persuasion is hard. It is far more nuanced than simply winning an argument. It is inviting someone to try your point of view and see if it improves things for them. To make that invitation, you need to have built some trust. To preserve the trust that you have built, you have to realize that the answer could be no.
While interviewing, I desire to empathize with my potential employer, to understand their needs and the challenges ahead of them. I want to listen to their questions and concerns, and address them as honestly and reasonably as I can. I want to help the employer get to know me a bit, so I can cast a vision of what I would be like in the role. Hopefully they can picture it too, and they can ask themselves if that vision is inline with what they want from their new hire. It is not easy to sell this idea, and the answer will be no most of the time. But I count it as a success (albeit a smaller one than actually landing the job) if I can get the employer to honestly and truly consider what I would be like in the position. Someone is going to buy this vision, I just hope to be able to present a full picture to as many potential employers as I can.
You Can’t Optimize Everything
YOU CAN’T OPTIMIZE EVERYTHING. There are a lot of factors that go into your job. Where is it? What sort of hours are expected? What is the pay? What are the advancement opportunities? Is there/how much travel is involved? What are you spending your time doing?
In my first career, I worked in structural engineering. I am still a licensed civil engineer. There was an inherent trade off that I had to balance when selecting structural members. As the strength of the beam increased, so did the weight. At some point, a stronger beam isn’t actually stronger because the added weight offsets any strength increase. The ideal beam balances these concerns for the given application. You cannot optimize for both strength and weight.
The same is true for your career. You can’t optimize for everything. Where are you willing to compromise and where are you not? I recently had a promising interview. When I had applied for the position, it was listed as remote (and indeed, most of their devrel team is remote). The position was a great fit for me in several ways–what I would be doing day to day, I liked their product, etc, etc. The hiring manager eventually decided that the role really had to be in SF, otherwise performance would likely be compromised, so we didn’t continue the interview process. This was sad to me because I really liked the role and had been getting positive feedback. But no SF is currently one of my non-negotiables. So we hit an impasse and that was okay.
Currently I am most interested in what I am doing day to day (developer advocacy or similar, not a strictly software job), where I am doing it (basically anywhere but the bay area, but the PNW preferred), and what my employer is like. I have expectations around some of the remaining things (like a salary floor I won’t go under) but I know what I am willing to talk further about and what I am not.
These may change a bit as my job search progresses and I think it is important to re-evaluate every once in a while. Don’t let the perfect be the enemy of the good.
Pay, vacation, hours etc. It is much, much easier to ask for things before you sign compared to after they have you. Your largest pay increases are likely (though not definitely) to happen upon switching jobs. I was fairly happy with how I negotiated before my current job, but that was way easier and more productive than any negotiations I have had since then, so do what you can once you have that offer.
Let Someone Else Tell You No
One of my favorite things in the whole world is running. I also happen to not be very good at it. I am not fast by any means but I really enjoy running and extra enjoy running very long distances.
A few years back, I ran my first marathon (26.2 miles). I was in the back of the pack (it is more economically efficient, if you run slow you can enjoy the marathon for more time). The race directors want to see everyone finish, but they also are obligated to reopen the roads and they want everyone to be safe.
Right around mile 23 there were whispers amongst my fellow turtles that they were going to start sweeping (pulling people from the course). It was pretty disheartening to hear and some people were struggling to continue. I decided that I would not take myself off the course. I would comply with a race official who told me that he was sweeping me, but I was not going to sweep myself. So I kept going and damn it, I finished the marathon! I also ran the entire final mile grinning ear to ear.
If there is something you want, be it a job or becoming a marathoner, just don’t count yourself out. Accept being swept graciously if it happens. Thank the interviewer for their time and for their consideration even when the answer is no. But don’t pull yourself from the course when it is something you really want. Toe the start line of the race. Submit your resume even though you might not fit every criterion listed. Let someone else tell you no because they just might say yes instead. And then you are given a medal, a banana, and some gatorade or a kickass new job. Whichever.