Resume: Kyle Sherman
Kyle Sherman
I am a degreed computer professional with many years of experience in software engineering having worked on back-end [databases], middle tier, and mobile front-end systems with an emphasis on high performance, low latency development. For the last eight years my focus has been on Android development using Java, Kotlin, and Gradle. Most recently I've been a working manager for the BuzzFeed Android team, however, I'm interested in getting back to coding full time.
Work Experience
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
          Senior Software Engineer for Market Data project to redesign existing data request infrastructure. Some data requests covered were: stock quotes and trades, ticker symbology, real-time and delayed data, and data aggregated over time, for U.S. and foreign markets. GigaSpaces (a Java based cloud platform) was used for data storage and retrieval, with MySQL for persistent storage. Client facing services were written in Java and C++ using ZeroC Ice and SOAP interfaces respectively.
          • Lead designer and developer for client services that allowed for requesting data from the GiaSpaces repository. These services were written using the ZeroC Ice framework and supported all of the various data types (quotes, symbology, time-series, etc) in the repository. Ice was used to allow for easy and fast (no serialization needed) cross platform consumption of our services.
            • Lead designer and developer for an entitlement system that allowed access to market data. The system was Java based and was integrated into all of our services. It could filter data based on type, source, query request, query result, including/excluding specific fields (by row or by column), and via custom plug-ins (for more complicated business logic). A web based administration panel handled updates, which were applied (via notifications) to running services. All changes were logged for auditing.
              • Developed an Ice based time-series service that returned aggregated data between requested timestamps. Aggregated block sizes could be minute, hour, day, week, month, or year. Holidays, weekends, exchange timezones, and market hours were all accounted for.
                August 2003 - April 2006
                Database Engineer
                Minneapolis, MN
                May 1999 - August 2003
                Database Engineer
                CBS MarketWatch
                Minneapolis, MN
                Computer Experience
                Programming Languages
                Racket/Common Lisp/Emacs Lisp/Clojure
                Unix shell (sh, BASH)
                Software Experience
                Android Studio (IntelliJ)
                Cal-Poly, Pomona
                California State Polytechnic University, Pomona
                Pomona, CA
                Computer Science
                Bachelor's of Science Degree in Computer Science
                Graduated: June 1996