From English Major To Software Engineer


What do you do & where do you work?

My name is Chris Dang and I work at Scratch which is a Series A fintech startup that has reimagined loan servicing to help borrowers understand, manage, and pay back their loans. It’s a company filled with determined, smart, and mission driven individuals.

We were recently mentioned in this New York Times article.

I’m a software engineer who primarily focuses on Identity and Access Management. This means I focus on authentication, authorization, and user management problems. I also occasionally work outside my domain in areas such as frontend, security, and infrastructure. This happens a lot at startups which require folks to wear many hats.

You majored in English in college (with a CS minor) - can you tell me a bit about your background? Do you think being an English major helps you as a software engineer?

I don’t really understand why but I just enjoyed writing essays and discussing texts so I became an English major. It was one of those moments where I felt like I just had to go with my gut and I’m glad I did because becoming an English major made me a more creative person. This creativity allowed me to come up with a few startup ideas that I’ve attempted and have planned for the future.

The reason I taught myself how to code is that I wanted to build my ideas. I’d like to note that I did take a few intro computer science courses before I became an upperclassman, so when I began attempting some of my startup ideas I already knew OOP, runtime analysis, data structures and algorithms.

In my day-to-day, being an English major helps me with communication, which is very key as an engineer, and, this is a little random, but it makes me more relatable to non-engineering folks since a lot of them probably took similar courses to me.

Was the lack of a CS major ever a problem in your job search?

It was definitely a problem in the beginning since I had no experience and a lot of companies wouldn’t even give me an interview. I wasn’t too worried about this though because I had a passion project I was working on and if I wasn’t able to get a job, I was determined to go all on the project and turn it into a startup. I actually was able to launch it to the app store and had a customer acquisition strategy. Luckily, a few companies, including WeWork, liked the grit I showed in my startup and gave me a chance.

The lack of a CS major did leave a gap in my knowledge when it came to interviews and performing the day to day job. I did a few things to mitigate this gap which included going through lecture slides for upper division courses I found interesting (e.g. Operating Systems and Computer Security), spending copious amounts of time reading articles about engineering, and spending time on my passion project which gave me a lot of real world experience. Also, Stack Overflow was my best friend.

What are some things you considered when moving from WeWork to Scratch?

My time at WeWork made me realize that I was very interested in the Identity, Infrastructure, and Security domains with Identity being my primary interest. So when I began my job search, I made sure to focus on jobs in those domains but I did apply to some generalist positions. The reason for this is that I’m pretty young and it’s good for me to have breadth in other areas. I also wanted to make sure that my next job had really challenging problems and smart engineers. The things I cared about least were job stability (e.g. whether or not my company would exist in a year), my total compensation, and the company brand.

I optimize for growth over learning by focusing on opportunities that I’m passionate about over opportunities that would make me more money. Money and brand names bring you a limited amount of satisfaction. However, doing something you are passionate about will always be more exciting because as you grow in that area, the horizons expand and more exciting ideas/projects will come to you.

How is it different working at a company with around 45 employees to one which had over 10,000?

The nice thing about working at startups is you are guaranteed to have a large role. Everyday I learn something new and I always feel like my work is rewarding. But there is a trade off here. I do feel like I’m a lot busier since my role is more significant than if I were at a large company.

One thing I wish I realized earlier though was that even at a big company, you can have a really exciting role. It really depends on the team and your manager. If you are hungry for a challenge but would like the comfort of a large company, I would recommend interviewing with some of the newer projects.

How was the onboarding process like at Scratch given that it’s been fully remote? How do you feel about remote work?

I actually went to the office before the shelter in place was ordered so I didn’t have any issues with setting up my laptop or developer environment. But even if this wasn’t the case, I don’t see remote onboarding being a problem due to strong video technologies such as Zoom.

My first day of work actually began a few weeks after the quarantine began so I haven’t had more than a few days to see my coworkers in person. It’s a little weird because I spend so much time with these people but our interactions are exclusively through a computer screen. One thing I’ve realized is I’m lukewarm to remote work culture since it’s hard to have spontaneous interactions with coworkers and happy hours aren’t as fun.

That being said, I’m really amazed by how our team has adapted to these conditions. Despite the pandemic, the conditions of working remote, and other obstacles, we’ve managed to persevere and launch our PPP product.

Do you get to collaborate with non-technical individuals too?

I’ve worked with teams in business operations and design at least once a week. It’s cool to collaborate with folks from other departments because you can pick their brains and see another perspective to a problem you are working on. A really big aspect of these interactions is your ability to communicate technical topics since a lot of times non-technical individuals will rely on you to explain what’s going on under the hood with the software.

Are there some things you did not expect to encounter on your day-to-day as a software engineer?

My average day consists of reviewing pull requests and working on my own pull requests. Occasionally, I’ll have meetings to sync on the state of my team or the company or run interviews for candidates.

My experience with my side project gave me a pretty good idea of the technical challenges I would face in my day-to-day. I would say one thing that surprised me was how open people were to my questions. This made it easier for me to grow as an engineer since I was surrounded by people who wanted to help me learn. A piece of advice I’d give to new engineers is to try to solve a problem or understand a concept on your own first before asking the questions.

Get little knowledge packages sent to your inbox.

Read next

Customer Success Manager