2014, the summary
This post is part of a chain of yearly summaries of noteworthy self-education and side-project work. I'm publishing these overviews to provide pointers to interesting resources, to show I'm serious about continuous self-improvement, and to inspire others to have fun with new technologies.
Previous year: 2013 <---> Next year: 2015
2014
After bootstrapping a company, this year was mostly a continuation of #startup-life: raising funding, maturing the platform, and hiring. This is, however, the summary of outside-office learnings, and although this year contains a significant amount of entrepreneurial reading suggestions, I also found some time for side-projects and side-learning outside of the startup bubble.
Scala
Discovered while reading the book 7 Languages in 7 Weeks, this interesting programming language deserved further investigation. In the great Scala course by Martin Odersky, the author of Scala gives a compelling introduction into the ideas behind the language that tries to bridge the gap between functional and object-oriented languages. This university-level course includes both theoretical lectures and many practical assignments to get your JVM hands dirty. Mathematical in nature, it does a great job introducing the fundamentals of functional languages, with functions as first-class language constructs, and many elements of the functional programmer's toolbox (map
, reduceLeft
, foldRight
, lambda calculus, lazy evaluation, infinite collections, etc). There's also a second course. The functional constructs also makes concurrency easier, since Scala is more explicit with mutable (var
) versus immutable (val
) data. Programming in Scala might feel odd at first, but changed the way I program in other languages that support functional styles, like Python, JavaScript, and modern versions of Java.
MongoDB & data wrangling
All the hipsters are playing with NoSQL databases, and so I cannot stay behind. Working through this Udacity course, given by a MongoDB developer who's only a tiny bit too excited, we spend most of the time "wrangling data", just like real scientists. Parsing and transforming data is a real timesucker in real-life, and if this course shows anything, it's that MongoDB is a very flexible tool for iterative application development and doing ad-hoc data experiments. MongoDB is built for robustness, permissive for failures, and allows quick schema changes. It also comes with a flexible query language that might feel a little bit ugly (nested JavaScript objects) at first, but as SQL isn't winning any beauty contests either, we now have at least the expressivity to execute arbitrary nested queries on arbitrary nested data. Moving from SQL to MongoDB feels like moving from Java to Python: you might be a bit concerned about type safety at first, but oh boy what does it feel flexible and enjoyable. Of course, this database isn't the best choice for every project: relatively static applications should stick with an RDBMS. Nonetheless, I quickly adopted MongoDB in our "growth hacking" scripts, enabling quicker experimentation and more flexible data schemas.
Home Automation: Raspberry Pies
In ongoing home automation efforts, I decided to move away from the deprecated NSLU2 devices to Raspberry Pi's as a more open, and better supported hardware platform. I converted our homebrew C++/Python backend to the Raspbian platform, got the DMX and RFID modules working, and set-up a master rpi and a door rpi (sensing the door status and connecting the RFID checkin/out). Besides up-to-date software, the rpi platform also allows hooking up sensors directly to the pins of the board. By now, almost all our lights are connected to the central system and can be controlled with the physical controller and checking in/out with public transit cards at the door.
Matrix video wall
While moving offices and cleaning the common storage basement, a couple of founders including me discovered a box with 20 abandoned LCD displays. We decided to assemble a large screen by aligning them in a matrix, attaching raspberry pi's, and adapting open-source streaming software to be able to stream public announcements and startup promo videos inside our startup space. I wrote about the result here.
History of the Internet
A fun series of lectures on the beginnings of the internet. The content is introductory level, but the course features a lot of early-day internet heroes that are fun to listen to, describing anecdotes from the very beginnings til modern times. Great for a rainy weekend.
Interesting readings
Cathedral and Bazaar
A classic book on open-source development, the development of Linux (evolutionary/bazaar-style) vs development of BSD (centralised/cathedral-style), and spot-on observations about software development in general. This collection of essays, written by a vocal voice in the (early) open-source community, takes the reader into the daily world of open-source software development, and describes many practical problems and solutions. As compared to Richard Stallman's Free Software essays, Raymond takes a more practical and less radical approach, in order to write public software that people actually want, and leading idealistic projects while delivering results. Must-read if you're leading, or thinking about contributing to, open-source projects.
Makers - Chris Anderson
This follow-up on Anderson's book Free takes us to the world of makers, creators, and innovators who don't look around passively, but actively start improving the world around them. Empowered by tools like 3d-printers, laser-cutters, and open-source hardware and software, tinkerers are increasingly able to customise whatever they deem imperfect until it fits their needs. Digital fabrication tools open up the design of physical stuff to the laws of digital stuff: copy, adapt, and improve it in your basement, without the need for any centralised design companies or manufacturers. Makers are blending bits and atoms, a phenomenon so significant Anderson calls it the Third Industrial Revolution. Worth the read if you're a maker or feel inspired by those who call themselves so.
Hackers & Painters - Paul Graham
Paul Graham has an almost mythical status in the startup world. Besides founding both Y Combinator, the unquestionable top of all startup accelerators, and Hackernews, the popular reddit-like news stream for developers, he's also a great communicator and produced a large collection of well-written articles about startups and tech in general. This book contains a collection of those essays. As an evangelist for entrepreneurship, these essays describe the compelling case for taking matters in your own hands and to found your own company. These opinionated essays will inevitably get you thinking about developer personalities, your undiscovered founder traits, and the source and creation of wealth. The ideas in this book will keep even the most enslaved corporate developer wondering if (s)he should consider taking the startup route.
Delivering Happiness - Tony Hsieh
The best way to create successful companies is to make customers happy. That is, at least, the thesis of the founder of Zappos, the successful online shoe retailer, later bought by Amazon. As money will follow delighted customers, no resources should be spared trying to deliver happiness, including unlimited orders and free returns, offering employees money if they would quit, having all employees participate in customer support, and supporting customers with anything they might ask for, going as far as helping them order pizza if requested. This book is hands-down the best description on how to foster a company culture of happy employees and happy customers, while building a successful company as a side-effect.
Platform Thinking - Sangeet Paul Choudary
Bootstrapping companies that increase in value when growing their customer base are notoriously hard to build, but can create network effects that are very hard to replicate. I read an early PDF, and it has been a great introduction in strategies to build marketplaces and other platforms that grow exponentially, as the customers keep accelerating the flying wheel of adding value and attracting new customers to keep adding value. Read if you're building such a platform, or if you think you are (and might be proven wrong!).
Zero to One - Peter Thiel
Based on a startup course given by Peter Thiel, this book contains a wealth of good but opinionated advice from one of the more libertarian figures in the Valley who knows what he's talking about. Work on fundamental tech (0 to 1), not on expanding slightly different versions of the same (1 to n). Create value, capture some of that value, and be lasting in a meaningful way. Work on underexplored secrets that are true. Become a monopoly in a meaningful market. Find your combination of brand, scale, network effects, and IP. These and many other insights into VCs, founders, company culture, long-term value and promising markets form a solid framework to start thinking about startups, even if you don't agree with Thiel on all aspects.
Quiet - Susan Cain
A concise book arguing for the indispensable value added to society by those that feel most comfortable when occasionally left alone, be able to concentrate, get into the flow, step back, think, be sensitive, nuanced, disciplined, and persistent, work out details, and think long-term. This is the bible for introverts, for understanding yourself better or to give to others to better understand your feelings and preferences (although they probably won't read it until the movie comes out). Written carefully, the prose could have made bolder statements, but I suppose that's the beauty of an introvert writing about introversion. TL;DR, the subtly-sized subtitle says it all: The Power of Introverts in a World That Can't Stop Talking.