Dev Chats: Hannah Gray

 
Hannah Gray, not Batman (yet!)

Hannah Gray, not Batman (yet!)

 

Note from Sam: I tried to trim down Hannah's conversation but it was all just too valuable to remove any. Please enjoy this longer than usual read, I think it's worth your time :)

Introduce yourself! Who are you? Where do you work?

Howdy. I’m Hannah, and I’m a professional geek and sorry, I’m not Batman! I work at Xero as a “Technical Group Lead” - a fancy way of saying I’m now an ex-developer (no longer write code for a job) and instead manage other developers. I have a team of 40 engineers I’m responsible for - the teams, the processes, the ‘how’ and quality of work.

I had a pretty traditional pathway into tech (BSc in Computer Science, then a graduate programme as a software developer). Most of my career has been in the Microsoft .NET / SQL Server / web applications sphere, and I particularly enjoy the maintenance side of software development - resolving bugs, making things better for the customer - so a lot of my career has twisted through those areas. I eventually discovered the “other” side of software development - training, soft skills, people management etc - and I was hooked. While I still enjoy knowing about the high level architecture and getting into tech discussions, I love the kick I get out of empowering other people to become kickass at whatever it is they want to do and be. So that’s what I do now!

 

Who or what got you into programming?

I was pretty late to the game. Growing up I was into gaming and building computers, and didn’t write any code until University where I took a 100-level Computer Science paper as a filler. I went to University thinking I would study biogenetics or somesuch (looking back, of course it was the logic behind genetics that appealed to me - punnet squares were great fun!). Oh, I was definitely a computer nerd, but not a programmer: I still had a mental image of a programmer being stuck at a desk doing an intangible job 8 hours a day. So I took an “Introduction to Java” paper, and that was my first programming experience!

If I had to ascribe how I got there to any one person, I would say it would be my mother. While I didn’t code, she very much empowered me to be interested in computers. She could see computers were going to be part of the future, so she was determined I grew up around them. I always had a computer as a kid and it was simply part of my life - gaming, doing homework, research etc. In hindsight, it seems quite natural that I got into thinking about how they worked (hardware) as a hobby, and then programming later on.

 

So Xero has grown pretty quickly! What has that been like to watch? Any interesting challenges?

No kidding! When I started the company had just moved to being over two floors for the first time. There were ~100 people and the whole development team could fit in a meeting room! Our CEO would frequently roam the offices chatting to each developer. Xero’s been my first “growth” company and it’s a learning curve that I think anyone should go through: learning to recognise growing pains and understanding it takes time to solve them well. You learn to handle frequent change and keep your balance, which is no mean task (and that’s not unique to being in a company undergoing growth either!).

For me the interesting challenge is that you simply can’t foresee everything and a lot of the problems or growing pains I can’t solve myself or I’m reliant on others to solve. I found that quite hard! First and foremost I’ve learnt to fit my own oxygen mask before helping others - external change can upset your ‘normal’, so there’s been lots of understanding my own limitations and that it’s okay I’m not perfect.

Outside of me, I’ve learnt to focus on equipping people to deal with change: getting basics right like small teams that communicate well and respect each other, onboarding new people as best you can, ensuring people have work/life balance, managers that have the right tools to support people and flexibility to adjust as they go all mean the teams have the tools and support network to deal with the bigger ‘waves’ of change or disruption as the company goes through whatever it needs to. I think it’s also been important to create a culture of it being okay with experimenting and letting something fail.


I understand you do a fair bit of mentoring at Xero - what is your advice for mentors and mentees for a successful relationship?

I love mentoring, I suspect because when I discovered it I wished I had had it at the start of my career. The one downside is that mentoring is such a loaded term - almost everyone has different ideas of what it means, and it crosses over into coaching and teaching (I mean come on, the dictionary definition is “advise or train (someone, especially a younger colleague).”).

My advice is actually to keep things really simply with mentoring: 

  • Don’t focus on checking the boxes. There’s no recipe for what a mentorship should look like: it doesn’t have to be from someone experienced to someone more junior, nor does it have to be about practical/hands on skills. It doesn’t have to be formal, it can be the occasional coffee. Rather than trying to define it, instead make sure you spend some time figuring out what works best for you - that’s where part of the success comes from.
  • Be clear in your expectations (both ways). Mentoring is about gaining some form of knowledge or experience from a mentor. As a protege, spend 5 minutes actually defining what it is you want help with or want to gain from it. As a mentor, this is invaluable to help know where focus efforts and think about what could help. You don’t necessarily have to have a written down SMART goal, but certainly vocalising what you’re trying to achieve makes a big difference. A good mentor will also tell you what their expectations are as well.
  • Don’t be afraid to claim a mentor. Many people are hesitant to ask for mentoring or expect the mentor to lead it. Remember mentors are people too and will forget, be busy etc. If you want it, ask for it, book it. They will absolutely tell you if they are interested or not. Don’t wait for someone to tap you on the shoulder.
  • Openness and honesty is key. A good mentorship relationship provides a safe environment and allows either party to call out when things aren’t a good use of time or working as well as they could be. Do your part to help create that safe environment as well as be honest if something’s not quite right.
  • It’s okay if it doesn’t work out. Due to the above, it’s not failure if the mentorship relationship falls through. It may not be the right personality types, they may be too busy etc. Think on what you’d like to try differently and try again.

 

Xero (NZ) has a pretty nice graduate programme - what kind of impact does this have on the graduate’s careers compared to what smaller companies can offer?

Comparing is hard, because they both have pluses and minuses. I’m going to go neutral and say “it depends on the individual”. There’s no inherent type that is better - a bigger company will tend to have more financial resources available for training etc, more in-place support programs etc. Smaller companies will tend to give you an opportunity to try your hand at a lot of different things and with newer technologies.

I think regardless of the size of the company, going through a graduate programme at all is the part that has an impact on a graduate's career - any form of structure and targeted effort to support graduates (whether a startup or international conglomerate) will give graduates a much better start: getting mentorship and support, working in a ‘real’ team solving real problems, opportunities to train and upskill (formal or informal) are key ingredients. So I’d say look for companies that have some plan to help their grads, rather than the company size.

Does the well-recognised brand name help on the CV? Of course :)

I saw you at MS Ignite! How has public speaking helped your software career?

Thanks for coming! I’m always amazed people turn up!

Public speaking helped me in very strange and unexpected ways. Like many people, I spent the longest time thinking that the aim of public speaking was networking and “increasing your profile” - which for some people it is, and it certainly does have that effect. While a confident public speaker, I’m actually an introvert so networking and conferences etc is quite draining for me. As a result, I avoided it like the plague.

It was only in the last 5 years I started public speaking, and it was driven out of self interest - talking about things I cared about (technical and non-technical) and wanted to share / rope others into. It was such a different experience! Instead of “networking”, I met genuine people with common interests (like Sam!) and it’s felt unforced. The effect it’s had on my career is that I’m actually more comfortable in my own skin - for the longest time I thought my desire to avoid networking was unusual (imposter syndrome anyone?). In discovering how it can happen organically if I want it to I’ve learnt I’m not alone in feeling this way and I’m more content about who and what I am rather than comparing myself to other well known people who speak often (which is great for them, just not my cup of tea!).

 

What has been your toughest lesson to learn in your software career so far?

I struggled to choose between two very different lessons, so I’ve picked the one most related to career development. I spent the first 5 years of my career convinced I wasn’t “enough” - I wasn’t as interested in the latest and greatest technology as others, I didn’t want to network, I found myself repeatedly wanting to improve what was there, and deliver things well (i.e. communication, documentation etc) - rather than what (I felt) everyone else wanted to do: exploring new tech, do nothing but code all the time, work on new projects and learn-all-the-things.

About 9 years into my career, I finally clicked that a.) I wasn’t alone b.) a good team/company is made of a balance of all these things. You need the person interested in how the .NET compiler works sitting next to someone more interested in the big picture and long term outcome, sitting opposite someone who is thinking about maintenance, and quality etc - all of these people are software developers bringing a unique point of view. Insert the (true) cliche about a whole being greater than the sum of its parts.

It’s worth pointing out that I didn’t come to realisation by myself in some great epiphany, I was exposed to other people who believed and encouraged this.

 

What would be your number one piece of advice for a successful software career?

I’m going to deliberately avoid all the usual advice. There’s a reason that imposter syndrome is talked about so often: the impact that our self-worth, self-esteem, and confidence has on our career is … intangible. Ask any manager - the difficult problems aren’t technical. The number one thing I see holding people back is a lack of confidence in themselves, whether they are new to the industry or a 20 year veteran.

Don’t confuse confidence with arrogance - confidence is knowing what you can do, knowing what you can’t do and being comfortable with it. So the advice? We are not alone. It runs beneath the visible surface but everyone needs help sometimes. Make understanding and valuing yourself a priority, actively identity and counteract imposter syndrome and your career will follow naturally. If you don’t know how to do this, ask.

 

What books/resources would you recommend?

Trick question. I don’t learn by reading at all, so I struggle with books etc (same when people ask about blogs!). Find the way you learn, and adjust accordingly.

For reading, you can’t go wrong by picking someone who is “mainstream” in the technology field you’re in - for example Scott Hanselman is an excellent starting place in the .NET world, Troy Hunt for security etc. If it’s by watching, check out TED Code, Microsoft’s Channel9 or similar (if you’ve got the money, PluralSight is one of the better services out there). If it’s by interacting in person, go to meetup.com and find a user group in whatever subjects you find interesting and go along. If it’s by practicing, try out Codecademy, Khan Academy etc.

Continuing my theme of knowing yourself, I recommend that anyone (regardless of personality type) reads Quiet by Susan Cain or The Introvert Advantage by Marti Laney. It will help you understand either yourself or others.

 

Finally, make your shoutout! What would you like the readers to go have a look at?

If you’re looking to start your career as a graduate, you have to go check out www.summeroftech.co.nz (or local internship programme) - hands down the best opportunity and best at what they do: empowering tertiary students to be ready to take an internship and then putting them in touch with the widest possible range of awesome employers. Even if you just go to their seminars, these are the people to get involved with to help your career get started.


If you’re in your career already, or just generally want to listen to someone with really challenging ideas, check out Troy Hunt’s “How to Hack Your Career”. Regardless of whether everything applies, I think there’s something there for each person.