Troy at a Glance
- Programmer
- Teaching computers to work since 2008
- Full Stack
- Willing to jump into any (and any part) of a code base
- Polyglot
- Enjoys and actively learns new programming languages
- Quality Oriented
- Vastly prefers coding patterns that promote testability
- Automation Fanatic
- Believes a robust system is one that runs itself
- Current Employer
- Salesforce
- Location
- Greater Denver Area, Colorado, United States, Earth
Salesforce
2015-Present
Fulltime - Lead Member of Technical Staff
I joined Salesforce right out of college, and first joined the team that owned the creation of Orgs within Salesforce. This being one of the oldest and fundamental pieces of Salesforce's function, I got to learn first hand how to both maintain a legacy system as well as to expand it with new features and capabilities. I helped implement Scratch Orgs and their creation when SFDX was in development. I then transitioned to a new org that aimed to integrate Salesforce data with other Salesforce services (Salesforce always acquiring new companies and tech stack) and helped build the product that ended up as Customer 360 Data Manager, showcased at 2019 Dreamforce. I'm now working within the Trailhead Org, Salesforce's online learning platform for all things Salesforce, and working to integrate it more closely with the products it helps teach.
Salesforce
Summer 2014
Internship
During my internship at Salesforce, I worked with another intern to provide two new tools - a GUI powered program for building a web page, and an automated tool for integrating Salesforce's internal ticketing system with Trello. The internship went very well (both projects being a success) and I got an offer to return as a full time employee the next year.
Recondo Technology
Fall 2013 - Spring 2014
Internship
During the 2013-2014 school year, I worked as an intern for Recondo Technology (who very conveniently had an office right off of campus). Recondo provided hospitals and health care facilities an automated system for handling health insurance for patients, and during my time there I worked on the rule engine for defining what information was needed for certain transactions.
Return Path
Summer 2013
Internship
This internship was my introduction to a serious Java shop, as well as the (at the time) new Kafka technology. Return Path provided email services for marketers and email providers to detect and block spam, and were exploring using Kafka as a more efficient data pipeline. It was a great experience, and I learned a lot about mature Java code repository and programing practices while there.
LGS Innovations
Summer 2012
Internship
I worked with another intern to program off the shelf technology - Arduinos - to create a mesh network of sensor motes that would be able to detect when specific events happen in the physical world around them. We were able to build a proof-of-concept system where slapping a table with various motes on it would accurately be able to detect which mote was the closest to the event, as well as to ignore more subtle events like table nudging.
Colorado School of Mines
2010-2015
Bachelors (Math) and Masters (CS)
I originally went to CSM to get a degree in Applied Mathematics, but took advantage of some programming courses along the way and found I really enjoyed it. After graduating with my BS in Math, I took advantage of many of the CS courses I took as an undergraduate to also get a Masters in Computer Science a year later.
Languages
Technology
MacOS
Ruby on Rails
MySQL
Tools
Eclipse
Visual Studio
Heroku
I've been enjoying learning and programming
Crystal Lang
and have been making some toy projects in it to explore other technologies as well. Below is a sampling of
some of the crystal libraries I've make public:
cr-config
A crystal library meant for supporting large and hierarchical configuration files.
Provides methods for defining configurations through configuration files, environment
variables, program arguments, or even custom sources through custom configuration
providers.