Adam Drake

Right Now

I help boards and executives at growth-stage technology companies continue (or resume) rapid acceleration by advising them on improving their leadership capabilities, operations, and technology. While I specialize in executive advising on leadership and process, I can also dive into deep technical problems with Data Science or Software Engineering departments.

If you think I can help you and your team, contact me by email or on Twitter! I’m always interested in learning about what other companies are working on and how I might be able to help.

I have a few tech projects in progress that will undoubtedly become blog posts. I’m working on an e-book about leadership in organizations, as well as a field manual for triaging performance and architecture in growth-stage startups. I sometimes write code for open-source projects like TinySite and CompressTest. I also work on ApplyByAPI, a tool that helps companies focus on quality over quantity in their tech hiring process.

Recent Publications

Teammate to Team Lead

August 1, 2017

Introduction Growing organizations go through many changes on the journey of scaling up. A common one is the creation of new teams, and consequently, new team leaders. As startups move from teams of people, to teams of teams, former peers become leaders and must learn to excel in their new role. How do you tackle the challenges of being viewed differently and commanding a new level of respect, while at the same time remaining humble and approachable to your team? [Read more]

Faster command line tools with Go

May 29, 2017

Update After some input from u/epiris on Reddit, I improved the code a bit further by changing the way bytestreams are scanned. Current fastest runtime is 0.308s for 10,512,769 rows, or about 34 Million rows per second. Since the file is 184 Megabytes, this is a processing speed of about 600 Megabytes per second, which is probably close to the read speed limit of my SSD. It all started with a blog post, Faster Command Line Tools in D. [Read more]

Enough with the microservices

May 20, 2017

Tl;dr: Don’t even consider microservices unless you have a system that’s too complex to manage as a monolith. The majority of software systems should be built as a single monolithic application. Do pay attention to good modularity within that monolith, but don’t try to separate it into separate services. – Martin Fowler If you can’t build a well-structured monolith, what makes you think microservices is the answer? – Simon Brown [Read more]

Enough with the microservices (Chinese translation)

May 20, 2017

资深架构师Adam Drake在他的博客上分享了他对微服务的看法,他从自己的经验出发,结合Martin Fowler对微服务的见解,帮助想要采用微服务的公司重新审视微服务。以下内容已获得作者翻译授权,查看英文原文 Enough with the microservices。


关于微服务的优势和劣势已经有过太多的讨论,不过我仍然看到很多成长型初创公司对它进行着盲目崇拜。冒着“重复发明轮子”的风险(Martin Fowler已经写过“Microservice Premium”的文章),我想把我的一些想法写下来,在必要的时候可以发给客户,也希望能够帮助人们避免犯下我之前见过的那些错误。在进行架构或技术选型时,将网络上找到的一些所谓的最佳实践文章作为指南,一旦做出了错误的决定,就要付出惨重的代价。如果能够帮助哪怕一个公司避免犯下这种错误,那么写这篇文章都是值得的。

[Read more]

Redis Performance Triage Handbook

May 15, 2017

Intro I do a lot of work with growth-stage startups, and many of them use Redis for all sorts of things. Sometimes as a key/value store for caching, sometimes as a message queue, sometimes as a pub/sub message broker, etc. Redis is a great tool, with great performance, when used properly. However, I’ve often seen cases where it is not used with good performance in mind, often to the detriment of system uptime and customer satisfaction. [Read more]

An Unreasonably Deep Dive into Project Euler Problem 3

May 14, 2017

Intro I’ve been busy as usual for the last couple of months, and haven’t really had time to extend the Project Euler series after Problem 1 and Problem 2 articles. However, I finally did set aside some time to play around with Problem 3: finding the largest prime factor of a number. Problem Statement The prime factors of 13195 are 5, 7, 13 and 29. What is the largest prime factor of the number 600851475143? [Read more]

The Ten-Minute Reorg

March 26, 2017

I spend a lot of time working with growth-stage startups. I often see similar problems across companies when it comes to scaling up their tech teams. At a certain point, the intuitive way to grow a team breaks down, and a reorganization (“reorg”) is necessary in order to adopt a scalable structure. Where some companies may take months to design and execute a reorg, I prefer to handle the majority of it in about ten minutes. [Read more]

Command and Control

January 28, 2017

Introduction When I advise organizations, they often ask if I have written down or somehow codified my perspectives on leadership and operations. Until now, the answer has been a polite not yet. I simply didn’t believe I have accumulated sufficient experience to warrant writing something from a position of authority on the topic of leadership and operations in organizations. After much consideration and gentle prodding from advisory clients, I have come to understand that my perspective may be flawed. [Read more]