What is it like to work at Starship as a developer?
From time to time, we hold Q&A sessions for the members of the Talented Developer Community Slack, where techies can ask questions from different software companies’ developers. This time the session was held with a very interesting technology company called Starship Technologies!
Starship is revolutionizing food and package deliveries with autonomous robots. They are working towards a future where the cost of delivery is close to zero, which will enable a whole raft of services that aren’t imaginable today.
The questions were answered by Phillip Lindberg, VP of Product, and Pekka Kosonen, Senior Engineering Manager. Phillip says that he has been “deeply interested in how HW and SW come together to make magic”. He has previously worked e.g. at Suunto, Nokia and in a start-up called Tellybean. In his own words, he joined Starship because the ambition there is audacious and the service really ticks the “magic” box on many levels. Pekka has been doing software since the 90s, first on desktops, early web apps before Java 2 was there, first symbian apps 20 years back, then a longer stint on building dev platforms. Pekka had planned to stick with his previous job until retirement, but he couldn’t say no to Starship.
Working at Starship
“How many engineers do you have on board building Starship?”
Roughly 100 in total in Helsinki, Finland and Tallinn, Estonia.
“How many teams do you have and what sort of problems do they solve?”
Teams are oriented around creating value for our customers and our business. These include:
Consumer Services = delighting end users
Merchant Services = new ways to sell
Operations Services = Tools and systems to run our business
Autonomous Logistics = Self driving robots that enable a whole new way of doing things
We have other teams too, focused on HW design, operations, etc.
“Do you use external consultants or do you prefer in-house workforce?”
Yes we prefer in-house. We encourage empowered teams who own what they do – functionally, intellectually, emotionally. Very difficult to do that in a semi-committed mode.
“What kind of benefits do you have for employees?”
We can talk about the basics like paying top-of-market for the best talent, our stock option plan that makes every employee an owner, etc. But for us in the company, the benefits are not these. It’s about having stellar colleagues who are inspired to work on a big purposeful problem. The last mile is an ecological disaster. We are fixing that and diving quality of life to new levels. I think we are going to change the places we live…for the better.
“What kind of technical challenges your developers get the most excited about?”
There’s obviously many of them, on the robot and AD side I’d say when we crack the harder autonomous driving challenges (a kid is trying to feed a banana to the robot) and on the server side improving the scalability and keeping super low latencies. Running autonomous robots on city streets is very much a software engineering challenge. Just imagine the use case where robots are on the US west coast connected over 4G networks and we’re remote controlling them when help is needed from Europe. Ensuring that all the commands go through fast and reliably, keeping the video latencies low (1s would mean robot has moved a few meters and a car could have moved 50 meters). Also building a two sided e-commerce marketplace has some challenges. Human-robot interaction is a top pick for sure. Creating signature moments for users – personal greetings, etc. Also, building the tools for partners to do fulfillment and dispatch on their own is a very popular working area. And the whole marketplace/fleet management thing – it’s like running an airline.
The possibilities of using autonomous robots
“How fast is the robot?”
6km/hr is our standard max speed. We can increase this marginally, but this number represents the sweet spot between convenience, range and safety. Probably 20 km/h would work for milkshakes as well. And martinis.
“What’s your daily user/order record?”
Not sure if we should say it but.. Tens of thousands of active users and thousands of orders is safe to say I guess. Perhaps good to cover a bit of the history:
2014 Two guys and a whiteboard: Sidewalk delivery robots
2015 Tech prototype ready, human following
2016 First deliveries to real customers
2017 3000+ deliveries with 10+ partners
First autonomous driving without human following
2018 Starship-branded app, launch in Milton Keynes
2019 Launch in US universities, first million in revenue
2020 Operational profitability
2 million kilometers driven
Covering whole cities with our network of robots
First US city
Second city in UK
202x Covering whole countries
“What’s the minimum population density to make using your robots for delivery viable for everyday stuff? (This is out of professional interest, but it is also a selfish question: wondering whether the area surrounding the Helsinki center is dense enough to make this happen.)”
Depends on what we would be selling mainly. Food is obviously just a start and we already have industrial businesses running as well (forgotten from the timeline above, we suck in documenting things ;).
“Is using university campus areas a strategic decision?”
We’ve been operating in cities soon for 4 years so the autonomous driving part is not the main driver for campuses. Nothing would prevent us from launching Helsinki. It’s our first bit go to market opportunity. It’s surprisingly big (for those not familiar with the US college scene). But it’s merely a stepping stone to neighborhoods everywhere. So yes, it’s a considered and deliberated strategic choice.
“Just to benchmark: Would it be more or less density needed compared to what makes Wolt/Foodora viable?”
I won’t give firm numbers here for IP reasons, but rural is not interesting (too low), full urban (vertical cities) are not optimal (to high density). The sweat spot is urban/suburban areas with dwellings that are 1-6 stories high (roughly speaking). This is fortunate, because vast swathes of humanity live in this “donut”. Also the density is just one parameter. You’d need to compare the whole unit economics for an answer to your question to make any sense.
We can co-exist in the same areas as Doordash, Wolt, etc. but where we are truly unique is that we can offer services that are not viable for them longer term, because the cost of goods sold is too low to subsidize/justify the delivery. Groceries, meal bags, packages, etc. This is effectively what we have proven as a team – that we can consistently and predictably drive down the cost of delivery. This story is just beginning ;).
If you think of what kind of jobs have been automated in the past 50 years, I think it’s odd to think that carrying any sorts of deliveries from point A to point B would be something humans should do ;). Maybe I’m biased.
For the Finnish audience : Consumer + Merchant equals “building Wolt/Foodora/Doordash on top of robots”+ some parts of the operational services. Biggest difference is that traditional human career companies don’t have tooling to get 360 video view of their couriers and remote control to guide them.
“I remember being present in your office when you unpacked the first robot in Finland, I think it was late 2017? What has happened for you guys in Finland during these last 2-3 years and when can we see those robots rolling the streets of Helsinki (or any Finnish city) on a daily basis?”
Can’t make any promises but just to build ourselves more benefits, we are in talks with a few merchants to bring us some food (and drinks) to the office. We have found product-market fit (twice) in two big markets – the UK and the US. We have grown from an R&D/proof of tech company into a business that is preparing to scale. From a few test deliveries to hundreds of thousands paid consumer deliveries. It’s been a crazy-good ride.
“Could you shed light onto what are the current growth bottlenecks: legislation, consumer behavior adoption, something else?”
Well, it’s certainly not consumer adoption – we just launched a second UK city 2 days ago and it’s breaking records. We are hooking into a pre-existing behavior, in a way that customers love and are happy to pay for. We are solid on the regulatory side too – we are crafting laws at the national and state level in the US and EU. The challenge is straightforward: executing on a vision in a synchronized and timely fashion. There’s too many interesting and exciting challenges to solve for. If you like your problems fun and meaty then we should sit down for a chat.
About technologies
“What kind of tech are you using for developing the MCU?”
On the robotics side you want to know about developing the controllers? Robot SW is ROS based, there’s quite a lot of components there to talk about.. We design the majority of the hardware components (both electrical and mechanical) in-house.
Inside the robot we have a main compute unit (Tegra TK1 in older robots and AMD Ryzen based system in newers) – this gives us enough processing power to perform computations needed by autonomous drive. Many of those computations are dealing with signal and image processing so they are very GPU heavy. Because of the network latency not all computations can be offloaded to servers in the cloud.
Besides the main computing unit we have a number of different sensors: cameras, radars, ultrasound, gyros and many actuators: motors, bogies and locks, controllers and processors. Some of the signal processing is so time-sensitive that it requires an FPGA to perform that work. The controller software is also written in house by embedded developers. The main thing I would emphasize is that we’re not a robotics company, robots are the enablers. Most of our work goes outside the robots.
“What kind of control algorithms do you use? Do you do any object detection or action prediction?”
Yes ;). It’s been 6.5 years of development and 2M lines of code – would take me the whole event to write the whole story down but the way I would summarize it is that it’s *NOT AI* and it’s not *cloud computing* – The robots will work autonomously without connectivity (until the route ends).
Over the years the team has built quite a sustainable code base of over two million lines of code. This includes the things you would very much expect to be there (including but not limited to image recognition using deep learning, shape recognizing and tracking plus path planning). Other challenges the team solves include things like determining robot orientation and location in space, driving gracefully in the vicinity of pedestrians, safety analytics, signal processing for radar and ultrasonic signals and hardware fault detection.
The utmost priority is safety of our robots and people. As we can’t test all real-life scenarios on the field, we rely on extensive simulation and in silico testing to make sure the software we deploy actually works before releasing it to our test ground (on a nightly basis).
The key thing from my point of view is shape recognition, tracking and decision making to figure out safety thresholds -> when do we pull in a human to observe. Most of the times robots are autonomous, but sometimes remote operators hop in to give a hand.
“You said the software is all done by yourself, is it simply because there is nothing available on the market and everyone (Tesla, Uber, Google) has to do it themselves or are you simply better than everybody else? (Regarding the vision part and building the awareness bubble)”
There isn’t anything you can take out of the box to start your autonomous driving business so I’m sure it’s true for all the players, a lot is homebrew. Obviously using a lot of proven technologies, frameworks and models. There are limited off-the-rack tools for this. We are leading the way here. At its core is an autonomous last mile logistics platform. We have had to build this from the ground up. This means we can self-determine our destiny and our intellectual property advantage is significant. Also as we’re the first ones to do autonomous deliveries without humans following the bot, it’s a bit of a chicken and egg problem ;).
“What language are you using for low-level systems?”
On the robot side it’s ROS, C, C++, On the backend mainly Go and Node.js (some Rust and Elixir). On the web front ends its React and on mobile it’s ReactNative. (180 repos built over the years so that’s obviously not the whole truth).
One of the aspects we haven’t talked about is mapping and localization. Our robots build 3D maps of the areas where we operate and based on those we get a cm level accuracy. Very much more useful for localization than GPS.
“Do all your robots use the same map and do they all take part in creating and updating, or do they all have their own map?”
Area mapping is a shared resource across the whole fleet in an area. The robots create the final “detailed” map during/shortly after we launch an area. It improves with each successive pass.
“Do you have any plans to weaponize your robots and enter a ring?”
The assumption here is that we haven’t already ;). Outside of the ring we have weaponized it in a novel way. We have trained a robot to moo, burp and fart. Anyone who’d like a demo is welcome to swing by the office. Weaponized, in a kid/dad friendly way :D.
Starship is hiring! Starship is currently looking for Senior Mobile Developer, Senior Backend Developer with e-commerce experience, Senior Backend Developer with experience from heavy-load distributed systems and Site Reliability Engineer! Read more about the positions from here.
Read also:
What is it like to work at Gofore as a developer?
What is it like to work at SOK as a developer?
Up for new challenges? We at Talented help senior developers and designers to explore their work opportunities and find the best fitting jobs and projects. Free of charge.
Talented is shaking up the general way of recruiting software professionals in Finland and worldwide. We help senior IT- and digital Talents to find better fitting jobs and projects, and companies to build digital competences and employer brand.
Stay up to date on Finnish software industry insights and hottest work opportunities, and connect with both the hiring companies and the other techies who geek on the same stuff you do: Join the Talented Developer Community!