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.
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.
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 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.
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?
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.
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.
I’m not here to be right, I’m here to win. That’s a phrase I often keep in mind, especially when I feel my own ego getting the best of me or when I see someone else’s ego affecting their judgment. In this context, win means making progress towards a larger strategic goal, likely by achieving some intermediate objective. So if you are playing to win and not just to be right then you are putting aside your own ego and emotional involvement in order to make progress towards a larger goal.
Adam Drake leads technical business transformations in global and multi-cultural environments. He has a passion for helping companies become more productive by improving internal leadership capabilities, and accelerating product development through technology and data architecture guidance. Adam is currently a White House Presidential Innovation Fellow and IEEE Senior Member.