We’re catching up with Hack Reactor alum Ethan Lipkind, who graduated from our Intermediate Coding Bootcamp in 2018 and currently works as a Senior Software Engineer at The New York Times. Before the bootcamp, Ethan was an Investigative Analyst in the Major Economic Crimes Bureau of the Manhattan DA’s Office and worked as a music teacher.
Below, we asked Ethan a few questions about his experience at Hack Reactor and what he’s been up to since graduating.
What was your background before you came to the bootcamp?
I was first exposed to coding in college when I took some programming classes during my senior year. I definitely enjoyed it, but I lacked the confidence to pursue it as a career. I had double-majored in economics and music, and I was thinking about going to law school. To see what working in that field would be like, I started working for the Manhattan District Attorney’s Office when I graduated in May 2015. While I was working at the DA’s office, I started teaching a few music lessons every week as a side hustle. A year and a half later, when I decided a career in law wasn’t the right path for me, I left the DA’s office and set out to support myself by writing, playing, and teaching music.
Over the next year, I grew my studio of private guitar and piano students from a handful per week to 30 students per week, solely through word-of-mouth referrals. I was incredibly proud of myself for building this business on my own, but I knew it was an unsustainable way to live. Beyond the physical and financial difficulties of being a self-employed music teacher, I felt like I wasn’t achieving my full potential, wasn’t being challenged intellectually, and didn’t have the level of personal freedom I wanted.
I started looking back at the coding materials I had learned about in college and gained some more confidence by building toy projects. I built a shell-based tic-tac-toe game with python, I built an HTML canvas-based brick breaker game with javascript, and I did “easy” sample problems on websites like leetcode and codewars. Little by little, I had more confidence and found that I was really enjoying the process of working through a problem with code. After a while, it became clear that I needed to take a leap of faith and give myself a chance to break into the industry. So I did a ton of research about coding bootcamps, applied to the best ones, and was off to the races at Hack Reactor starting in November 2017.
As someone who both studied and taught music, do you see parallels between the process of learning music and learning software engineering?
Absolutely. To me, there are a lot of similarities. I think music is a language, unique in its universality, but not unlike spoken and written languages in a lot of ways. There’s a grammar and a structure to music that can be very well-defined. When you study music and music theory, you’re learning how to recognize patterns, fold them into your own vocabulary, and use them for your own purposes. I think studying coding can be very similar; you need to learn the syntax and grammar of a language like Javascript, and once you’ve got some fluency with the language you can use it for your own creative purposes.
Here’s another similarity that is really interesting to think about: most people are exposed to music from a young age, so they start to develop expectations about concepts like harmony, tension, and resolution. Even if they don’t know how music theory “works,” or how to define the “rules” in the abstract, they can probably understand a piece of music in a given context, describe the way it makes them feel, explain why it works or doesn’t work for them.
Just as people are exposed to music in this subconscious way, they’re also exposed to user interfaces from a young age: websites, apps, the dashboard of a car. They develop expectations about what should happen when they click buttons, twist knobs, and move sliders, even if they can’t describe what’s going on under the hood. Learning how to code, especially in a language like Javascript which is immediately applicable to UI, is all about defining the rules that govern these interactions they’ve already been having for their entire lives. And once people realize the connection between coding and their real lives, I think their impression of code changes from something that’s impossible to understand to just another language.
You were also a teaching assistant following the program. What is the dynamic like going from being a student to being a teacher? And what benefits come with teaching a subject after having learned it?
Some readers may have heard the analogy that going through Hack Reactor is like “drinking from a fire hose.” When I went through the program, it was three months, six days a week, at least ten hours a day but closer to 12 or 13 hours most of the time. It’s a deeply immersive experience, one that forces you to quickly gain fluency in writing and reading code but also makes it challenging to absorb all of the concepts into your long-term memory.
I think just about everyone in my cohort of students applied for the position because we recognized the value of going through the program again from the other side. I felt extremely fortunate to be one of the four selected. In fact, there were only three slots when I applied, and I was only offered the position later when a fourth slot opened up. But even if I hadn’t gotten it, the process of preparing and sitting for that interview was really valuable.
The teaching assistant position is great because you’re constantly fielding help requests from students who are stuck, and it gives you opportunities every day to help them debug their code, or explain concepts or give mock interviews, or even give real interviews to applicants. And of course, there were many situations where I didn’t know the answer to a student’s question. So it was a humbling experience as well, one that forced me to reckon with areas where I struggled initially. I had a lot of anxiety about the job search, and getting all this experience as a TA helped me get more comfortable and ultimately land my first full-time job as a software engineer.
Since graduating, you’ve worked as a Software Engineer at TD and at The New York Times. What are the biggest similarities and differences between working in finance vs. news?
There are certain responsibilities that are probably universal for a software engineering job at any company: using git, doing thoughtful code reviews for your teammates, building features, writing tests, etc. The differences have more to do with the specific team than the company itself. At TD I was doing almost entirely frontend development in a large React-Redux application with the goal of replacing a legacy tool that was used by folks on the trading floor. I also worked with data scientists to create interactive data visualization products. So there were some really interesting projects I got to be a part of, but they were focused almost exclusively on UI development.
At the Times, my team is responsible for the systems that support Customer Care operations. So there is a lot more variation in terms of what I might be working on from one sprint to the next. The two main products we work on are the CRM (“customer relationship management”) application, which call center advocates use to pull up account information, process transactions, etc., and the IVR (“interactive voice response”) system which tries to solve problems for customers automatically before connecting them to a human in the call center. I’ve continued honing my skills on the frontend by building UI flows in Vue and React, but I’ve also learned how to build web services in Go, ship lambda functions in AWS, build interactive contact flows in Amazon Connect that use lexbots to figure out the caller’s intent and route their call accordingly, and even had the opportunity to work on personal projects with the goal of improving workflows for engineers during our on-call rotations. So my work at the Times is a lot more varied and I feel like I have grown my skill set immensely by working in all these different areas.
What is your favorite aspect of your current job?
The Times has an annual program called Maker Week where all technology employees are given a week away from their normal duties to explore an area of personal interest. It’s an incredible program that gives us creative freedom and empowers us to pitch our wildest ideas to managers and executives. I know that a number of NYT products have gotten their start as a Maker Week project, so it’s really a win-win for the company and employees like myself.
For Maker Week 2020, I worked with a group of software engineering fellows from The Marcy Lab School to help guide them in a project of their choosing. It was an incredibly rewarding experience, and NYTOpen published an article about it if folks want to learn more.
What advice would you give to someone interested in becoming a software engineer through a bootcamp?
The value you get out of this program is directly proportional to the effort you put in. Like any other situation where someone is looking to start a new career, it’s going to take a little bit of luck to get that first job after graduation. The timing has to be right for both you and the company, and there will be many similarly qualified applicants to compete against just to secure an interview. But there is enough demand for this skill that eventually the timing will be just right; it’s all about whether or not you put in the hard work so that you can seize the opportunity when it arrives.