Graduate Updates is a dialogue style series that we started as an excuse to chat with our graduates and get a peek into their lives after Firehose. In each update, we’ll share the details of these conversations, and give you the opportunity to get to know our students a little better.
In this update, we talk with Shaun– a self-proclaimed nerd and fitness junkie who formerly worked in construction engineering and is celebrating one year as a Rails developer at Realtor.com this month!
Could you tell us a bit about yourself and the role that code plays in your life?
I was born and raised in Silicon Valley, grew up around computers and tech, and was always a pretty big nerd. But for some reason, when I got to college I didn’t really know what I wanted to do – all I knew was I wanted to be an engineer. I drifted towards Civil Engineering because I found the classes interesting and the math fun, but in the back of my mind I sort of knew I should have gone with CS. By the time I seriously considered this, I was more than halfway through my degree and decided to just stick with it.
Fast forward to June 2014 and I had my bachelor’s in Civil Engineering in one hand and a construction engineering job in the other. I worked for a little over a year in the field, with my Firehose journey beginning about 10 months into my then current job.
Today, code plays a big role in my life. Obviously, it’s my job now, so I’m coding pretty much every day (sometimes there’s just no avoiding putting in some weekend work ;) ). But it’s more than just another job. I was lucky to make the transition into software early in my professional career, but I can easily say that this is the first job I’ve had that feels like a profession, a career path that I actually want to be on and advance in. More than that, it’s fun!
I haven’t had a lot of time as of yet to work on any real side projects outside of work, but working has taught me a lot about what I should improve on to be a better developer. Thanks to working with some great coworkers, I’ve learned of the importance of code quality, test coverage, and peer reviews.
What have you been up to since graduating Firehose?
I’ve been working at Realtor.com for the past year (exactly 1 year this month!). I joined at an interesting time – our team was just finishing up releasing our latest version of the codebase, which was a migration from .dotnet to Ruby on Rails. Since then, I’ve mainly been busy with work. I started off doing a lot of bug fixes, and over time have been fortunate to have worked on some pretty awesome features. Currently, I’m still just busy with work, but I’m hoping to follow through with a side project soon. I’ve stopped and started a lot of small Rails projects over the last several months just for fun and to enhance my own learning, but never found something that really stuck.
Tell us about the moment or feeling when you really started to consider yourself a developer.
This is a tough one. It was definitely a gradual feeling. I did not feel ready when I joined. I know a lot of developers feel this way, but it doesn’t change the way I felt about it. I joined as a contractor, so I was nervous and anxious to prove myself. The first couple weeks were overwhelming as I wrestled with our codebase to try to understand the architecture. Over the course of the next several months, I managed to improve my understanding of the codebase and work on bigger bug fixes and some small features.
I think the feeling that I could call myself a developer started a couple months into my career. I was asked to review a pull request. I hadn’t really been asked before (understandably), so I was pretty excited. It was a small one, but I think I managed to leave a comment or two, approve it, and merge it. That was a great feeling that made me feel validated as a developer. Shortly thereafter– 3 months into my contract– I received an offer to be converted to a full-time employee. Obviously I accepted, and that was another great feeling of validation. That was probably the moment where I felt like a developer for the first time.
What makes a career fulfilling for you?
The work has to be interesting and engaging. It sounds cliché, but I want to feel like I’m making an impact and I want to have fun. My current job allows for both those things. Coding is so much fun for me – I feel like I’m coming to work every day and solving puzzles. My work is very front facing– the code I write affects the 50+ million users who view our site every month. Regardless of whether I work on a smaller or bigger feature, it feels awesome at the end of the day to be able to go to our production site and point out changes I made earlier that day.
Can you talk about the differences in your experience working in the field you studied in college and working as a developer now?
I’d say the only thing my degree and my job have in common is they both have ‘engineer’ in the title. Civil Engineering and Computer Science are pretty much as far from each other on the engineering spectrum as can be. The engineering classes I took involved a lot of math and physics on a large scale – dealing with static forces and load in buildings, water pipeline engineering, soil and geological engineering. I loved studying it, but when it came time to practice it, I found it pretty dull. Software, on the other hand, is much more a way of complicated, logical thinking. It’s about how A affects B and how B affects C. A lot of people seem to assume I use a lot of math in my job – I don’t. I use a lot of complicated logic, and it’s really tough to keep that logic sorted out. But rarely do I use math the way I was using it in college.
One other major difference that I love is the speed of development, especially in an Agile workplace. Civil Engineering is a slow process, and rightfully so. You’re building large, permanent structures with public safety in mind. With my job now, obviously we care about code quality and site performance to a large degree, so we write good, careful code. But the process of turning around a feature can be anywhere from a day to a few weeks, whereas turning around a building design could literally take years. I love the speed at which I can see an idea turn into reality in my job.
When you’re not coding, what are you doing?
When I’m not coding, I spend a lot of time at the gym. I’ve always been a big fitness junkie, and in the past year, I’ve gotten into powerlifting. I spend my nights training at one of the best powerlifting gyms in the world, Boss Barbell Club in Mountain View.
Other than that, I like cooking, being a foodie, and nerding out on video games, TV, and comics.
Are you reading/watching/listening to anything interesting lately?
I’m about halfway through Practical Object-Oriented Design in Ruby by Sandi Metz. I’ve heard it’s a must-read for any Rubyist and I can see why. It really drills in the principles of Object-Oriented Design in an easy-to-grasp way. Her writing style is very easy to follow and interesting as well. I highly recommend it to anyone starting out in Ruby or any other Object-Oriented language.
Programming stuff aside, I’m a big nerd, so I’m currently keeping up with Westworld and The Walking Dead, as well as getting through Bojack Horseman on Netflix. Music-wise I’m a progressive metalhead and I’m currently re-obsessed with Periphery III: Select Difficulty by one of my favorite bands, Periphery. I’m also playing a lot of Titanfall 2 and Battlefield 1 on the gaming front.
Where can people find you?
I don’t tweet much, but I’ve started using Instagram lately. Be forewarned, it’s mostly just lifting videos and pictures of food. XD
You can find me on GitHub as shaunshapiro. Unfortunately, my work profile is where all my contributions generally are, and it’s a private repo, but I’ll have some new side projects up on here soon. :D
Thanks for your time, Shaun. We had a lot of fun catching up with you!