I started as an intern at FactSet Research Systems in 2011, and returned full time in 2012. I am currently a Senior Software Engineer. I work primarily as a full stack developer (C#, HTML5, JavaScript, SQL Server). But I also manage interns and full time employees, help with recruiting, and sit on technical committees. See more in experience or take a look at my resume.

I graduated from Purdue University in 2012 with a BS in Computer Science. While I was there I built a variety of side projects: CrossTxT (sold in 2011), PurdueBus, and Gathr (a real-time social networking app, winner of the "ACM Google Coding Competion"). I was also in Jazz Band

I was born and raised in Kokomo, Indiana. I graduated from Northwestern High School in 2008. I played Tenor Saxophone in the marching band.

This is my dog Molly :)

FactSet

Current

  • Senior Software Engineer
  • Full Stack C#, ASP.NET/WebAPI, HTML5/Javascript, Sql Server. My department primarily develops websites for use by FactSet employees. There are also a limited number of client facing sites, one of which my team maintains.
  • Tech Lead for a team of 12, direct manager of 2 in Norwalk and 2 in Hyderabad, India. Tech Lead role involves code reviewing/signing off on all code that is released to production for the projects my team is responsible for. Additionally, I play a large role in designing upcoming projects, and maintaining the high reliability/uptime of existing sites.
  • Intern manager. For the past 3 years I have been a manager for FactSet’s internship program. This involves identifying a project for an intern to work on, and then mentoring them during their summer at FactSet.

Past

  • DevOps - The DevOps team is the intersection of the Development (Engineering) and Operations teams. In this role I designed a new build and deployment system on top of TFS (Microsoft Team Foundation Server), rebuilt our search system, and formalized the powershell tool chain for the team (see “Projects” for more).
  • Infrastructure - The infrastructure team maintains a collection of Windows services, code libraries, and web services, for use on internal FactSet projects. Services include: Queue (asynchronous processing service), Enterprise Service Bus (pub/sub for internal data), Logging, Push (WebSocket server), FileStore (similar to Amazon S3).

Projects

  • Bug tracking/product management/workflow tool for internal operations - Used by over 80% of FactSet daily, and nearly 100% monthly. Used to request enhancements, or report bugs, for nearly any system at FactSet. Also used for standard requests (PC issues, key access, etc). Built with C#, ASP.NET MVC/WebAPI, Sql Server, HTML5/Javascript, Twitter Bootstrap, Angular.js, (Legacy: ASPX/ASHX services, jQuery, backbone.js)
  • Issue Tracker - Used by clients to report data issues, connectivity issues, or any other problem with FactSet systems. Allows consultants and engineers to work together closely to resolve the issue, and directly communicate back to the client with a web portal. Built with Angular.js, ASP.NET/WebAPI, C#, SQL Server.
  • “Push” - A WebSocket server written in C#. Originally written as part of my internship, now handles real time updates for all of FactSet’s internal sites. The first version of Push was written at a time when there were no good C# libraries for websockets, so I had to implement the protocol as defined in the RFC. It has since been moved to a more standard WebSocket library.
  • FileStore - A file storage API similar to Amazon’s S3. Built on top of FactSet’s existing distributed file system. Handles managing disk resources, virus detection and alerting, and file permissioning. Built with C#, ASP.NET/WebAPI, SQL Server.
  • Build and Deployment System - FactSet’s build and deployment system used to consist of hand-written MSBuild script. Creating a new script would involve copy/pasting an old script, and replacing all the file names/paths. This did not scale. I wrote a new system on top of TFS’s XAML build scripts. I also designed a portal for deploying/rolling back production releases, as well as handling SOX compliance around deployments. Built with TFS, XAML, Powershell, C#, ASP.NET/WebAPI, Twitter Bootstrap, SQL Server.
  • Chrome extension store - The Chrome extension store allows one click installation for internal Chrome extensions that have not been deployed to Google’s extension store. Built with C#, InstallShield (for installing registry keys to user’s machines).
  • Internal chat tool - “For fun” project built during FactSet’s hackathon. Web portal (similar to Slack) for chatting with internal users. Built with Javascript, Node.js, Angular.js, Socket.io.

Purdue

  • CrossTxT - CrossTxT allowed you to receive and send text messages from your Android device directly from the website. CrossTxT was sold in 2011. You can see an archived version of the site here https://web.archive.org/web/20111028183332/http://crosstxt.com/.
  • Gathr - Gathr was a social networking app that allowed you to arrange meetups with your friends in real time. Dropping an event on your map with invite your friends to “Gathr” and show your current location.
  • PurdueBus - Back when I was a Purdue student, the bus system was not integrated with Google maps, so students would manually look at the Lafayette bus website. PurdueBus was an android app that mapped all the Lafayette bus stops and allowed you to view when the next bus would arrive at that stop.

Other

  • Stripe Capture the Flag (CTF) 2 and 3 winner. Stripe CTF is a series of programming challenges, if you complete all of the challenges you “capture the flag”. CTF 2 was focused on web security (XSS, timing attacks, hash extension attacks, etc.). CTF 3 was about distributed systems. Out of the 7,500 people that signed up for CTF 3 only 216 finished, I was #25 to capture the flag. More info: https://stripe-ctf.com/
  • Working on side projects and contributing to open source projects outside of work. Created a real time chess game and installed it on an Amazon EC2 instance. Added windows compatibility to crx (a chrome extension packer for node) https://github.com/oncletom/crx.

The best way to contact me is to send me an email [email protected]

You can also see me on LinkedIn View Bryan Ehrlich's profile on LinkedIn

or view me on GitHub https://github.com/adotout