Adam Gravitis

Engineer, entrepreneur, economist

Read this first

Theory of the Firm in Decline

The theory of the firm posits that internal transaction costs of coordinating production are lesser than external transaction costs. Basically, it costs less to get things done within the company than to accomplish those things through coordination between smaller companies.

What is included within a firm is a constant battle between market forces, and in the last two decades management consultants have been paid a lot of money to identify what “core competencies” firms hold, with an eye to outsourcing anything which doesn’t absolutely have to be done internally to the firm.

The compounded effects of outsourcing and automation have lead to the latest round of thought leadership, whereby we are informed that employees are coming to an end, and that there “will be no employees outside of the C-suite” in the near-future.

There is a strong narrative building in the popular media linking...

Continue reading →

Programming without Text

I am disappointed with the current state of programming today, largely because it used to be one of my favourite pasttimes. It’s not the logic, or the projects, or the prevailing attitudes, or even the languages employed, per se, which are the source of my disappointment.

Rather, it is the actual experience of programming which I feel falls short: so very short of what I feel it really could and ought to be in this day and age.

Essentially, we have artificially restricted ourselves to expressing program structure in the form of text documents. This is the key problem.

Using text as an expression mechanism is holding us back more than most engineers realize. Certainly, there are a host of benefits: it’s extraordinarily basic to deal with, highly interoperable, cut-paste works without a hitch, and every single programming language is designed to be edited in text.

But we all realize...

Continue reading →


One of the truths I’ve constantly re-arrived at over the past several years is that optimization is boring. It’s a bit of a shame, since I tailored most of my senior engineering courses toward optimization. But although I understand many of the numerical techniques and general engineering principles, optimization itself remains super boring.


Mostly because it’s the part of engineering you can commoditize. When a problem fits neatly into the category of optimization, you can confidently declare: “No problem, throw two smart guys at it for a week.” Or worse, “we’ll just lock a bunch of machine learning kids in the basement until they make it better.”

It’s a bit harsh for me to claim that doing optimization is a commodity. Of course, engineers familiar with the space will be able to do a much more accurate and faster job of it. But at the end of the day, chances are you can...

Continue reading →