Matthew Roseman

Education

Case Western Reserve University

Graduated May 2017 | Cleveland, OH
BA in Computer Science
Minor in Mathematics


Experience

Hubspot

May 2021 - Nov 2022 | Backend Software Engineer | Remote
Java, SQL, Jersey, Guice (dependency injection, i.e. Spring alternative)

I worked on the Content Setup team, which was responsible for the transferring of user's blogs, knowledge bases, and site pages from their old sites into their HubSpot CMS.

  • Form Extractor: Built extractor to scrape forms off customer's site and move to their HubSpot CMS
    • Wrote a heuristic algorithm able to accurately extract the human-readable labels in forms
    • Robust enough to work on all major third-party form builders
  • Cloudflare Allowlist: Caught major bug blocking us from importing user's content from a popular competitor's site (~70% of the imports for knowledge bases)
    • Determined cause of outage was Cloudflare, and I coordinated communication with competitor, infrastructure teams, and internal contacts with Cloudflare to resolve the issue
  • Web Crawler: Maintained web crawler built on Internet Archive's Heretrix crawler, used throughout HubSpot
  • Debugging: Debugging system primarily responsible for orchestrating customer's import of content to 99.99% availability
  • Work Environment: Worked remotely in a strongly asynchronous work environment: involved being proactively communicative while taking ownership of the tasks assigned to me

Find.Jobs

May 2018 - April 2020 | Full Stack Software Engineer | Cleveland, OH & Remote
Python, Django, Redis, Elasticsearch, SQL, RabbitMQ

This was a small startup of 10-12 employees. The product was a job board website which had a unique website and domain for every job category, e.g., nursing.jobs, engineering.jobs, ohio.jobs. There was a single pool of jobs, and each website had its own filter.

  • Job Import: Built job import system to handle ~2-3 million jobs daily in ~1 hour
    • Included downloading, normalizing multiple data formats, inferring missing fields, and storing jobs in SQL and Elasticsearch
  • Job Filtering: Created a filtering system to the job boards search
    • Feature parity with Indeed's job filtering
    • Involved optimized Elasticsearch queries hitting ~10-20 million jobs in less than a 2-3 seconds, even in deep pagination
    • Built to be optimized for SEO discoverability
    • Same filtering system was used to dynamically build millions of sitemaps
  • Web Crawler: Built web crawler tailored to premium customers' smaller job boards
    • Built with Python Scrapy
    • Built to be configurable to the point that adding new customer's websites took ~1 day of work with no code changes

Keyfactor

May 2015–Aug 2015, May 2016–Aug 2016 | SE Intern | Independence, OH
ASP.NET, C#, SQL

Medium sized company of ~50 people. Product was an app that helped large companies manage their own site's certificates used for security purposes.

  • Worked on general web development features on the frontend and backend, including modifications to a large SQL database
  • Worked in ASP.NET with C#
  • Work also involved some cursory Cryptography knowledge

Skills

Languages

  • Python (6 years)
  • Javascript (6 years)
    • ES6+
    • Node.js
  • Java (2 years)
  • Ruby
  • Go

Databases

  • SQL
  • Elasticsearch
  • MongoDB
  • Redis

Frameworks/Libraries

  • Django (3 years)
  • Flask (2 years)
  • Scrapy
  • Heretrix
  • Rabbitpy/Pika
  • SQLAlchemy
  • React (2 years)
  • JQuery
  • Bootstrap
  • Selenium
  • Webpack
  • Babel

Infra

  • Docker (2 years)
  • GCP (2 years)
  • Kubernetes
PDF Download