Code Driven NYC: building internal tools and organizational strength
Posted on February 19th, 2016
02/16/2016 @FirstmarkCapital, 100 5th Ave, NY
Three speakers talked about internal company tools and organization.
- Gil Shklarski, VP of Technology at Flatiron Health, on “Career Ladders as Your Cultural manifesto”
- Mahmoud Arram, Co-Founder and CTO of Bluecore
- Kenny Chen, developer at Digital Ocean
Mahmoud Arram @Bluecore (email server for retailers) talked about creating an Extract, Transform and Load (#ETL) tool to facilitate the export of information to clients. Due to the wide variety of types of requests (encrypted, unzipped, etc.) and the size of the outputs, they elected to build their own ETL tool. Chronometer is a scheduler to run a pipeline made up of steps, each defined by a yaml format description.
Their interface does syntax checks on the yaml descriptions and the system allows them to control which clusters are deployed.
The use Stathat to monitor their systems and PagerDuty to forward alarms.
Next, Kenny Chen @DigitalOcean (cloud hosting) spoke about the organizational challenges Digital Ocean faces as they streamline their infrastructure. One of the issues is the rapid change in tools from five years ago at which time they started using Rails, Perl and MYSql.
A bigger challenge is deciding whether to break apart the monolithic code which has become less appropriate with increased complexity, added features and a larger staff. They are migrating toward #MarkFowler’s idea of Bounded Context: dividing the code into models with explicit interrelationships.
They started with models which monitor the servers. These can fail without affecting customers. This requires a change in administrative structure to smaller programming teams which concentrate on individuals models. Current teams are from 4 to 6 programmers.
In the third presentation, Gil Shklarski @FlatironHealth spoke about the importance of career ladders to both the company and the individual. Some of the ideas were inspired by #KevinScott who wrote “how I structured engineering teams at LinkedIn and AdMob for success”.
A career ladder starts with asking how we
- Make things
- Operate things
- Function as a team
By understanding this we can create a list of needs that are important to both the individual and the company. These include the Ladder competencies which are split into 3 swimlanes
- Technical skill
- Get shit done
- Contribution to culture
One’s ability to grown along these swimlanes, gives direction, clarity and accountability to guide one to become more productive. It also promotes consistency, fairness and clarity needed for compensation and titles.
Gil noted that an engineering ladder is a living document, so it needs to change as the company changes. He said that there is a right time to create the document. Create it too early and you lock yourself into a specific model before the business has established itself. Create it too late and ferment confusion and conflict between new and established ways to promote and compensate.