Resume: Kyle Sherman
Kyle Sherman
I am a degreed computer professional with many years of experience in software engineering having worked on back-end, middle tier, and mobile front-end systems with an emphasis on high performance, low latency development. For eight years leading up to 2019 my focus had been on Android development using Java, Kotlin, and Gradle, culminating as the Engineering Manager for the BuzzFeed Android team. Afterwhich, I worked for a short while on back-end development using Kotlin and Spring Boot at Foodsby. I am not seeking work at this time.
Work Experience
April 2019 - November 2019
Software Engineer
Minneapolis, MN
Back-end Software Engineer using Spring Boot to develop microservices.
  • Used Spring Boot 2.2 to develop the Locations microservice that stored all building addresses and other location information on the Foodsby platform. Geometric shapes where used to group kiosks by building or compound to make it easy for customers to find their kiosk.
    • Wrote the MySQL 5.6/8.0 SQL schema to support the Locations microservice. This included a shapes table that used geometric polygons to group addresses and buildings together. Triggers where used to keep table joins updated based on geometric regions for faster query speeds on production.
      • Made incremental improvements to existing back-end services, internal admin web pages, and front-end web pages. Worked with a Product Manager to establish priorities and requirements for these changes.
        • Supported legacy Dotnet Core/Entity Framework systems and MS-SQL Databases.
          May 2011 - February 2019
          Software Engineering Manager, Android
          Minneapolis, MN
          Hired on as the sole Engineer for the Android BuzzFeed Application and quickly became the team lead. Managed the Android team for the last three years (with up to seven reports), while continuing to take on coding projects. Oversaw the creation of four additional applications: BuzzFeed News, BuzzFeed Video, QuizChat, and Tasty.
          Responsible for the planning, managing, building, and successful deployment of all BuzzFeed Application and BuzzFeed News Play Store releases. Also, managed the Tasty team that developed the Android version of Tasty.
          • Primary contact for all things involving the Android platform at BuzzFeed. Worked with multiple business groups (O&O, Video, Shows, News, Ads, Apps Infrastructure, etc) to make sure their roadmap needs were accounted for on the Android platform. Triaged requests so that the most impactful and important tasks were completed first. Converted product vision into Jira epics and cards that broke down projects into modular steps that could more easily be planed for and systematically executed by our engineers.
            • As the hiring manager, I spent a lot of time recruiting talent to the team. This included attending job fairs, conferences, local tech community events, and using Greenhouse to find and connect with potential candidates for open positions on the Android (and other) teams. I also did all of the initial phone screens to determine if we should move forward with the interviewing process with any given candidate.
              • Major contributor to the code base for the flagship BuzzFeed application. In addition to new features, this also included periodic refactors as new best practices were established by Google or ourselves.
                • Wrote an A/B testing client library that interfaced with our custom A/B server. This was a universal A/B system that could be used by any Android application. It supported experiments with unlimited variants, persistent state, full analytics reporting, and used normalized weights to make configuration easy. This library was used with all of the BuzzFeed Android applications. This library also had full test coverage (using JUnit, Robolectric, Mockito, and Espresso tests). Having detailed documentation on usage and a demo application to showcase the features, my library became a good example of our best practices for the team to emulate on future projects.
                • Wrote a custom JSON parser for increased performance over the normal JSONObject/JSONArray. This allowed for much better performance when loading from cached JSON, giving the user a better experience.
                • Wrote a custom feed cell optimizer that prevented empty cells from showing on feeds with mixed cell widths. Triggered by any changes to the size or location of feed cells, it would move half-width cells up the feed to fill in any empty slots created by full-width content, then notify the adapter about the cells that changed.
              • Took over maintenance and administration of our CircleCI builds. Added a caching layer that reduced most build times by 50% or more. Updated the build logic to run our test suite on every build, this helped us avoid merging broken code into master on accident.
                • Partnered with Google to be one of the first adopters of Android L. We updated the BuzzFeed Application to adhere to the new Material Design specifications during the alpha phase of L and we were showcased both at the launch of L and at Google I/O 2015.
                  Dow Jones
                  April 2006 - January 2011
                  Software Engineer
                  Dow Jones
                  Minneapolis, MN
                  August 2003 - April 2006
                  Database Engineer
                  Minneapolis, MN
                  May 1999 - August 2003
                  Database Engineer
                  CBS MarketWatch
                  Minneapolis, MN
                  Computer Experience
                  Programming Languages
                  Java/Spring Boot
                  Racket/Common Lisp/Emacs Lisp/Clojure
                  Unix shell (sh, BASH)
                  Software Experience
                  IntelliJ IDEA/Android Studio
                  Cal-Poly, Pomona
                  Graduated: June 1996
                  California State Polytechnic University, Pomona
                  Pomona, CA
                  Computer Science
                  Bachelor's of Science Degree in Computer Science