​​By: Michael Black

undefined

Meet Michael Black! Michael is a Backend Staff Software Engineer at Match Group, and he works on helping people find love through the power of coding. We chatted with Michael about his experience coding and he shared advice he has for young coders.

Tell us about your background.

Originally from the Twin Cities metro area in Minnesota, I’ve had a passion for programming for a long time. When I was in 6th grade I was really into a video game and wanted to create a website for it, and this led to me teaching myself about HTML and CSS to customize an online forum. 

From there I started learning how to write programs on my TI-84 calculator, and eventually enrolled in an AP Computer Science class my senior year of high school where I really learned what it meant to write meaningful and productive code. After high school I studied computer science at the University of Minnesota (Twin Cities) where I learned to really push my coding skills to new heights. 

While enrolled at the University of Minnesota I worked 2 summer internships at a subsidiary company of Dell where I built full-stack web applications to assist team workflows. After graduation I accepted a job at Target corporate as a software engineer where I built and maintained backend data systems and web APIs across domains such as supply chain and point of sale.  

What do you work on? 

Currently, I work as a Backend Staff Software Engineer at Match Group, where I work on developing dating apps to help people find love. During my first year I helped maintain and add features to OkCupid, one of the internet’s oldest dating apps, and over the past 2 years I’ve been working with our team to develop a new dating app called Archer which focuses on helping gay men connect and find love.

What is your favorite thing about your job? 

I really enjoy the problem solving aspect of my job, and how what I do has a tangible impact on other people’s lives. 

How do you use coding in your projects? 

Coding can be used to solve so many different problems, and it comes down to picking the right tools for the right job. On some projects I may use Typescript, React, and CSS to develop a website for internal tools (such as a moderation dashboard, in the case of dating apps). 

On most of my projects I’ll use Go to develop web servers that can perform tasks and track data on behalf of mobile apps, or perhaps develop data processing servers that allow us to quickly process and make use of data generated by our backend systems and user activity. 

On other, smaller projects I’ll use Python to create basic scripts that allow me to easily automate tasks or provide functionality that is easy to repeat. As an example I recently used Python to develop a script that captures prices from a website, processes the data into an easy-to-read format, and tweets out that formatted data every day so that I could easily track price changes.

What advice do you have for young coders? 

The best way to learn a new language or technology, regardless of experience level, is to have a problem in mind that you’re trying to solve and then learning with the goal of solving that problem. If you’re unsure of what problem to solve, try searching online for good beginner projects for the language you’re trying to learn. 

Giving purpose to what you’re learning will help motivate you to keep learning, even when the going gets tough.

What tools and languages do you use? 

Languages: 

  • Go

  • Python

  • SQL

  • React Javascript/Typescript

  • Kotlin

Tools: 

  • PostgreSQL/MySQL

  • Kafka

  • Docker

  • JetBrains IDEs

When I’m not working I enjoy spending time with friends, playing video games, going skiing, and traveling the world.