I decided to write this essay to share my entrepreneurial experiences after listening to the book entitled “Zero to One: Notes on Startups, or How to Build the Future” by Peter Thiel, Paypal’s co-founder and Chairman of Palantir Technologies.
After a chilly winter, spring has finally arrived. One day, after attending a startup event, I was walking along the Yarra River to immerse myself in the full vitality of spring. In recent years, startups have sprung up like mushrooms after rain. Inspired by budding ideas, more and more young people embark on the “0 to 1” journey, aspiring to build legendary companies.
In my opinion, the most critical skill for a start-up founder or a company CEO, is to make right judgement, one after another, along the way – based on what you know, and foremost, your first-hand experience. Secondly, on hiring, always hire the best talent, at any time, to take your products or company to the next level. Never hire cheap ones to maintain your products – it will only make your company go downhill. Thirdly, get the model right. If you are developing substantial software with promising market shares (sometimes, inside a large organisation), think about creating a company – backed up by staged investments (e.g. venture capital).
Looking over the Yarra river, I saw the historic and iconic Flinders station. I couldn’t help taking a photo of it using my iphone, as this is where my “0 to 1” journey began in 2006. I did not realise, at that time, that I was about to embark on a journey, among the world’s pioneers, to develop a new generation of software products coupled with “intuitive” and “intelligent” User Interfaces (UIs) for transportation innovation.
In this post, I’d like to discuss the challenges I had faced along the way, give advice and share my insights from my experiences. Firstly, how did my “0 to 1” journey start?
When I just finished my PhD in engineering, many organizations and companies were either shrinking or not actively recruiting – although my work attracted the attention of Bell Labs and Microsoft Research. One day, in early 2006, the phone in my office rang while I was working on a research contract with DSTO. As the phone line was not very clear, all I heard from the other end was “We are from warehouse…”. Initially, I thought it was a sales and marketing pitch and wanted to hang up. Just as I was hesitant, I realised that it was not “warehouse”, it was “Westinghouse” rail – calling up for a job interview.
Railway, to be honest, is not a popular industry for the young and smart. However, given at that time, career opportunities were few and far between, I accepted the offer without waiting for the next opportunity – who knows when it comes. And, the rest is history.
Challenge No.1: What to build?
When it comes to digital innovation, some industries are a lot easier than others. For example, in retail, commerce, tourism, media, entertainment, and advertising, numerous startups came into being as online portals and marketplaces between 1995-2000. The domain knowledge is relatively easy to acquire for innovating industries as such by digital transformations. In contrast, industries such as automotive, railway, and aerospace which have deep technical Intellectual Property (IP) are much harder to grasp, let alone innovate. On top of this, automotive, rail and aerospace systems are classified as “safety-critical” systems where validation and verification is vital and time consuming.
In 2006, when I started working on the Melbourne Metro project, funded by Public Transport Victoria, I was nervous, as I did not have any railway knowledge given my previous background was in Telecommunications, Internet Protocols and Distributed Systems. A key goal of the project was to create software for Timetable Planning and Operation, which, for decades, had been done manually and tediously on paper.
Since I was the first person recruited outside the company to work on this multi-million dollar project before anyone else, I could not rely on the customer to tell me what the software would look like as they would rely on me to show them first. This is a typical catch-22 situation and it is only one of the many challenges to be overcome along the journey from “0 to 1”.
Although nothing had been created at that time, I already saw the enormous value that the software would bring to the customer and to the society. I learned as much as I could, and as fast as I could – by reading books on railway operations, going to the fields to observe from the frontline, and consulting with domain experts. All these efforts and hard work paid off later to create innovative software which exceeded customer’s expectations.
My advice to aspiring entrepreneurs is that to create great software in traditional industries, you must firstly understand the domain very well. Now, I’d like to talk about the second challenge I faced.
Challenge No.2: Paradigm Shift
My first introduction to programming was when I learned “BASIC” on an Apple computer in high school in 1990. As I was more intrigued by electronics than computers, I never grew up intending to become a programmer. Nevertheless, software is eating the world. Over years, I had programmed in a range of languages and had successfully developed valuable software tools to advance graph theory and its applications (as part of my PhD). The most useful languages that I chose to learn early on, for example, C and Perl, are all self-taught. Back then, they were yet to become popular.
As soon as I started working in industry, a new challenge I faced was to learn another language called C++. C++ is an object-oriented programming language, which is profoundly different from functional programming languages such as ML. Functional programming is indispensable in fields such as formal verification which was part of my PhD research. On the other hand, object-oriented programming is the cornerstone paradigm for industries such as “Transportation”.
After I mastered the fundamentals of object-oriented programming and became more confident in C++, I started to look for the right user interface tool for software development.
Challenge No.3: Search and Research of Tools
Before the Metro rail project kicked off in 2006, there were a great deal of attempts by others to create similar products by using either web browsers or proprietary Graphical User Interface (GUI) tools. However, none of these efforts took off. The three key reasons, from my perspective, are: 1) lacking a birds’ eye view of the system at large; 2) lacking deep understanding of the domain as well as the “object-oriented” programming, to decompose the system at multiple levels; and 3) lacking top-notch research aptitude and skills.
As a junior engineer who just joined for a few months, I could have easily walk away from the “quicksand” that plagued the project for years. However, I chose not to. Back then, I already saw that “open source software” was a game changer which was going to revolutionise the way how software was created. This was an opportunity and I was off to the races.
After extensive research plus numerous trial and error – initially on a Sun computer, I discovered Qt, an open source GUI tool from Finland. It offers so many benefits: cross-platform, high quality, low cost and internationalisation. Further, Qt enables engineers to create seamless and elegant user interfaces that are second to none.
“A modern user interface that is beautiful on every screen and performs perfectly on every platform is not an option, it’s a necessity.” – Qt
Today, Qt has become a fully-fledged framework to support GUI development for 70+ industries including automotive and medical, and on a range of screens from desktop, mobile devices, to embedded devices. Eight out of the top ten Fortune 500 companies use Qt. Applications such as “Google Earth” and “Spotify” are also developed using Qt.
Challenge No.4: Creating Prototypes
Initially I created the prototypes using Qt to show the customer what key features of the system could be realised. After meeting the customer only twice (as opposed to the usual 6 months’ timeframe), I quickly figured out how to decompose the system through key “objects”. Identifying the key objects is a breakthrough in transforming the system from mighty complexities into small workable pieces, which are instrumental for both front-end and back-end development.
As my prototyping proceeded well around 2006-2007, the vision of creating first-class software with innovative designs and great functionalities started to come into being. To put it simply, the software should be created to be both “intuitive” and “intelligent”. Luckily, I had achieved this goal during the prototyping stage. On the journey in pursuit of innovation and excellence, I have been influenced by family members and countless outstanding school alumni.
My advice to aspiring entrepreneurs is that the road to success has never been straightforward, and it takes both talent and perseverance to get there.
Challenge No.5: Building Products
While prototypes can be created through an individual’s talent and hard work, building commercial products draws on the collective efforts of teams. Team and process are the two key factors for building a successful product.
Back in 2006, the railway industry was still in the age of the “waterfall” model for software development. Through diligent research, I saw the potential of the “iterative and incremental” model and strongly advocated its adoption as our new process. Working as a team using the new process, we were able to push the envelope of technology to launch four timetable products with great user experience and functionalities.
Conclusions – What have I learned?
Digital innovation has transformed how we work, how we live, and how we learn. Having been through the roller-coaster journey from “0 to 1”, I reflect on what is important for an entrepreneur. Some of my thoughts are:
• Some people have superb microscopic skills to analyse their fields in great depth. However, that’s not enough. You also need the altitude and a telescope aptitude to see far – within and beyond your domain; plus, crucially, be the first or second mover to get there.
• Don’t be afraid to set audacious goals, e.g., expanding to the global market or the largest market in the world.
• When you create a product from scratch – going from “0 to 1”, having “passion” is important because it energises you to build something new. However, to go from “1 to N”, having a “mission” is critical as this is the lifeline to sustainability – the “built to last” which propels your company forward!
In conclusion, I raise this question: “What is the mission of a great entrepreneur?” Out of interest, I asked Apple “Siri” and “Google”, and got pages of listings. On the web, I looked up this great man in history, Winston Churchill, and found his quote quite inspiring: