codepancake

your daily code for breakfast

Spotlight 22: Nell Shamrell-Harrington

It’s already time for Spotlight number 22! Wow, and again, I’m sharing a great story with you. Thank you Nell for your honest and fantastic advice! Enjoy reading this great interview!

About Nell
Nell Shamrell-Harrington is a Software Development Engineer at CHEF, focusing on the Supermarket open source product. She also sits on the advisory board for the University of Washington Certificate in Ruby Programming. She specializes in Chef, Ruby, Rails, Regular Expressions, and Test Driven Development and has traveled the country speaking on these topics. Prior to entering the world of software development, she studied and worked in the field of Theatre. The world of Theatre prepared her well for the dynamic world of creating software applications. In both, she strives to create a cohesive and extraordinary experience. In her free time she enjoys practicing the martial art Naginata.

Name: Nell Shamrell-Harrington
Job: Community Software Engineer at Chef
Favorite website, app or gadget: Alfred (http://www.alfredapp.com/) is by far my favorite app to use on my mac. Extremely powerful and useful, I use it at least once an hour when I’m working (often more!).
Twitter: nellshamrell
Site: www.nellshamrell.com

What inspired you to pursue a career in IT?
I was very fortunate to have access to a computer growing up (it was a Kaypro II). I’ve always found technology deeply interesting and was fascinated at learning how it worked. A big part of my interest and comfort with technology likely came when my father purchased me an electronics set which came with a PC program. I learned about transistors, LEDs, antennas and, most importantly, the joy of assembling and modifying a set of parts and creating something extraordinary. Years later when I built a PC for the first time I experienced the same feeling, and that feeling comes back nearly every day as I create things with code.

What does your working day look like?
As a Community Software Engineer at Chef, a big part of my job (along with coding) is open source governance on the Supermarket open source product (https://github.com/chef/supermarket). It’s a very challenging blend of balancing my own coding of bug fixes and new features and reviewing, guiding, and evaluating contributions by others. All of this must also serve the greater direction and vision of the project (which not everyone always agrees with). Another part of the job is helping manage and settle disagreements among members of the community, it is definitely not easy. It is, however, immensely rewarding.

I don’t find good technical skills and good communications skills to be mutually exclusive…in fact, I find that each one is vital to the other in the career of a Software Developer.

What is the coolest project you have worked on and why?
My favorite project I currently work on is Operation Code (http://operationcode.org/) – a non-profit dedicated to teaching coding skills to veterans transitioning from the military to civilian life. Both my parents were 20 year Air Force veterans and both service to country and service to those who serve has been a guiding force in my life since I can remember. Veterans (and the families of veterans) make immense sacrifices to serve their country and I am both honored and delighted to have a chance to give back to them by assisting with the Operation Code website and providing mentorship to veterans.

Do you have a hero, or someone who inspires you?
My mother.

Through her life during and after military service, through being a loving mother and raising children, through providing library service and inspiration to high school students, she has shown me what courage means. True courage is not the absence of emotion. True courage is, in the midst of a chaotic symphony of trying to fulfill the needs of mission and family, of needing to play vastly different roles all at the same time, summoning the will to do the next right thing.

Doing the next right thing is the definition of service. A life of service – to family, to country, to humanity – is the highest calling. Service is not limited to just the military – it permeates every aspect of life our lives from our careers to our loved ones to ourselves. Service means we make life better for those around us, it means we break through barriers and shatter glass ceilings to improve the world not only for ourselves but for all to follow.These lessons of service and courage from my mother have carried me from childhood to adulthood, through career changes, and shattering glass barriers myself.

Why do you love working in  IT/Tech?
It constantly changes and there is always more to learn! I love constantly learning new technologies and deepening my understanding of more established technologies. My mind is constantly hungry for knowledge and working in IT/Tech feeds this hunger better than any other industry I have worked in.

Do you have a degree in IT? If so, what taught you the most? And if not, did you miss some important knowledge?
My bachelor’s degree is actually in Theatre, although I did take some Computer Science coursework in college. I had wanted to do a Theatre/Computer Science double major, but there was no way to do that and finish my degree in four years. After graduating and being in the workforce a few years, I enrolled in the Certificate in Ruby Programming offered by the University of Washington. This was a three-quarter program and was immensely helpful in applying my academic and self-study programming knowledge to the latest technologies and tools in the real world. I highly recommend a certification training program like this, it helped me both become a better programmer and to launch my technical speaking career.

As for whether I missed any important knowledge by not having a degree in Computer Science… I don’t have the thorough background in algorithms and data structures that someone with a Computer Science degree would have. Although this has never affected my actual work, it has been an issue in interviews, even when the job involved working with programming languages which have things like sorting methods and hash structures built into them. This has led to occasionally crushing feelings of imposter syndrome, even as I try to learn these concepts on my own. In my experience, imposter syndrome is not something you truly get over, but something that you learn to manage. It comes in waves, some waves stronger than others.

Despite the difficulty in certain types of technical interviews, having a good attitude and a strong aptitude for learning has served me better than anything else in my actual work.

What would be your advice to everyone who is interested in a career in tech? (or learning to code?)
Getting started with programming is fun. Being a senior developer is also usually fun. It’s the intermediate section – knowing the basics, but still not having the breadth and depth of knowledge as a senior developer – that is the hardest. I have two pieces of advice for intermediate developers that I learned the hard way.

1) Be persistent. It will never be EASY, but it WILL get easier. Celebrate the small victories – like how writing a tests before writing your code used to take you eight hours, but now only takes you two. Don’t give up out of frustration that you will never “get” something, or will never be as smart as someone else on your team. Giving up serves NO ONE. Keep at it, it does get better.

2) Ask for help. My personal rule is that if I have been working on something for 25 minutes and made no progress, it’s time to ask for help. Oftentimes just having a second pair of eyes on the code for a few minutes means finding things I have been too laser focused to see, often the key to the problem I’m solving. Make sure you work hard for those 25 minutes – trying different things, googling the problem, etc…but after 25 minutes it’s time to bring someone else in. If no one is available, try emailing the code to someone else and ask them to look (A Github link to the difference between your code and the master branch is one of the most effective ways to do this).

Extra question from benny: If you could take your current brain/life experience/knowledge, and change your age and place in time, would you? If yes, where would you go and at what age? If no, why not?
That’s a very good question. I honestly think I am at exactly the right place in my life to make the best use of my brain/life experience/knowledge. Everything that has happened in my life, at the exact time it happened, has shaped me into the person I am today and will be the foundation for the person I become in the future. I think that now is the right time for me :)