When Sam Gould moved to San Francisco, he did his research as he made a career change and was drawn to the tangible skills of programming. Sam enrolled in Thinkful’s Engineering Immersive and landed a job at Twitter! We caught up with Sam three years later to find out what it was like to learn programming online, how he landed a job as a Software Engineer at Twitter, and why he was able to start contributing from day one on the job.
What were you up to before Thinkful?
I graduated from Stanford in 2011 with a degree in biology, and a minor in economics. I actually went into my undergraduate career thinking that I wanted to be an Episcopal Priest. Coming out of undergraduate I spent three years running youth ministries for 180 churches in the Episcopal diocese in Massachusetts. After realizing that I wasn't called to ministry, I had a mild quarter-life crisis. I wanted to do something that I loved that I knew wasn't a lifelong path. That led me to playing professional squash and throwing myself fully into that athletic pursuit. Before Thinkful, I was playing professional squash and was the assistant squash coach at MIT.
That’s quite different from software engineering! What motivated you to pivot into tech?
In 2017, my fiancé got a job working in San Francisco. San Francisco has a terrible squash scene and I had a back injury that was starting to act up, so it seemed like a natural time to transition out of squash.
When I got to the Bay Area, I decided to talk to as many people as possible about what they were doing and why they were doing it. I reached out to my friends from Stanford, family friends, friends of friends, anyone who would have a coffee with me. The more I talked with people, the more I became interested in engineering – it’s a tangible skill that you can apply to a myriad of problems. Learning to code wouldn’t tie me to a specific path but instead would open up all of these options in life.
Why did you choose Thinkful over an in-person bootcamp in San Francisco?
I had actually gone on a hiking trip with two friends who had gone through coding bootcamps. They had both gone through General Assembly, were working as Software Developers, and spoke highly of their experiences. As I spoke with friends from Stanford, I asked about their professional impressions of bootcamp graduates. Almost universally, people I talked to in engineering said that it was a hard road but that it was not abnormal. There is a place for people who dive in and commit themselves to learning the skill. I still find myself wishing and longing for the academic background and I think that there is value in both.
In the end, my decision came down to the length of the program. I was fortunate to be in a financial situation where I could take a significant chunk of time away from the workforce. Thinkful's program was from 7am-3pm Monday-Friday for 5 months and I felt like the timeline of Thinkful created space for me to breathe in the midst of the program and also time to catch up if I felt like I was getting behind.
Was the admissions process at Thinkful challenging?
During the precourse, I didn't have a cohort of classmates but I was still getting 1:1 mentorship throughout it – and it was free. I actually recommended Thinkful’s precourse work to one of my friends' fiancés! She went through that and from doing the precourse was able to discern that programming wasn't a good fit for her. Thinkful’s admissions process is much more about self-selection than the school selecting you.
What programming languages did you learn at Thinkful?
We learned Node.js backend. We started with VanillaJS, HTML, CSS, and then React and Redux.
What did a typical day look like at Thinkful?
Every night we were assigned a little homework – usually about an hour of reading about the topic that we'd cover the next day. We'd meet at 10am ET and start with an hour of lecture with a professor who was an industry professional. The whole cohort would all be online engaged in that lecture together. After a short break, we'd jump into exercises.
We had a new partner every day and we'd work with our new partner on whatever the challenge was for the day. We had teaching assistants (TAs) who would pop into our chat rooms to answer questions and see how we were working together. In the afternoon, we'd come back for a half hour of instruction after our lunch break. The lecture would recap what we'd gone over and give helpful hints for the challenges we were working on. Then we'd spend the rest of the day working through the remainder of the challenges.
You said that the longer, 5-month program was appealing to you – did that end up being important at Thinkful?
That rang true as I went through Thinkful. There were some days where everything clicked and at 3pm I took my dog for an hour-long walk and simply enjoyed San Francisco. There were also other days where I spent four or five hours digging into the work we'd done, trying to understand it again. Or meeting 1:1 with a mentor and trying to understand what was going on even more.
The longer timeline gave me more time to wrestle with the material. I heard from my friend who had gone through another program that you couldn't miss a day or a moment because you're moving on the next day immediately and everything builds on itself. I like to approach my learning process differently.
How did you collaborate and work with your classmates?
We all started on the same day and we all graduated together. I had 13 classmates (10 graduated). It's a unique format for an online bootcamp. In the immersive, we were pair programming every day and we did group projects together. I was building projects with teams of 2-5 other engineers. That struggle of sharing work loads and learning and growing with other people was something that prepared me well for the professional environment.
Thinkful also offers the flex program where you can go at your own speed.
Could you give us an example of the projects you built at Thinkful?
My first exposure to React was an individual project that took the Fantasy Football model and applied it to the 2018 congressional elections. I assigned price values to senators and representatives based on how well they were projected to do in their race. Users had a fixed amount of money and you had to fill out your fantasy congress team. You earned points based on how well they did on election day.
My capstone project was a group project and our goal was to gamify financial literacy. It was modeled around providing people with opportunities to make investment decisions based on anonymized historical data. Then it analyzed how those decisions changed their portfolio results. We tried to explain some basic concepts around the market portfolio and having diversification in your investments in your strategies and the downsides of stock picking. It certainly didn't get to the sophistication of all of the lessons we would want to teach, but it was fun exposure and I learned about how to engage and draw in users.
Looking back on your time at Thinkful, how would you compare the teaching style to your time at Stanford?
I was skeptical of online learning going into it. I loved my college experience and both of my parents are educators, so I grew up on a high school campus at a prep school. I believed that in-person learning was core to success. That being said, there was real value in the remote education and the remote structure. It provided freedom from some of the constraints that in-person programs deal with. Online learning provides more flexibility and lends itself well to teaching concrete skills. One unique thing about bootcamps like Thinkful is that they are teaching a tangible skill, so the distance feels less apparent.
You've been working at Twitter as a Software Engineer for almost two years now. That's major! How did you get that interview and land that job?
As I was wrapping up with Thinkful, my career counselor recommended that I reach out to anyone and everyone who works in tech in the Bay Area and start having conversations. I reached out to my college friends first and set up lunch meetings to get a sense for the different companies in the area. I started asking around about job opportunities for someone who had just graduated from bootcamp. I wanted my first attempt at the job market to be targeted toward larger companies that had the resources and time to invest in my development as an engineer. I wanted to be in a strong learning environment where there wasn't constant pressure to be pushing code but more focused on building the right habits and a solid foundation.
It happened that one of my former roommates from college was a Project Manager at Periscope which is owned by Twitter. Through him, I was able to get connected with the recruiting office at Twitter and get an interview. I interviewed for a job and it turned out that the day that I interviewed, someone had accepted the offer for that job I had interviewed for. Thankfully, during my interview, an engineer from a different team who was helping to facilitate my interview liked me and went back to his manager and mentioned me for a Software Engineer job that his team was hiring for. So in this roundabout way, I was able to land a position at Twitter.
What are you working on now at Twitter?
I started as a Level 1 Software Engineer. I work on our publisher products team. We focus predominantly on building tools to serve your large scale publishers like ESPN, CNN, ABC, and the NFL on Twitter. Our flagship product, LiveCut, allows companies to upload the broadcast to the cloud, edit it, and tweet out clips of the broadcast in almost real-time. For example, every goal in the Women's World Cup was tweeted through our service. The NFL tweets team highlights on Sundays. Every sack, every touchdown goes through our service onto the platform as close to real-time as possible.
Are you using the technology stack that you learned at Thinkful or have you had to learn a lot on the job?
One of the reasons that Twitter took a chance on me is because they use the React/Redux front-end stack, which I felt pretty comfortable with from Thinkful. I was able to come in and start contributing from day one.
I've also learned tons about front end development by working with experienced engineers at Twitter. The back-end tech stack is based in Scala, which is worlds different from anything I'd ever worked in up to that point. It's been something that I've been able to grow into.
Most of my day-to-day is front end development but every once in a while I'm able to pick up a ticket that has some back end work and I can slowly build up the confidence in a new language and level up my skill set. I'm grateful that Thinkful wasn't only a front end program. My understanding of RestfulAPI structures has been crucial to helping my learning process as I've learned Scala and an understanding of how the system fits together.
Is this career what you expected? Are you happy you went down this path?
Yeah! As I'm living it out, there's far less coding than I thought there would be. There are far more technical design docs and thinking that goes into mapping out what you're going to do before you actually do it. I find that work is incredibly interesting and I've enjoyed that part of the job as well as getting my hands on complex problems that I can dive into.
This career change has created and afforded a lifestyle that I'm truly excited about. I'm constantly learning in my day-to-day job. I'm surrounded by talented, smart, interesting people who are willing to teach me and are also willing to learn from me. I don't feel like a leech in the system; I feel like a partner! We're building something together. It also allows me to live a well-balanced life. I've found that Twitter is a company that actually values the humans that are a part of it. Throughout the pandemic, it's been abundantly clear how the individuals that make up Twitter do think and care about making sure you're living a sustainable lifestyle.
Was Thinkful worth the time and financial commitment for you?
Absolutely – for me it was. I believe that there are people out there that can leverage free resources online and create a good experience on their own but I knew that wasn't me. Without that curriculum, I get listless and struggle to figure out how to create deadlines. I also appreciated having a cohort of students to learn alongside. That comfort and strength that you can draw from being a part of a community going through something was important for me. It accelerated the timeline in which I was able to learn everything.
A lot of what I learned at Thinkful was learning how to learn, how to leverage resources, how to go through docs online and find the answers to the question that I'm looking for, interpersonal skills, and learning how to actually dig in and learn from the solution. I took that way of approaching problems and problem solving away from Thinkful and it continues to serve me day to day as a software engineer at Twitter.