<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Taylor Clauson</title>
    <description>Taylor Clauson writes about software, startups, developer tools, and markets. Explore essays, reading notes, and The Queue newsletter.
</description>
    <link>https://www.tclauson.com/</link>
    <atom:link href="https://www.tclauson.com/feed.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Fri, 25 Sep 2026 14:35:13 +0000</pubDate>
    <lastBuildDate>Fri, 25 Sep 2026 14:35:13 +0000</lastBuildDate>
    <generator>Jekyll v4.4.1</generator>
    
    
    
    
      
      
      <item>
        <title>Wrappers</title>
        <description>&lt;p&gt;SaaS businesses (particularly ones for technical users) sometimes have to deal with a vocal outcry that their product “is just a wrapper around” something. The implication is that ‘a wrapper’ is inherently not valuable, and it’s impossible to build a great business around such a product. This logic is a product of lazy thinking and myopia; &lt;strong&gt;‘wrappers’ can be insanely valuable.&lt;/strong&gt;&lt;!-- more --&gt;&lt;/p&gt;

&lt;p&gt;Here are a few examples that come to mind:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Dropbox is “just rsync”&lt;/li&gt;
  &lt;li&gt;Heroku is “just Linux containers on AWS”&lt;/li&gt;
  &lt;li&gt;Netlify is “just static hosting and a CDN”&lt;/li&gt;
  &lt;li&gt;Retool is “just MS Access reinvented for the web”&lt;/li&gt;
  &lt;li&gt;IFTTT is “just cron + APIs”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These statements are lazy thinking–they have elements of truth in them, but they aren’t complete. &lt;strong&gt;People are willing to pay for magic&lt;/strong&gt;. This magic sometimes goes by names like “it just works” or “consumerized experience.” The thread that runs through the different monikers is that it accomplishes an otherwise painful&lt;sup id=&quot;fnref:0&quot;&gt;&lt;a href=&quot;https://www.tclauson.com/2020/07/27/Wrappers.html#fn:0&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot; role=&quot;doc-noteref&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; task quickly and delights the user.&lt;/p&gt;

&lt;p&gt;Technical users want to be delighted, too, even if the interaction layer may not be a GUI. It might be a CLI, fantastic docs, or a clean API (or likely all of the above). So, if you can take something painful and move the interaction layer, the value proposition of the underlying tools grows.&lt;/p&gt;

&lt;p&gt;Big cloud providers will likely offer a comparable service, &lt;a href=&quot;https://www.tclauson.com/2019/09/11/Unbundling-AWS.html&quot;&gt;but these aren’t often existential threats to the best-in-class original&lt;/a&gt;. Why? &lt;strong&gt;Because the interaction layer matters&lt;/strong&gt; and a meaningful subset of users are willing to pay for the premium experience.&lt;/p&gt;

&lt;p&gt;A few condensed observations about this ‘interaction layer’:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;people want a ‘sensible defaults’ way of doing things … an opinionated way of starting out&lt;/li&gt;
  &lt;li&gt;UI/UX matters a lot (this includes docs and CLI)&lt;/li&gt;
  &lt;li&gt;rarely, the core value prop isn’t already being accomplished crudely by huge companies&lt;/li&gt;
  &lt;li&gt;modern open-source companies that are successful have to nail this in ways their predecessors didn’t&lt;sup id=&quot;fnref:1&quot;&gt;&lt;a href=&quot;https://www.tclauson.com/2020/07/27/Wrappers.html#fn:1&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot; role=&quot;doc-noteref&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
  &lt;li&gt;consumerization of everything — i.e., how little of $PLUMBING can I get away with knowing?&lt;/li&gt;
  &lt;li&gt;there are a meaningful number of technical users who can do something, but don’t want to waste otherwise valuable time doing so&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One could argue that the term for this is just ‘user experience,’ but that doesn’t seem quite right to me. Because it’s not about an experience of the underlying tool or process, it’s about creating an entirely new tool by ‘wrapping’ some of the original components.&lt;/p&gt;

&lt;div class=&quot;footnotes&quot; role=&quot;doc-endnotes&quot;&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:0&quot;&gt;
      &lt;p&gt;pain usually equates to a measure of complexity, monotony, or slowness &lt;a href=&quot;https://www.tclauson.com/2020/07/27/Wrappers.html#fnref:0&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:1&quot;&gt;
      &lt;p&gt;I suspect this is because we now have such a good base of open-source software that much of the opportunity is with higher-level products. Decades ago, the popular OSS products were things like operating systems, programming languages, and language-adjacent tools like compilers. Then, higher-level abstractions started moving open-source: webservers, web frameworks, e-commerce platforms, content management systems. The trendline is higher, and the interaction layer matters more the higher you go &lt;a href=&quot;https://www.tclauson.com/2020/07/27/Wrappers.html#fnref:1&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;
</description>
        <pubDate>Mon, 27 Jul 2020 00:00:00 +0000</pubDate>
        <link>https://www.tclauson.com/2020/07/27/Wrappers.html</link>
        <guid isPermaLink="true">https://www.tclauson.com/2020/07/27/Wrappers.html</guid>
        
        <category>startups,</category>
        
        <category>aws,</category>
        
        <category>devtools,</category>
        
        <category>infrastructure</category>
        
        
      </item>
    
      
      
      <item>
        <title>The Markdown Test</title>
        <description>&lt;hr /&gt;

&lt;p&gt;&lt;br /&gt;
&lt;small&gt;// &lt;em&gt;NOTE: this post serves as an open request for feedback as I try to articulate the edges of a thesis I find compelling. I need to pressure test it, so please send me your thoughts!&lt;/em&gt;&lt;/small&gt;
&lt;br /&gt;&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt;&lt;br /&gt;
As an investor, I am focused on what I think of as ‘technical tools.’ That is, tools that either help developers build or deploy code, or tools that help pseudo-technical users do developer-like things. There are some edges for this where it’s hard to delineate what is/isn’t a tool for a technical user, especially in the collaboration space. In fact, much of my thinking here stems from the question, “&lt;em&gt;so does this include stuff like Slack?&lt;/em&gt;,” which comes up a surprising amount in conversation. &lt;!-- more --&gt;&lt;/p&gt;

&lt;p&gt;I have been working on a simple test to better define the edges of this thesis… To start, let’s put the world of users into some discrete buckets, ranging from obviously technical to less technical:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Developers&lt;/strong&gt; - people who write code for a living&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Code literate&lt;/strong&gt; - people who don’t write code for a living, but understand what’s involved&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Code aware&lt;/strong&gt; - people who can wrangle a good spreadsheet, but are unlikely have never opened a text editor besides Word (this is the bucket that I have the most trouble with, so any thoughts are welcome!)&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Obviously nontechnical&lt;/strong&gt; - a large catch-all bucket for the widest part of the distribution, people who have a very limited technical understanding&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;https://www.tclauson.com/assets/img/concentric_circles.png&quot; alt=&quot;Concentric circles of technical aptitude&quot; width=&quot;960&quot; height=&quot;540&quot; decoding=&quot;async&quot; loading=&quot;lazy&quot; /&gt;&lt;/p&gt;
&lt;p class=&quot;caption&quot;&gt;Segmenting technical aptitude... you can&apos;t see it at this resolution but there&apos;s a tiny inner circle within the green where people are fighting the vim vs emacs flamewar&lt;/p&gt;

&lt;p&gt;Using the visualization above as a mental model, I’d say that I am targeting products that cater to the inner two circles: people who write code for a living (self-explanatory) and those who are code-literate, are part of some software development processes, but don’t write code for a living (product managers, some project managers, some business analyst types).&lt;/p&gt;

&lt;p&gt;The best heuristic I have come up with for tools that cater to these segments is what I have dubbed ‘the &lt;a href=&quot;https://daringfireball.net/projects/markdown/&quot;&gt;Markdown&lt;/a&gt; test’ and it’s very simple: &lt;strong&gt;does this product support Markdown input&lt;/strong&gt;?&lt;/p&gt;

&lt;p&gt;It feels like a pretty good marker; I don’t know anyone with zero technical chops that knows Markdown, but it’s also not so abstruse as to exclude those pseudo-technical users that are part of the design/build/deploy process.&lt;/p&gt;

&lt;p&gt;Hilariously enough, using Slack as a case study even provides a recent example of what happens when you start out with Markdown support and pull it in favor of a WYSIWYG input:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://www.tclauson.com/assets/img/hn_slack_post.png&quot; alt=&quot;HN post on Slack removing Markdown&quot; width=&quot;514&quot; height=&quot;104&quot; decoding=&quot;async&quot; loading=&quot;lazy&quot; /&gt;&lt;/p&gt;
&lt;p class=&quot;caption&quot;&gt;&lt;a href=&quot;https://news.ycombinator.com/item?id=21589647&quot; class=&quot;caption-link&quot;&gt;HN discussion on Arthur O&apos;Dwyer&apos;s November post&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In summary: a revolt that led to Slack walking back the changes.&lt;/p&gt;

&lt;p&gt;I’m not suggesting that developers or technical people universally love Slack, or really even Markdown. It’s just the simplest heuristic I have managed. So, for now, the edge of this thesis on technical tools covers collaboration tools as long as they support Markdown. Please reach out and help refine my thinking!&lt;/p&gt;

&lt;h2 id=&quot;a-possible-alternative&quot;&gt;A possible alternative&lt;/h2&gt;

&lt;p&gt;Another vein I have explored was along the lines of what integrations a tool has. For example, was it designed with integrations to [ git workflows, Jira, Segment, etc ]? The problem with this logic is that it’s self-referential… the tools in the integration set have to be defined as to whether they are technical tools.&lt;/p&gt;
</description>
        <pubDate>Wed, 15 Jan 2020 00:00:00 +0000</pubDate>
        <link>https://www.tclauson.com/2020/01/15/The-Markdown-Test.html</link>
        <guid isPermaLink="true">https://www.tclauson.com/2020/01/15/The-Markdown-Test.html</guid>
        
        <category>startups,</category>
        
        <category>devtools,</category>
        
        <category>investing</category>
        
        
      </item>
    
      
      
      <item>
        <title>Tools I Learned in 2019</title>
        <description>&lt;p&gt;For the third successive year, I’m doing a quick digest of what tools I used for the first time in the past year. I subscribe to the idea that your capacity to be productive (as an individual, team, firm, or society) will asymptote relative to your ability to utilize (and build) specialized tools. And I think software is a microcosm of this; each layer of the stack has different components that are good at different tasks, and by composing a mesh of these tools, you can build high-quality applications.&lt;!-- more --&gt;&lt;/p&gt;

&lt;p&gt;Usual caveat: my goal with each of these was to learn just enough to see how they work at a basic level, and it’s safe to say that I am a noob at all of them…&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Redis&lt;/strong&gt;&lt;/p&gt;

    &lt;p&gt;I am late to this party, but &lt;a href=&quot;https://redis.io/&quot;&gt;Redis&lt;/a&gt; is delightful. To learn the basics, I was using the CLI, then added it in as a cache to a containerized Flask app. Redis could be a case study in how to build an open source tool that does its job really well and won over the hearts of developers. It’s some of the best user experience I have seen for developers: a beautifully-clean API, and awesome CLI, and great documentation.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Gatsby&lt;/strong&gt;&lt;/p&gt;

    &lt;p&gt;Site generators and decoupled app architectures are really interesting to me. I’m extremely bullish on the JAMstack paradigm/ecosystem, and I have spent time with Jekyll and Hugo. &lt;a href=&quot;https://www.gatsbyjs.org/&quot;&gt;Gatsby&lt;/a&gt; is very popular and I wanted to check it out. The good: React and GraphQL, along with Gatsby’s excellent documentation and generally easy-to-use CLI. The bad: I just don’t love the JS tooling world. It feels overly-complicated and bloated to me. That said, I wouldn’t bet against JavaScript.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;A little bit of kubernetes&lt;/strong&gt;&lt;/p&gt;

    &lt;p&gt;This was just enough to familiarize myself with it. At a 100k foot level, I find a lot of conceptual appeal in the idea of portable, scalable orchestration. But the devil is in the details here, and the current state of k8s feels like an interim step with too much complexity. Cindy Sridharan &lt;a href=&quot;https://medium.com/@copyconstruct/a-decade-in-review-in-tech-1cde76c9b43c&quot;&gt;said it well&lt;/a&gt;:&lt;/p&gt;

    &lt;blockquote&gt;
      &lt;p&gt;Right now the cloud native ecosystem is a bit of an embarrassment of low level riches. As an industry we need to innovate, experiment and educate more on what the right “highest level abstraction” would look like.&lt;/p&gt;
    &lt;/blockquote&gt;

    &lt;p&gt;I’m bullish on ideas that are pushing toward that higher-level of abstraction to make this process less painful while still realizing some of the benefits.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Power Laws&lt;/strong&gt;&lt;/p&gt;

    &lt;p&gt;One of the things that I spent a lot of hours on this past year was understanding some of the more nuanced traits of a power law distribution. There has been extensive writing about how venture returns follow a power law (or perhaps lognormal) distribution, and I wanted to play with the math to better familiarize myself. I generally prefer to use Python for any numerical analysis, and the &lt;a href=&quot;https://github.com/jeffalstott/powerlaw&quot;&gt;powerlaw&lt;/a&gt; package was where I spent most of my experimenting time. Investing in startups is a simple concept with a lot of nuance behind it, and the portfolio theory matters a lot. Jerry Neumann had a couple of &lt;a href=&quot;http://reactionwheel.net/2015/06/power-laws-in-venture.html&quot;&gt;great&lt;/a&gt; &lt;a href=&quot;http://reactionwheel.net/2017/12/power-laws-in-venture-portfolio-construction.html&quot;&gt;pieces&lt;/a&gt; on this topic, and AngelList just came out with an &lt;a href=&quot;https://angel.co/blog/what-angellist-data-says-about-power-law-returns-in-venture-capital&quot;&gt;interesting study&lt;/a&gt; along the same lines.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Thu, 09 Jan 2020 00:00:00 +0000</pubDate>
        <link>https://www.tclauson.com/2020/01/09/Tools-I-Learned-in-2019.html</link>
        <guid isPermaLink="true">https://www.tclauson.com/2020/01/09/Tools-I-Learned-in-2019.html</guid>
        
        <category>learning</category>
        
        
      </item>
    
      
      
      <item>
        <title>Unbundling AWS</title>
        <description>&lt;p&gt;Over the past year, I have spent a lot of time digging into cloud infrastructure and technical tools as a space for investing. One of the emergent behaviors of technology trends is the accelerating advantage of being a winner, played out with network effects or scale effects (or both!). Since its mid-2000’s launch, AWS has obviously become a juggernaut, growing so quickly and throwing off so much cash that even Amazon can’t put it to work fast enough (!). Getting a new software product to market has never been as cheap or fast as it is today, despite the fact that the surface area of in-depth knowledge required to build high-performing software has never been higher.&lt;br /&gt;
&lt;!-- more --&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://www.tclauson.com/assets/img/aws_rev.svg&quot; alt=&quot;AWS Revenue&quot; width=&quot;700&quot; height=&quot;500&quot; decoding=&quot;async&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Leveraging lessons from building Amazon’s existing infrastructure, AWS has amassed &lt;a href=&quot;https://www.parkmycloud.com/blog/aws-vs-azure-vs-google-cloud-market-share/&quot;&gt;almost 50% market share&lt;/a&gt; of public cloud spending. It started out offering a small handful of services (S3, SQS, and EC2), but now has &lt;a href=&quot;https://en.wikipedia.org/wiki/Timeline_of_Amazon_Web_Services&quot;&gt;170 discrete services&lt;/a&gt; spanning 23 categories (and these are only the public ones!) As an early stage investor, I’m hard-pressed to name any tectonic shifts that have had as much impact on startup formation. The availability of open source tooling and the ease of access to infrastructure on AWS and other IaaS providers, and infrastructure turning into software, which means it’s programmable and, increasingly, thinly-sliced.&lt;/p&gt;

&lt;p&gt;Recently, when I opened the AWS Console, I had a moment of &lt;em&gt;deja vu&lt;/em&gt; that called back to a 2010 post by Andrew Parker, then of Spark Capital, that focused on the &lt;a href=&quot;https://thegongshow.tumblr.com/post/345941486/the-spawn-of-craigslist-like-most-vcs-that-focus&quot;&gt;startup opportunities of unbundling Craigslist&lt;/a&gt;. And it shifted a long-simmering feeling into focus for me: &lt;strong&gt;I am really excited about startups that are unbundling AWS.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;https://www.tclauson.com/assets/img/aws_cl_sidebyside.png&quot; alt=&quot;AWS Console and Craigslist homepage side-by-side&quot; width=&quot;2308&quot; height=&quot;1353&quot; decoding=&quot;async&quot; loading=&quot;lazy&quot; /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;AWS’s growth has started slowing a bit, perhaps due to saturation, perhaps due to competition. Or perhaps it is because [my theory] as they continue to expand into platform-type services, some of their offerings shift from being best-in-class to being very reliable and with a ‘just-ok-but-well-integrated’ user experience. This is a great way to make money, but it also leaves certain of the ‘categories’ on the homepage open to outmaneuvering by a best-in-class experience.&lt;/p&gt;

&lt;p&gt;I need to map out something like the awesome graphics that the Spark folks produced for Craigslist, but for now, I have been exploring my intuition about where and why there will be pieces of AWS that will be subject to unbundling. Here are a few that have come to mind already:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Frameworks and deployment tools that make application software agnostic to the underlying infrastructure provider. Things like the &lt;a href=&quot;https://serverless.com&quot;&gt;Serverless framework&lt;/a&gt;, containers + orchestration, or IAC tools like &lt;a href=&quot;https://saltproject.io/&quot;&gt;Saltstack&lt;/a&gt;, &lt;a href=&quot;https://www.hashicorp.com/products/terraform&quot;&gt;Terraform&lt;/a&gt;, &lt;a href=&quot;https://www.ansible.com/&quot;&gt;Ansible&lt;/a&gt;, etc&lt;/li&gt;
  &lt;li&gt;The overlapping areas of logging, APM, and monitoring. This is a hot area right now, with IPO’s like &lt;a href=&quot;https://www.dynatrace.com/&quot;&gt;Dynatrace&lt;/a&gt; or &lt;a href=&quot;https://www.datadoghq.com/&quot;&gt;Datadog&lt;/a&gt;, or acquisitions like &lt;a href=&quot;https://www.signalfx.com/&quot;&gt;SignalFX&lt;/a&gt;. Related: &lt;a href=&quot;https://www.linuxjournal.com/content/cloudwatch-devil-i-must-use-it&quot;&gt;Cloudwatch is terrible&lt;/a&gt;!&lt;/li&gt;
  &lt;li&gt;Data science workflows – this is my subjective, anecdotal experience, but most data scientists I know have a preference for Google Cloud for a lot of their work, and &lt;a href=&quot;https://cloud.google.com/tpu/&quot;&gt;custom hardware like TPUs&lt;/a&gt; likely play a role here&lt;/li&gt;
  &lt;li&gt;Authentication and identity – &lt;a href=&quot;https://auth0.com/&quot;&gt;Auth0&lt;/a&gt;, &lt;a href=&quot;https://www.loginradius.com/&quot;&gt;LoginRadius&lt;/a&gt;, &lt;a href=&quot;https://www.okta.com/&quot;&gt;Okta&lt;/a&gt;, etc … where it may make sense to have a third-party handle&lt;/li&gt;
  &lt;li&gt;Paradigms that lead to different stack choices – I’m a big proponent of the &lt;a href=&quot;https://jamstack.org/&quot;&gt;JAMstack&lt;/a&gt;, and it’s a prime example of a paradigm where AWS may not be a natural choice for parts of this architecture. I believe that we will continue to see this and other new architectural paradigms evolve&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There are obvious differences between Craigslist and AWS. The most important is that Craigslist (and each of the category spawn) is a marketplace, and so has the powerful advantage of network effects. Another distinction is that AWS has relative cost advantages over its unbundlers when it comes to the fundamental components of infrastructure (compute, bandwidth, storage, etc.), and I can’t see a parallel to Craigslist. So it’s not a perfect analogy, but the premise of unbundling certain categories still holds.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;
&lt;strong&gt;But what if Amazon launches a competing product?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is one of those classical questions for any startup. In general, I don’t get too worried about $BIGCO being the reason that a startup dies. In my experience, it’s pretty far down the list of &lt;a href=&quot;http://www.paulgraham.com/startupmistakes.html&quot;&gt;things that actually kill startups&lt;/a&gt;. That said, particular to developer-facing startups, there might be some reason for concern. AWS’s relationship with open source is … &lt;a href=&quot;https://stratechery.com/2019/aws-mongodb-and-the-economic-realities-of-open-source/&quot;&gt;complicated&lt;/a&gt;. Notably, Mongo and Redis have both had to maneuver to combat AWS. The thing to note here is that in both of those situations, it’s a problem that those companies have had to face as they &lt;em&gt;monetize&lt;/em&gt;, and was not a barrier to adoption. Put another way: we should all be so lucky to be at a scale and level of popularity where this becomes a problem. It’s hard for me to see a lot of cases where AWS will be competing with companies before they reach scale.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;
&lt;strong&gt;Back to the future&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Thinly-sliced? Purpose-built, best-in-class tools? Sound familiar?&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;… elaborate computing tasks are typically composed from loosely coupled small parts, often software tools taken off the shelf.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The &lt;a href=&quot;https://danluu.com/mcilroy-unix/&quot;&gt;UNIX philosophy&lt;/a&gt; strikes back! The history of software development has a lot of patterns in it, and this trend toward tools and component parts that do one thing well is one of my favorite. If every part of our infrastructure is available in ever-smaller pieces, on-demand, then the long narrative arc of this philosophy ought to continue to win out.&lt;/p&gt;

&lt;p&gt;There are already billion-dollar companies that focus on relatively narrow niches within the AWS offering space–and I believe there will be many, many more. &lt;strong&gt;If you’re building something that carves out a piece of AWS, I want to talk to you&lt;/strong&gt;.&lt;/p&gt;
</description>
        <pubDate>Wed, 11 Sep 2019 00:00:00 +0000</pubDate>
        <link>https://www.tclauson.com/2019/09/11/Unbundling-AWS.html</link>
        <guid isPermaLink="true">https://www.tclauson.com/2019/09/11/Unbundling-AWS.html</guid>
        
        <category>startups,</category>
        
        <category>aws,</category>
        
        <category>devtools</category>
        
        
      </item>
    
      
      
      <item>
        <title>What are you optimizing for?</title>
        <description>&lt;p&gt;I have learned only a minuscule amount about machine learning; just enough to get under the hood and to build something very rudimentary. As I was learning some of the underlying concepts and methods, a couple of things really struck a chord in my brain–with how applicable they are to, well, everything. &lt;!-- more --&gt;&lt;/p&gt;

&lt;p&gt;When you turn a problem into code, you are forced to be explicit about things that you otherwise may not have been. Specifically, you have to be explicit about what you wish to optimize. Working with startups is inherently a question of what you are trying to optimize. As an investor, this includes things like portfolio construction and allocations. As a founder, this includes managing your product, how you measure success, and all the endless tradeoffs that you have to navigate when dealing with customers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Training objective&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Beating a professional human at Go was considered a milestone for artificial intelligence because Go has many possibilities to evaluate for a given move when compared to a game like chess. But in 2016, AlphaGo (developed by Google) won four out of five games against Lee Sedol, an 18-time world champion. What was so interesting about this is that AlphaGo made moves that seemed like mistakes to most human players. In a 2017 match against the top-ranked player, AlphaGo had one move in particular was criticized as a mistake, when the computer gave up what seemed an obvious advantage that could lead to a large margin of victory. Andrej Karpathy, an AI researcher who had spent time working on AlphaGo, later commented on that particular move:&lt;/p&gt;

&lt;div class=&quot;text-center&quot;&gt;

  &lt;blockquote class=&quot;twitter-tweet&quot; data-lang=&quot;en&quot;&gt;&lt;p lang=&quot;en&quot; dir=&quot;ltr&quot;&gt;it prefers to win by 0.5 with 99.9999999% chance instead of 10.0 with 99.99% chance.&lt;/p&gt;&amp;mdash; Andrej Karpathy (@karpathy) &lt;a href=&quot;https://twitter.com/karpathy/status/867077807779717121?ref_src=twsrc%5Etfw&quot;&gt;May 23, 2017&lt;/a&gt;&lt;/blockquote&gt;
&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;This illustrates a critical point. Not everyone around the table is optimizing for the same outcome at all moments. I have been in tense boardroom discussions where this fact is thrown into sharp relief. The lesson I have tried to internalize from digesting this is to ask myself, “what am I optimizing for?” And once I have a suitably coherent answer to that, move on to, “what are the people around me optimizing for?”&lt;/p&gt;

&lt;p&gt;To some extent, this is common sense that any book on human psychology would recommend (e.g. you have to understand what your customers need). But those Andrej Karpathy tweets continue to surface in my thoughts–especially around people whose behaviors I find confusing or when I have a particularly strong gut-level reaction to something going on with a portfolio company.&lt;/p&gt;

&lt;p&gt;One thing to note: these different outcomes may not necessarily be adversarial, not completely in alignment. These can be the most subtle ones to debug. For example, imagine two cofounders measuring success using different metrics. Both the founders may be trying to build a company, but if one believes that user growth is the most important indicator and the other believes that ACV is the most important, they will have different opinions on what strategies to employ.&lt;/p&gt;

&lt;p&gt;Often, and embarrassingly, I realize that I am optimizing for my ego. As I have noticed this in myself, I have started to also notice it in others. It goes without saying that this is not a good look. So when I feel like a situation has shifted out of alignment, and I’m struggling to put my finger on why… &lt;em&gt;what am I optimizing for? And what are the other people here optimizing for?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;
&lt;small&gt;&lt;em&gt;&lt;a href=&quot;https://hackernoon.com/what-are-you-optimizing-for-a-lesson-from-machine-learning-2070cc33dca&quot;&gt;A version of this post was originally published in Hacker Noon&lt;/a&gt;&lt;/em&gt;&lt;/small&gt;&lt;/p&gt;

&lt;script async=&quot;&quot; src=&quot;https://platform.twitter.com/widgets.js&quot; charset=&quot;utf-8&quot;&gt;&lt;/script&gt;

</description>
        <pubDate>Fri, 26 Apr 2019 00:00:00 +0000</pubDate>
        <link>https://www.tclauson.com/2019/04/26/What-are-you-optimizing-for.html</link>
        <guid isPermaLink="true">https://www.tclauson.com/2019/04/26/What-are-you-optimizing-for.html</guid>
        
        <category>ai,</category>
        
        <category>machine</category>
        
        <category>learning</category>
        
        
      </item>
    
      
      
      <item>
        <title>Tools I Learned in 2018</title>
        <description>&lt;p&gt;This is a belated and probably too-skinny version of a post I decided I’d do every year, starting with &lt;a href=&quot;https://www.tclauson.com/2017/12/05/Tools-I-Learned-in-2017.html&quot;&gt;last year&lt;/a&gt;. Usually, when I say ‘learned,’ I really mean I engaged enough to understand a little bit of what’s going on, and not that I am wizard-level user in any of these. In 2018, I spent time learning fewer new things than in 2017, but I probably went slightly deeper.&lt;!-- more --&gt;&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Working with FaaS&lt;/strong&gt;&lt;/p&gt;

    &lt;p&gt;The first time I had ever completed an intro to programming course, particularly a Python one, I remember having this feeling of, ‘now what?’ I could script a game of hangman, but didn’t have any idea how to manage an environment, package something for deployment, launch a VM (at the time, containers weren’t a big thing) configure a webserver… honestly the entire stack was opaque and intimidating. That’s one of the reasons I find serverless to be an appealing paradigm–a developer can focus on writing code that actually has a &lt;a href=&quot;https://hbr.org/ideacast/2016/12/the-jobs-to-be-done-theory-of-innovation&quot;&gt;job to be done&lt;/a&gt;, rather than the endless train of yak shaving that could otherwise be involved in launching something. I’m not trying to diminish the importance of well-orchestrated infrastructure, which is &lt;em&gt;critical&lt;/em&gt; to scaling effectively–but more just love the idea that the number of hurdles to building something small has been reduced.&lt;/p&gt;

    &lt;p&gt;&lt;br /&gt;
For this foray into learning, I started first with Lambda, but quickly grew frustrated with the complexity of the AWS dashboard and configuring API Gateways. &lt;a href=&quot;https://serverless.com&quot;&gt;Serverless&lt;/a&gt; was my next stop, and I really love it. It abstracts away a lot of the complexity and has templates with sensible defaults for a lot of different microservice structures. I played around with Netlify’s functions and I have it on my list to check out &lt;a href=&quot;https://zeit.co&quot;&gt;Zeit&lt;/a&gt; too. Decoupling code from infrastructure is a long-running trend, and this next evolution of it has a lot of promise for modularizing the ‘connective tissue’ of a lot of businesses.&lt;/p&gt;

    &lt;p&gt;&lt;br /&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;JAMstack&lt;/strong&gt;&lt;/p&gt;

    &lt;p&gt;Every so often, you come across an app or a development pattern that just intuitively feels right. I know that’s perhaps the least scientific way I could possibly characterize something, but &lt;a href=&quot;https://jamstack.org/&quot;&gt;JAMstack&lt;/a&gt; (Javascript, API’s, and Prebuilt Markup) is one of those architectural things that makes perfect sense and feels good. It fits neatly into the long-running trend of tool specialization and modularity that dates back to Bell Labs and Unix (‘programs that do one thing and do it well’.) The emergent JAMstack architecture from this trend opens up new ways for code to be deployed in ridiculously simple and uncomplicated (abstracted?) ways, further decoupling front-end web from application logic and infrastructure.&lt;/p&gt;

    &lt;p&gt;&lt;br /&gt;
&lt;a href=&quot;https://netlify.com&quot;&gt;Netlify&lt;/a&gt; is a leading company in this ecosystem, and it was one of those rare products that made me say ‘oh, wow,’ the first time I used it for a static site deployment. This site is built in Jekyll (legacy from Github pages), but I also tried out &lt;a href=&quot;https://gohugo.io/&quot;&gt;Hugo&lt;/a&gt; for the first time. Some of Hugo felt less intuitive, but true to Go’s promise, it was &lt;em&gt;blazing&lt;/em&gt; fast. I have &lt;a href=&quot;https://www.gatsbyjs.com/&quot;&gt;Gatsby&lt;/a&gt; on my list to try soon.
&lt;br /&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Dabbling in Lisp&lt;/strong&gt;&lt;/p&gt;

    &lt;p&gt;I have spent precious little time with any functional programming language, so I decided to start working my way through &lt;a href=&quot;https://mitpress.mit.edu/books/structure-and-interpretation-computer-programs-second-edition&quot;&gt;The Wizard Book&lt;/a&gt; and dabbling in Scheme, a Lisp dialect. Perhaps because I didn’t start out in OO rather than functional languages, or perhaps its just a lack of mental dexterity, I find a lot of the principles to be non-intuitive. In that regard, it’s been mentally rewarding even though it’s a challenge. I’m not done with the book and I intend to finish it this year.&lt;/p&gt;

    &lt;p&gt;&lt;br /&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;A bit of Machine Learning&lt;/strong&gt;&lt;/p&gt;

    &lt;p&gt;Perhaps more than the others on this list, I wanted to just build a baseline understanding of the moving pieces of machine learning. I went through Andrew Ng’s amazing &lt;a href=&quot;https://www.coursera.org/learn/machine-learning&quot;&gt;Machine Learning class&lt;/a&gt; on Coursera and through &lt;a href=&quot;https://course.fast.ai/&quot;&gt;fast.ai’s Deep Learning course&lt;/a&gt;. Each was spectacular in its own ways; Ng’s class focused on building into algorithms from the ground up, while fast.ai’s started with practical examples using their libraries and then dug into the moving parts.&lt;/p&gt;

    &lt;p&gt;&lt;br /&gt;
I tend to prefer the fast.ai approach, but the Ng class was really a perfect foundation. Related to this, I had to brush up on some calculus and linear algebra that had been gathering dust in my brain for a decade. The only other thing I’d say about this is that &lt;a href=&quot;https://www.gnu.org/software/octave/&quot;&gt;Octave&lt;/a&gt; is horrible and was the worst part of the Ng course!&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Mon, 21 Jan 2019 00:00:00 +0000</pubDate>
        <link>https://www.tclauson.com/2019/01/21/Tools-I-Learned-in-2018.html</link>
        <guid isPermaLink="true">https://www.tclauson.com/2019/01/21/Tools-I-Learned-in-2018.html</guid>
        
        <category>learning</category>
        
        
      </item>
    
      
      
      <item>
        <title>A founder&apos;s guide to conversations with Midwestern VC firms</title>
        <description>&lt;p&gt;&lt;em&gt;I remember the feeling of meeting with prospective investors and wanting to make a good impression. The first few conversations with an investor are high-stress and full of subtle signals. Most founders have good instincts and navigate these situations well, but the points below comprise some of the nuanced issues that I have observed over the years from the other side of those meetings. Hopefully these apply to early stage VC conversations in general, but note that they are specifically biased toward founders in the Midwest.&lt;/em&gt;&lt;!-- more --&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/p&gt;

&lt;h2 id=&quot;do-explain-what-you-do-quickly-andsimply&quot;&gt;&lt;strong&gt;Do: explain what you do quickly and simply&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;I can’t count the number of pitches where we get 10+ minutes into the meeting, and I have to ask them to stop and give me the quick, cookie-jar-level summary of exactly what the product is and who uses it. It leaves me wondering, is this what their sales pitches are like?
&lt;br /&gt;
&lt;br /&gt;&lt;/p&gt;
&lt;h2 id=&quot;dont-assume-that-any-female-at-the-firm-is-anadmin&quot;&gt;&lt;strong&gt;Don’t: assume that any female at the firm is an admin&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;It’s appalling to feel the need to write this one, but I have more than once been part of an email thread where the founder assumed that a female partner at our firm was an admin and asked her to schedule. I’m still speechless.
&lt;br /&gt;
&lt;br /&gt;&lt;/p&gt;
&lt;h2 id=&quot;do-court-thefirm&quot;&gt;&lt;strong&gt;Do: court the firm&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Cultivate a relationship. If you first meet while not fundraising, send them updates. Call your shots! There’s nothing more impressive than an entrepreneur telling me what she will accomplish, then following up a few months later to show me exactly how she did it. 
&lt;br /&gt;
&lt;br /&gt;&lt;/p&gt;
&lt;h2 id=&quot;dont-send-someone-other-than-thefounder&quot;&gt;&lt;strong&gt;Don’t: send someone other than the founder&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;I get it, this is a double standard because a VC firm is likely to send an associate or analyst to an initial meeting, but the startup needs to send a founder or CEO. An early stage venture investment is a bet on the team more than product or traction, so you need to do everything in your power to show why your team is the right team.
&lt;br /&gt;
&lt;br /&gt;&lt;/p&gt;
&lt;h2 id=&quot;do-be-honest-about-the-risks-and-challenges&quot;&gt;&lt;strong&gt;Do: be honest about the risks and challenges&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Every once in a while, there is this weird dynamic where a founder or team seems like they are absolutely intent on selling me that everything is going to be a piece of cake and they know &lt;em&gt;exactly&lt;/em&gt; what they are doing. This one may be a personal preference, but I find it intellectually dishonest and a bad sign. Yes, I want you to convince me that you know are the right person/team for this market, but I also want to see that you understand that magnitude of the challenge you are facing. &lt;strong&gt;It won’t be easy&lt;/strong&gt;, and I want to feel assured that a founder grasps this and won’t give up at the first series of speed bumps. As a founder, if you find yourself on the receiving end of the question, ‘&lt;em&gt;what keeps you awake at night?’&lt;/em&gt; consider whether you are giving a vibe that makes it seem like you expect a cakewalk.
&lt;br /&gt;
&lt;br /&gt;&lt;/p&gt;
&lt;h2 id=&quot;dont-channel-your-innerbro&quot;&gt;&lt;strong&gt;Don’t: channel your inner bro&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;If it’s the beginning of your relationship with a VC, then err on the side of being professional. No photos of yourself or your team in a swimsuit or with a beer. No innuendo. No videos of you gathering customer feedback on the street by offering them a ‘mystery shot’ (note: this also actually happened. Still speechless about this too.) 
&lt;br /&gt;
&lt;br /&gt;&lt;/p&gt;
&lt;h2 id=&quot;do-sweat-thedetails&quot;&gt;&lt;strong&gt;Do: sweat the details&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Little stuff. On your slides/emails; punctuation, font, alignment, typos. In a meeting; name recall (don’t call me Tyler). I wouldn’t draw a hard line on not funding someone because of a typo, but the more organized and buttoned-up you are, the better I feel.
&lt;br /&gt;
&lt;br /&gt;&lt;/p&gt;
&lt;h2 id=&quot;dont-downplay-competition&quot;&gt;&lt;strong&gt;Don’t: downplay competition&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Some founders seem to think that VCs want to hear that there is no competition. We don’t. It’s never the reality in the market and it demonstrates a lack of market understanding. Perhaps what you’re doing has truly never been done before, and the competition is non-consumption. Fine. But what I want to hear is what your competitors are good at (or how it’s being done today), and then why you have a special place in the market — your distinct competitive advantage that will allow you to win customers.
&lt;br /&gt;
&lt;br /&gt;&lt;/p&gt;
&lt;h2 id=&quot;do-assume-firms-talk-to-eachother&quot;&gt;&lt;strong&gt;Do: assume firms talk to each other&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;The herd mentality present in venture investors has been well-documented. I’m not defending it, but rely on the fact that firms talk to each other. If you tell me that $FIRM is looking at investing, and I know them, I’m going to call them. And if the story they tell me is different than the one you told me, I generally ratchet back my enthusiasm. To be clear, it’s not that I am looking for another firm to confirm or deny my interest; it’s that I expect a founder to be honest about the level of engagement at another firm. If you tell me that $FIRM is about to send you a term sheet, and my conversation with a person at that firm lets me know that they met with you once and are nowhere near a term sheet… well, in the words of my man Marlin in &lt;em&gt;Finding Nemo&lt;/em&gt;, “good feelings gone.”
&lt;br /&gt;
&lt;br /&gt;&lt;/p&gt;
&lt;h2 id=&quot;dont-go-answer-shopping-within-afirm&quot;&gt;&lt;strong&gt;Don’t: go answer-shopping within a firm&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Yet another one that shouldn’t have to be said, but… it happens. If one partner gives you an answer you don’t like, don’t resurface one week later talking to a different partner. We talk to each other, and you’re going to burn a bridge.
&lt;br /&gt;
&lt;br /&gt;&lt;/p&gt;
&lt;h2 id=&quot;do-have-conviction&quot;&gt;&lt;strong&gt;Do: have conviction&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Most VCs are curious and creative people. Too many times to count, I’ve seen an investor thinking out loud about variations of a product or market strategy, and suggest a change of strategy to the entrepreneur. Obviously, you should be respectful and try to be open to good ideas, but don’t roll over and accept the new ideas blindly. &lt;strong&gt;Show conviction about why what you’re doing is the right thing, the right way, at the right time.&lt;/strong&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/p&gt;
&lt;h2 id=&quot;dont-namedrop&quot;&gt;&lt;strong&gt;Don’t: name drop&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;I’m not saying don’t tell me about your marquee, name-brand customer. Just don’t go out of your way to drop names and act like it’s no big deal. Related to this, don’t artificially pad your deck with an ‘advisory board’ full of big names who barely know anything about your company. 
&lt;br /&gt;
&lt;br /&gt;&lt;/p&gt;
&lt;h2 id=&quot;do-keep-itbrief&quot;&gt;&lt;strong&gt;Do: keep it brief&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Especially in the midwest, you’re not going to close a deal at the first meeting. All you really want is to get to the second meeting. Don’t show up for a 30-minute meeting with a 50-page deck, and don’t send a 10 paragraph email. keep it simple and brief. Capture imagination and let the investors digest it before you get into the weeds. Arm them with the facts they need to make a sensible decision about whether to move forward, don’t overwhelm them with details that may just muddy the waters. Have back-pocket info to support your high-level points, in case a probing question is asked. 
&lt;br /&gt;
&lt;br /&gt;&lt;/p&gt;
&lt;h2 id=&quot;dont-use-an-investment-bank-for-an-early-stageround&quot;&gt;&lt;strong&gt;Don’t: use an investment bank for an early stage round&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Signaling is a word that comes up very often in the VC world. Using a banker or consultant to fundraise on your behalf doesn’t signal good things. My immediate question is: “did they try to raise money on their own and fail?” Not to mention, no early-stage investor wants his/her investment going toward transaction/finders’ fees.
&lt;br /&gt;
&lt;br /&gt;&lt;/p&gt;
&lt;h2 id=&quot;do-your-homework-on-thefirm&quot;&gt;&lt;strong&gt;Do: your homework on the firm&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;What types of deals does the firm tend to do? Are there specific partners that seem to attach to specific sectors or types of companies? Are you raising an amount that fits with the firms check size? Does the firm have a geographic focus? Read up on any of the investors’ blogs or tweets or anything you can find. Google and Crunchbase are your friends here.&lt;/p&gt;
</description>
        <pubDate>Thu, 15 Mar 2018 00:00:00 +0000</pubDate>
        <link>https://www.tclauson.com/2018/03/15/Midwest-VC-Conversation-Guide.html</link>
        <guid isPermaLink="true">https://www.tclauson.com/2018/03/15/Midwest-VC-Conversation-Guide.html</guid>
        
        <category>vc,</category>
        
        <category>fundraising</category>
        
        
      </item>
    
      
      
      <item>
        <title>Skills Learned in 2017</title>
        <description>&lt;p&gt;Following up on my post about tools I &lt;a href=&quot;https://www.tclauson.com/2017/12/05/Tools-I-Learned-in-2017.html&quot;&gt;learned to use in 2017&lt;/a&gt;, I wanted to also touch on some of the soft skills and lessons that I have been learning over the course of the year too.&lt;!-- more --&gt; I believe that being a well-rounded investor [person] is way more about the soft skills than the actual technical part of the job. Below are some of the lessons that I have been digesting over the past calendar year. None of them are rocket science and some may not even be particularly insightful, but they have been hammered home to me nonetheless.&lt;/p&gt;

&lt;h2 id=&quot;lessons-learned&quot;&gt;Lessons learned&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;RTFM - Read the [Freaking] Manual&lt;/strong&gt;&lt;/p&gt;

    &lt;p&gt;It seems like no matter how many times I learn this lesson, I need to be reminded of it on a continual basis. When I need information on how something works, go to the source. The formulas in the excel sheet, the language in the legal docs, the raw data used in the analysis; whatever the original source may be. Especially on something where there is complexity or lack of clarity in a group of people. &lt;strong&gt;Takeaway: go straight to the source&lt;/strong&gt;.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;The right person makes all the difference&lt;/strong&gt;&lt;/p&gt;

    &lt;p&gt;When you have the &lt;em&gt;wrong&lt;/em&gt; person in a role at a startup, everything seems harder than it should be. And startups are hard enough without that. In many cases at many companies, I have witnessed a dramatic shift when the &lt;em&gt;right&lt;/em&gt; person fills a role. Suddenly so many things that seemed painful or complicated are less painful, even if there is underlying complexity. &lt;strong&gt;Takeaway: you can’t settle when it comes to finding the right people&lt;/strong&gt;.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Don’t kick the can&lt;/strong&gt;&lt;/p&gt;

    &lt;p&gt;This is another lesson I have been slow to learn and the awareness has built over time. My observation is that nothing good ever comes of waiting too long to make the hard decision–we all have a human tendency to delay the things we dread. In his book &lt;a href=&quot;https://www.amazon.com/Hard-Thing-About-Things-Building-ebook/dp/B00DQ845EA&quot;&gt;&lt;em&gt;The Hard Thing About Hard Things&lt;/em&gt;&lt;/a&gt;, Ben Horowitz had a great line, something to the effect of, “if you’re going to eat sh*t don’t nibble.” He nailed it. If it’s time to do the hard thing, do it. No half-measures. No kicking the can down the road. &lt;strong&gt;Takeaway: resist the urge to delay a hard thing purely because it’s hard&lt;/strong&gt;.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Pick up the phone&lt;/strong&gt;&lt;/p&gt;

    &lt;p&gt;When I was younger, my tendency was to do as many things as possible over email or text. I like having the history and documentation at my fingertips should I need it later. Over time, I have shifted many things away from email, in particular, things that have any emotional content or sensitivity. Too many things are missing from the medium–depth of tone, emotion, etc.–and it’s far to easy to have something misconstrued. Maybe I need to apologize or take responsibility for something, maybe I am delivering bad news, maybe I am asking for feedback on something. Sometimes I will even call people to let them know about an email coming later. I can think of many times I have regretted using an email to deliver a message, but not a single time I regretting telling someone on call. &lt;strong&gt;Takeaway: phone &amp;gt; email for emotionally-charged things&lt;/strong&gt;.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Asking the right questions&lt;/strong&gt;&lt;/p&gt;

    &lt;p&gt;I will probably end up writing about this one separately because there’s so much to it. I have been thinking a lot about how I ask questions when meeting with a company. On its face, this sounds so easy, but there is so much nuance to it. It’s easy to ‘lead the witness.’ It’s easy to drag out the question in an effort to show off some domain expertise. It’s easy to ask questions that will focus on a risk or problem, when I should be asking questions that explore what’s possible. &lt;strong&gt;Takeaway: the questions I ask are a reflection of my posture toward the company&lt;/strong&gt;.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As with the tools I have been learning, I’m not claiming mastery of any of these. I suspect I will continue to be reminded of these lessons for many years to come!&lt;/p&gt;

</description>
        <pubDate>Sun, 10 Dec 2017 00:00:00 +0000</pubDate>
        <link>https://www.tclauson.com/2017/12/10/Skills-I-Learned-in-2017.html</link>
        <guid isPermaLink="true">https://www.tclauson.com/2017/12/10/Skills-I-Learned-in-2017.html</guid>
        
        <category>learning,</category>
        
        <category>skills</category>
        
        
      </item>
    
      
      
      <item>
        <title>Tools Learned in 2017</title>
        <description>&lt;p&gt;In spite of doing an extremely poor job of keeping any writing up to date on this site, I am going to start doing annual recaps of what I have learned over the past year. I am not totally convinced that I will use the same broad categories year-over-year, but had to start somewhere. These are the tools that I have been learning to use over 2017. I have not mastered any of these tools, more just built enough of a baseline competence to accomplish my goals in each of them.&lt;!-- more --&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Some of the Python data analysis/visualization packages (pandas, Matplotlib, seaborn)&lt;/strong&gt;&lt;/p&gt;

    &lt;p&gt;I have spent a fair amount of time using &lt;a href=&quot;https://www.r-project.org/&quot;&gt;R&lt;/a&gt; for data analysis. Learning that was nothing short of painful. R is wonderfully powerful, has a large active community, and is perhaps the most inflexible and unenjoyable programming language I have used. Were it not for &lt;a href=&quot;https://github.com/hadley&quot;&gt;Hadley Wickham’s&lt;/a&gt; packages (ggplot2, dplyr, rvest, and others), I probably would have given up a long time ago. I have always appreciated the feel of Python, and wanted to learn to use some of the data analysis ecosystem. Long story short, I don’t think I will be using R for much in the future.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Docker – redeploying an app I had made using a docker container&lt;/strong&gt;&lt;/p&gt;

    &lt;p&gt;Especially when it comes to software infrastructure tools, I don’t feel like I can ever really grok the concept and value of something until I have seen it in action and done something with it. I had a concept of what containers did, but wanted to see it in action. I built an eliminator pool app for pro football season, and I redeployed it using docker. It was one of the great ‘wow’ moments that happen every once in a while with technology. I’ll never have to configure a server for that app again.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Django – learning a python web framework&lt;/strong&gt;&lt;/p&gt;

    &lt;p&gt;As I mentioned above, I have always found Python to be a satisfying coding experience. I mean, how many other languages have something like &lt;a href=&quot;https://www.python.org/dev/peps/pep-0020/&quot;&gt;PEP 20&lt;/a&gt;. Dating back to high school, I had done a lot of scripting exercises in Python, but precious little in terms of applications. Having spent more time on javascript web frameworks, Django was awesome. It felt more thought-through.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;d3 – wanted to make a chart interactive&lt;/strong&gt;&lt;/p&gt;

    &lt;p&gt;Javascript is fantastic. And I hate it. Both. It’s ugly and slow, but is everywhere and can be made to do most anything I can imagine. That said, &lt;a href=&quot;https://d3js.org/&quot;&gt;d3.js&lt;/a&gt; is so awesome. I’m a big fan of visualization tools, so I wanted to use d3 for the chart on my &lt;a href=&quot;https://www.tclauson.com/reading/&quot;&gt;Reading page&lt;/a&gt;. I still have more I’d like to dive into on this, as I have time.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I am not sure yet what I will focus on what tools I will spend time learning next year. I think perhaps spending some time with Kubernetes and Lambda on AWS. &lt;a href=&quot;mailto:tc@tclauson.com&quot;&gt;Suggestions&lt;/a&gt; are welcome!&lt;/p&gt;
</description>
        <pubDate>Tue, 05 Dec 2017 00:00:00 +0000</pubDate>
        <link>https://www.tclauson.com/2017/12/05/Tools-I-Learned-in-2017.html</link>
        <guid isPermaLink="true">https://www.tclauson.com/2017/12/05/Tools-I-Learned-in-2017.html</guid>
        
        <category>learning,</category>
        
        <category>tools</category>
        
        
      </item>
    
      
      
      <item>
        <title>Abstracting Complexity</title>
        <description>&lt;p&gt;Near the end of last year, I came across &lt;a href=&quot;https://anders.unix.se/2015/12/10/screenshots-from-developers--2002-vs.-2015/&quot;&gt;this&lt;/a&gt; on HN and was mesmerized. Side by side screenshots of the desktops of some titans of software development, taken 13 years apart.&lt;!-- more --&gt; The thing that was so fascinating was how &lt;em&gt;little&lt;/em&gt; had changed. Throw in a newer version of a linux distro or OSX, Chrome shows up in a few places, as does Github (though doubtless git was being used previously, just without Github), but precious little else changed. In one sense this made me grin because ‘cutting-edge’ typically conjures up images of people with the latest gadgets or new shiny objects. But these folks are the people that make the things that have defined cutting-edge and &lt;strong&gt;their daily workspaces have barely changed at all&lt;/strong&gt;. My own workspace bears almost no resemblance to my workspace of 13 years ago. I think it would have have had IE as the browser, hotmail as my email provider of choice, and winamp playing in the background while I farted around with BASIC and chatted with friends on AIM. The mainstream middle of the technology adoption curve has changed so much over
that period of time, but change can be astonishingly slow at the edges. A few years ago, Chris Dixon had a great quote: &lt;a href=&quot;http://cdixon.org/2013/03/03/what-the-smartest-people-do-on-the-weekend-is-what-everyone-else-will-do-during-the-week-in-ten-years/&quot;&gt;“what the smartest people do on the weekends is what everyone else will do during the week in ten years.”&lt;/a&gt; So true. The interim seems to be all about layers of abstraction that must accumulate before it can have a step-function increase in adoption. I’m a fan of companies that do just that–abstract away complexity. It opens up new possibilities for their users to focus on the things that really matter.&lt;/p&gt;
</description>
        <pubDate>Wed, 30 Nov 2016 00:00:00 +0000</pubDate>
        <link>https://www.tclauson.com/2016/11/30/Abstracting-Complexity.html</link>
        <guid isPermaLink="true">https://www.tclauson.com/2016/11/30/Abstracting-Complexity.html</guid>
        
        <category>developers</category>
        
        
      </item>
    
  </channel>
</rss>
