Meet Andrew Smith: Command Prompt's Australian Altruist

Welcome to our blog series: Meet the Team, where we will introduce you to the minds behind Command Prompt. Last month we talked with Andrew Smith, one of Command Prompt's senior Developers. 

Where are you based?

I’m based in Cebu, Philippines. There are probably more people telecommuting from Cebu than anywhere else in the world, and Cebu felt like the most natural place to live because I telecommute anyway. 

I’m originally from the Sunshine Coast, Queensland, Australia. I moved to Tasmania in my late 20’s, and a few years ago I decided to challenge myself with the most difficult and scary thing that I could possibly imagine doing, and that was moving to a different country entirely.

How long have you been with Command Prompt?

I first heard of Command Prompt 15 years ago, and way back then I was thinking that it would be a great fit for me because I love PostgreSQL. I’m probably more passionate about PostgreSQL than any other single thing, but back then I was dealing with a myriad of other things. I waited to begin working for Command Prompt until I was certain that I could give it everything I had, and that was five years and one month ago. I’m so passionate about what I’m doing.

What’s your background and expertise?

My background is in computer science and computer programming. It’s all I ever cared about or wanted to do, even from the earliest age. My earliest memories are of taking clocks apart and making little machines - back in primary school all I could think about was getting my hands on computer components. I was thinking about making computers before many people had even heard about them. I managed to do that when I was in high school, and I was able to get the parts to put together logic circuits - I designed and soldered them together, way back in the 70’s.

I studied computer science in university, and was fascinated by robotics, AI, and computer programming. I’ve stayed in the field ever since.

What’s your favorite project of all time?

The most significant project I’ve ever worked on happened when I was approached by a man who had an idea for project management. He had been implementing his idea via spreadsheets. which was extremely labor intensive, and he contacted me to ask if there was a better way to do it to realize his vision. I spent 10 years - and a lot of time since - figuring it out. I came up with the database system for him, which saved him 30 hours each week and enabled him to realize his vision. When I first met him, he was working by himself in a rented office at the back of an industrial estate. 10 years later, his company was managing projects worth $100 million a year and he owned the industrial estate. 

Eventually, I had the vision of creating web applications as fast as you could think of them, so that you could go meet the CEO of a company, talk to them for two hours, and by the time you left, they had a working web application that could do what they wanted. I wrote software that could do that.

I had already discovered that out of all the things I was interested in, databases were the most fascinating. I guess a lot of people don’t realize it, but SQL, and PostgreSQL, would not exist without an extremely sophisticated artificial intelligence at its core: every time you formulate a query, you’re basically telling the system “this is the information that I want.” That request gets sent off to the database systems manager, which stores the data and understands the nature of the data. From there it works out lots and lots of different plans around how to satisfy your query, and it chooses the best one. It’s just like a human being translating between one set of specifications and another, working out all the different possible ways to do it, and then intelligently figuring out the best one. 

What’s your greatest motivator?

It’s a bit of a cliche, but my biggest motivator is to make the world a better place. For most of my life, I thought that the way to do that was to write software for artificial intelligence database systems, because I saw over and over the incredible impact that a good database system could have on businesses and communities. So for years, I worked on incredible pieces of software.

But then as I got older, I started to think that the best way to help people was on a personal level. The more I helped people on a personal level, the more joy it brought me. They say that to be truly happy, you need to help people, and I believe that that’s true. 

If you could recommend one learning resource, what would it be?

I’d like to say Wikipedia because it really is one of the greatest wonders of the world, but in terms of getting down and dirty and learning how to do stuff, you can’t beat Youtube. It doesn’t matter what you want to learn to do, someone somewhere has done it and they’ve probably put it on Youtube. If you need to know something, you can probably find it on Youtube faster than any other way.

As someone who has successfully worked from home for years, what tips do you have for those now working from home for the first time?

You’ve got to establish a routine and stick to it - you need to be doing the same thing at the same time every day no matter what. That way, you always know what you should be doing without having to think about it. Otherwise, you risk wasting your time by dithering around.

What’s the future of open source technology?

Open source technology *is* the future: Even Microsoft has started to move toward Linux. For its entire existence, Windows has been demonstrably inferior to Linux in just about every way except adoption. With Linux, your machine is constantly being updated and maintained with rarely any down time. Proprietary software can be so intrusive and counterproductive, even leaving out the technical inferiority issues, and yeah, it’s nice and polished and gives non-technical users the warm fuzzies, but if you just plain want to get work done, you can’t beat Linux and PostgreSQL and open source software.

Where can we find you on a Saturday afternoon?

Either at my computer, pursuing some great idea, or being a mallrat. I love malls, and the Philippines is the mall capital of the world - it has more and bigger malls than anywhere else in the world. There are three different malls that are within ten minutes drive that would typically have 200,000 people pass through them in a single day. Think of a building the size of an aircraft hanger that has thousands of shops in it, and every mall is different - they’re like theme parks in that they all have different shops and different kinds of people in them.

Would you rather battle one horse-sized duck or 100 duck-sized horses?

I’d take one horse-sized duck because I’m the world’s worst multi-tasker and I love ducks. I’d be riding it.

What’s your desert island food?

Either rice or sardines because they’re my favorite foods here in Cebu. Ideally, they’d be together.

What’s your best hidden talent?

I really care about what's going on in the world. I try to stay informed about issues and world events, although I would rarely express an opinion to anyone. Nevertheless, it shapes my long term goals and actions more than anything. I think it contributed to my decision to move to Cebu.

Other than Postgres, what topic are you an expert on?

In the case of everything other than Postgres, I become a jack of all trades and a master of none. I’m reasonably knowledgeable about linguistics, language, and grammar, but I’m not an expert - I don’t feel like I’ve mastered it.

What subject should be taught in schools but isn’t?

The first is the Socratic paradox - I know that I know nothing. Psychologists have actually quantified this in the Dunning-Kruger Effect, where the less someone knows about something, the more they think they know about it. It’s the essence of ignorance. It’s something that most people have heard of, but it’s difficult to put into practice because our brains don’t work that way: We have cognitive bias. There comes a point when you’re learning things that you either have to take a position or just move on, but at the same time, you need to know when to abandon a position in order to do that.

The second is based on the quote, “perfect is the enemy of good.” Voltaire made this famous. I’ve always been a perfectionist, so I was revolted when I first heard this, it totally went against every principle I’ve ever had. But the more I thought about it, the more I realized that it’s true. It’s the biggest lesson that I’ve learned recently, and far too late in life. I wish somebody had taught me that in school.

When you were a child, what did you want to be when you grew up?

I wanted to be an engineer or an architect because it wasn’t until grade 12 that I knew that computer science was a profession in its own right. I absolutely wanted to work with computers, but I thought that I’d have to be some kind of engineer to do that. In grade 12, I read a book that was written in the year I was born called A for Andromeda, by Sir Fred Hoyle. The hero of the story was a computer scientist, and I read that and realized that computer programming was a career in it’s own right, not just something that you do as part of another career. I always knew I was going to be an engineer so that I could use or build computers, but it wasn’t until I read that book that I discovered that I could do pure computer science as a career.