Things have been quiet here at casa de Lindsey which is good for me, but probably not as exciting for the people who (maybe, sometimes?) read this thing. Since April I’ve been relearning why I love being a software engineer in a supportive and awesome culture at Scripted. It’s a small tight-knit team and I was a little worried about coming in as a newbie to a solid team but they’re amazingly lovely people and I love learning with them and from them. Front-end only land has been so busy I still haven’t had time to really even touch my first love of backend APIs (which would require me to learn Rails to do it justice at Scripted) but I haven’t really mourned that loss. Instead as one half of a front-end team of two I’m running around like crazy helping our backend/full-stack team be better front-end engineers, sitting down with our designer to craft better UX and handholding our marketing team through WordPress template changes when the starts align correctly.
Which brings me to my continued sermon on mentoring/pair programming and how much I luuuuuurve it. I keep reiterating it, but I’ll continue to reiterate. I love mentoring other engineers, I love pairing with people. It can be super awkward at first, because even if you’re the one who is supposed to be mentoring you won’t have all the answers. But that’s not the point! The point is for you to foster learning, for you as well as the other person. Software engineering is not a perfect set of knowledge that you can learn once and then just churn out the same thing over and over, but it’s also not always about going down the rabbit hole of discovery (especially if you have to earn a living writing code for a living). Mentoring and pairing almost feels like cheating to me, because I don’t have to solve all the problems myself. I might not even have to come up with the original idea for something, just help refine it and still get to take partial (but deserved) credit in the end.
Also there are so many better resources than my stream of consciousness musing on pair programming (and a MAJOR SHOUTOUT to a study on the benefits of pair programming for women – hint: it benefits everyone). Please check them out, give it a shot if you can. It is really, really hard at first and it’s definitely not for everyone but for me and most of my pairs it just takes so much stress of the engineering cycle.
My other hope in this transition is to get back into mentoring more. Working in Mountain View and attempting to mentor in SF was super draining on me, but now that I’ll be working in SF, I want to pour more of my free time back into mentoring and helping others join this awesome ride that is the tech industry. So I’ll be spending some time to think about how to approach that aspect.
Lately I’ve been interacting more and more with people trying to break into the tech industry. It’s something I’m keenly aware of as a recent wall breaker myself and my general desire to mentor and champion other people to do what they want.
I recently had the privilege with my co-host and awesome, awesome person Jennie to lead a talk for Udacity Nanodegree students on how to get into the industry and how to make connections/get a job/etc.
I wish I could link you all to it, but it’s behind a paywall currently. Lies! Youtube video:
The talk itself was pretty standard:
- Network, network, network.
- Recruiters can be your friend/spy.
- People are generally nice, especially when you don’t spam them and actually ask them things that are relevant to them.
But between that and a lot of the recent articles on tech interviewing/culture (which I’m not going to give my opinion on in this post as it’s nuanced and hard, but spoiler: pair programming interviews are the bomb) I’m a little dissatisfied that I didn’t mention my number one rule for finding a job:
CULTURE IS THE MOST IMPORTANT FACTOR
I’m not going to pass judgement on different cultures as people are, shockingly, different. Just know that if you have the luxury, which thankfully is often the case in tech, please, please don’t choose a job just for prestige or some weird convoluted inner turmoil. Make sure your coworkers are rad. You will need them, a lot. Many of my best friends now are former/current coworkers. We have nerdy parties, we play video games, we send each other stupid cat gifs (okay, that’s just me sending them out to everyone else, but they appreciate them damn it!), but more importantly they have my back. They can help me troubleshoot stupid mistakes or understand my inner rage at a feature or just geek out with me over the hot new programming hotness.
I think a person I follow on Twitter put it best when he said:
As my abilities grow at Udacity, so to do my responsibilities. I give code reviews, I help mentor some of our junior engineers, and I lead my small internal team as a sometimes engineer/sometimes PM. But probably the scariest monster I have had to face was the idea of interviewing others. Even with all of the awesome things I know in my brain I’m doing here, my jerkbrain asks me how am I supposed to interview other people when I’m not even sure I could get through this on the interviewee side of the table?
Like many people, I’m not so good at taking my own advice, but maybe, just maybe my advice can help someone else, on either side of the table.
- Listen to the manatee. You are smart and pretty. Say it, say it again, say it while power posing. The stupid phrase “fake it until you make it”, unfortunately it’s right.
- You’re just as afraid of it as it is of you. (caveat: unless “it” is an asshole, but you don’t want to work for/with assholes, amiright?) On either side of the table you care about what the other person thinks of you and not sounding dumb (the only upside to being on the interviewer side is that you’re not usually going it alone, there are other people interviewing as well).
- They just want to be loved. Generally the number one thing I’m looking for in either case is whether or not I think I could work with this person. Honestly, even if you’re giving me a tech answer and it’s not right but I can see where you’re going and you’re been an awesome person to talk to and work with the problem on, I’m going to leave that room feeling pretty favorable about you. On the interviewer side, I really want you to like me and be comfortable and do well, it feels like a failing on my side if I haven’t helped you with that (recheck my caveat about working with assholes if you’re not feeling it).
- It’s not you, it’s me. We all have off days and, maybe unfortunately, we’re all human. If you completely fumble or you don’t understand why we could have passed on you. It might be us. We know our team, we know our product and maybe we know that you wouldn’t be happy here or don’t think we’d all have an awesome time working together. For interviewees, off days happen, interviews might tank. Reflect, move on, it sucks but it’s not the end of the world. Even if that was your dream company of rainbows and ponies, they probably weren’t. There are probably lots of other companies doing equally cool things that would be thrilled to have you.