- Seventy-nine Short Essays on Design / Michael Bierut
- Library: An Unquiet History / Matthew Battles
- Mental Leaps: Analogy in Creative Thought / Keith J. Holyoak, Paul Thagard
- Fooled by Randomness: The Hidden Role of Chance in Life and in the Markets / Nassim Nicholas Taleb
- Nonviolent Communication: A Language of Life / Marshall B. Rosenberg, Arun Gandhi
- Design in Nature: How the Constructal Law Governs Evolution in Biology, Physics, Technology, and Social Organization / Adrian Bejan, J. Peder Zane
- Thinking, Fast and Slow / Daniel Kahneman
- Facilitator’s Guide to Participatory Decision-Making / Sam Kaner, et al
- Symbol / Steven Bateman, Angus Hyland
- The Nature of Code: Simulating Natural Systems with Processing / Daniel Shiffman
- Artificial Intelligence: A Modern Approach (3rd Edition) / Stuart Russell, Peter Norvig
- The Analogical Mind: Perspectives from Cognitive Science / Dedre Gentner, et al
- Design by Nature: Using Universal Forms and Principles in Design (Voices That Matter) / Maggie Macnab
We run internal conferences every 6 months. Next one is big enough to have 2 days conference. Here is the program:
tau 4 #all (10 sessions) / day 1
10:00 Gamification. Using game elements in management, marketing, etc. Personal experience from support team / S. Gnedin
10:30 Professional deformation / A. Kovaleva
10:50 coffee break
11:00 Feedback Loops / U. Petriko
11:45 Value-Driven Development (How I run my cozy project using tp3). How to do the right things / A. Parasiatsyeu
13:30 Probability Theory for Dummies / A. Shnyukova
14:30 coffee break
14:45 Agile Portfolio Management / D. Borovsky
15:15 Enneagram as a tool of right communication / N. Yadrentseva
16:15 coffee break
16:30 Intro into Game Development / V. Gaidukevich
17:15 coffee break
17:30 How to choose the right chart for your data / O. Seriaga
18:00 Visual Specifications. Why most specifications suck and how to improve them / M. Dubakov
tau 4 #dev (6 sessions) / day 2
11:00 Nature of concurrent and distributed programming. Basic principles of concurrent and distributed programming, their formal foundation, examples on programming languages / A. Shotkin
12:00 coffee break
12:15 Applicative Functors, Monoids and Monads — who are they? With examples in haskell / S. Truhtanov
14:45 coffee break
15:00 Intro to Lambda-calculus. Theoretical foundations of functional programming / U.Abramchuk
16:00 coffee break
16:15 New APIs in your browser. Less known features of modern browsers (DOM traversing without jQuery, CSS selectors, Web Components, a little of ES6) / A. Shytkin
17:00 coffee break
17:15 Formal verification. How to write programs to verify other programs / A. Famin
Discussing lists in tp3 #ux (at Taucraft (New office))
Great things take time. Evolution and complexity are two sides of the nature development. Let’s take cars. Cars are becoming more and more complex. At the same time, cars are becoming more reliable, faster, more efficient, safer and better. It took humankind a century to get there. The progress pace is impressive, but incomparable with software development.
Things change in software development world with an astonishing “never seen before” speed. 10 y.o. technologies are history. 10 y.o. software without major upgrades is dead. While 10 y.o. cars are quite good and decent.
We, software developers, are blessed with a gift that makes our industry truly different — we can upgrade working systems on the fly. To have a new car you should sell an old one and buy the new car. To have a new version of SaaS application you don’t have to move a finger. Software developers have a luxury to iterate fast, fail fast and emerge viable, efficient solutions.
Software development industry is not so young, it is about 50 years old. It took us 50 years to reach the point where “software is eating the world”.
Companies: Hedgehogs and Foxes
OK, back to the main point of this essay. There are two types of companies: Hedgehogs and foxes. Hedgehog company takes one area and digs deep. It usually create a single software application for a single market (no matter if niche or wider). Fox company builds many applications for various markets, it constantly tries many new things and never stick to a single thing.
I don’t like foxes. In most cases they can’t create something significant. However, let’s check some examples. Rovio created 50 or so games till the Angry Birds slam-dunk It’s a hedgehog company. It was fully focused on game development. They tried various models and various gameplays. They iterated and failed many times.
Apple is a hedgehog company (well, there were different times at Apple, but now this statement is correct). Apple launches new products with care. No rush jumps to find a hit, but careful and passionate immersion to the roots of people’s problems and great solutions.
Salesforce is a hedgehog company that pushed the SaaS model into enterprise and without doubts has the best CRM solution on the market.
What about fox companies? Many (not most) service companies are foxes. They take various projects without clear focus. They use diverse technologies and ready to work with almost any industry. They tend to grow huge, make good money, but they’ve close to zero chances to create something significant, something disruptive. I’m not aware of foxes in product development. Maybe there are plenty, but most of them are quite unknown and “not on the radar”. Maybe this “fox” strategy is devastating to product-oriented company success.
Definitely it is not enough to focus on a single thing. You need great people, good strategy, real passion and so on and so forth. There’s one more thing you have to know and think about — time. With some luck your first solution of a problem may be exceptional, but it’s an extraordinary event. Time can be your worst enemy or your best ally. You should learn how to master time.
Time: Patience and Persistence
Patience is good. Without patience you will cut corners and provide superficial solutions. You will rush and deliver something of a poor quality. I still can’t master patience. I’ve been trying hard last year with some promising results, so we’ll see.
Patience and passion help you to solve the same problem again and again, bringing in new experience, new technologies, new people, new ideas. Someday your n-th solution will be precise and sharp, it will touch the right chords and resonate with people. It may happen in 3 years, in 5 years or in 20 years. Many companies explored promising areas, but failed due to lack of patience, lack of persistence.
However, there are times when you have to run full throttle, forcing everything and everyone to squeeze the last drops of energy. Usually this mode is required to overcome a crisis. You just can’t slack when situation is harsh and uncertain.
Balancing between these two modes is hard. I personally like to run fast, but it burns out energy and decompression period is inevitable afterwards. I still can’t master the balance.