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. Feel free to contact me directly to learn more.
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
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 moreFaster command line tools with Go
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. It was at the top of Hacker News and got picked up by other sites as well. Then Euan Torano wrote Faster Command Line Tools in Nim. After reading about both, I found some comments in the Reddit post on the same topic, but in Go. Go is a great tool for many things, but I wasn’t sure what kind of performance I’d get out of this kind of tool. ... read moreEnough with the microservices
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 Intro Much has been written on the pros and cons of microservices, but unfortunately I’m still seeing them as something being pursued in a cargo cult fashion in the growth-stage startup world. At the risk of rewriting Martin Fowler’s Microservice Premium article, I thought it would be good to write up some thoughts so that I can send them to clients when the topic arises, and hopefully help people avoid some of the mistakes I’ve seen. The mistake of choosing a path towards a given architecture or technology on the basis of so-called best practices articles found online is a costly one, and if I can help a single company avoid it then writing this will have been worth it. ... read moreEnough with the microservices (Chinese translation)
资深架构师Adam Drake在他的博客上分享了他对微服务的看法,他从自己的经验出发,结合Martin Fowler对微服务的见解,帮助想要采用微服务的公司重新审视微服务。以下内容已获得作者翻译授权,查看英文原文 Enough with the microservices。 简介 关于微服务的优势和劣势已经有过太多的讨论,不过我仍然看到很多成长型初创公司对它进行着盲目崇拜。冒着“重复发明轮子”的风险(Martin Fowler已经写过“Microservice Premium”的文章),我想把我的一些想法写下来,在必要的时候可以发给客户,也希望能够帮助人们避免犯下我之前见过的那些错误。在进行架构或技术选型时,将网络上找到的一些所谓的最佳实践文章作为指南,一旦做出了错误的决定,就要付出惨重的代价。如果能够帮助哪怕一个公司避免犯下这种错误,那么写这篇文章都是值得的。 ... read more