This post is to break down my past experience when do interview and try to improve it by using some framework. I use a framework from books “Cracking PM Interview”.
Problem: Design a Self Driving Truck for driver
/cdn.vox-cdn.com/uploads/chorus_image/image/55580019/Tpod_3.0.jpg)
1. Ask questions to understand the problem
in this situation i asking about what kind of driver that will use it and the use case. What kind of truck that driver will use it? is it big truck or like medium or small truck?. And because it self driving how and when driver will use it? is it full automate or semi-automate? and it can be use for highway or can be use for crowded street? if we design is for full automate, big truck and could be in crowded street it will affect our product to it should be clear.
We also need to understand the behavior of the driver will use it. Is it use only if they want to rest? if the truck is slow could them take over to make it move faster?
I got some information before and from the interviewer the self driving truck is semi-automate(could manual and automate) and can be self driving if only in highway road. The driver is the truck driver that already have licensed.
2. Provide a Structure
The approach in this problem is essentially the structure we offer to the interviewer.
I understand the problem, now i will tackle it by break down it into a parts. First, i’ll think about who the users will gonna use it and what they’re using the self-driving truck for. Second, i’m going to compare existing trucks against these use cases to see where the gaps are. Then finally, i will discuss how we can fill these gaps.
3. Identify the users and customers
We have one user in mind already: a truck driver
Who else might use the alarm clock? a truck driver basically is not one, it could be two with the partner also. Probably the partner is also driver, but could be the manager, supply team member, or even the owner of the business. Yes the self driving truck still also needs to be moderately usable by non-driver people.
4. What are the use cases? why are they using the product? what are their goals?
The core use case is to self driving in the highway road in Indonesia and back to manual again when it’s not in the highway. This means the driver need to check if the autopilot is active, configure the autopilot and road, activate the autopilot, can drive manually in the street, autopilot active in highway, notify the driver after meet streets but not highway, change to manual again, finish the autopilot when meet the finish line and disable it.
Could there be other reasons why drivers use the product? sure!
- He could be using this for rest in car when feel a bit sleepy especially in highway
- He could be using this for rest in car when there is a traffic especially in highway
- He could be using this when need to hang up urgent call while driving so he can notify if can hang it up or not
- He might be using this to check the machine, gas, and other truck spare part. For example, if the tire is not in good condition, the robot in self driving car will know it.
- He might using this for self parking
I’ll assume the primary function we want to design for self driving from one place to other that need to pass through highway.
5. How well is the current product doing for their use cases? are there obvious weak spot?
A standard truck is relies on the driver it self for almost everything because the trucks is manual machine. We know if a truck is on or go from A to B it because the driver drove it based on the skills and mechanic of the driver to press gas to run, brake to stop and change the gear to move forward or backward. We know the trucks is really works and safe because there is a driver on it.
This poses a number of challenges for driverless truck driver, since he won’t to drive the truck manually all the time.
- Drive when you tired: truck commonly have a manual action to make it go from place to place and it has manual gear, gas, brake and also machine that connect each other to do their function and the driver is wake up with full energy to do it. This is fine when you are not tired, but for the tired driver they need to pull over a bit and take a rest.
- Ensuring their safety: current condition, the driver really know that they save because they control the truck, but what for driver that using the driverless they need to relay on the truck to make make them now they safe even though they are sleeps on the truck or at least the conditions
- Checking if the truck is on the road: A standard truck have an eyes which is coming from the driver to knowing that their drive in the right road. The usual driver commonly use the maps from their phone to make sure they are in the right road.
- Enabling certain condition based on weather: in condition when raining, a driver will be slowly driving the truck and activating the wiper to make clear vision. However since the driver would not know the condition it would be problem if the self driving car not have capability to adapt with that
- Setting up and notify the automate condition: since the current truck is driving by driver from start to finish, they will know the condition. However self driving truck only applied for certain route or area, like in highway, it would be a problem if the truck cannot notify the driver and make change from automate to manual
6. What features would improve those weak spots?
We want to keep the self driving truck can be simple to use and safe at the same time. Also it should be more proactive and assisting like a driver partner.
Design 1: Self driving truck engine with maps configuration from device
the major issue that need to be design is the self driving truck engine. For the approach we need to have an AI inside the engine to make it know about the route and road or truck condition. Also self driving can be enable and disable.
- Drive when you are tired + Checking if the truck is on the road: like current condition this things will be happen if you have second driver beside you. The self driving truck would be working like your second driver. We will provide the driver to setting up the maps for route and then the AI will confirm the route and also the highway that the self driving truck would be automate handle it.
The configuration would be as simple as you put a route on Google maps with certain improvement to track which highway and when the manual and automate will work. - Ensuring their safety: to keep this more safety, the AI on self driving truck will make sure the driver is safe by notify the driver to wear seat belt and also telling him about the road condition and range of speed that self driving truck will perform. After the driver accept the confirmation, the truck would be on for self driving mode.
- Checking if the truck is on the road: using monitor touch screen or phone device, the driver will know if the truck is on the right road or not and more details about the road condition, speeds, time spending and sensor to detect the other cars around.
- Enabling certain condition based on weather: the AI for the truck should detect the condition of the road like weather so the truck can adapt with the condition. For example if the road is heavy raining, the trucks should choose certain mode to enabling the wiper, lamps and maintaining the speeds. Also it need tell the users about condition.
- Setting up and notify the automate condition: like current condition the driver will tell other partner to switch when he tired, the AI will tell you on the monitor when the self driving will control the trucks. For example when you out of the highway road, the AI will give a “beep” voice for couple of times to confirm activating self driving mode and driver should click accept for the mode.
7. Wrap it up
Our first design that uses self driving truck with AI and maps configurations is basically want to replacing the second driver position. We still have a capability to run it fully manual so drivers still can run the truck . However, our first design can only be used if the both people not sleep or other partner still wake up because all of it still manual and probably have a bit audio to notify certain condition.
We can improve it by using voice assistant that always proactive to tell the conditions of the road and truck and also gonna be two ways communications with the drivers so he doesn’t need to confirm something by clicking the monitor
My Reflections
Actually after using this framework I felt like this is structured well and better answer rather than my answer when I was in the pas t interview. I remember I cannot even break down the proper use cases of it and the main features is not describe well. But using this, it’s more deep into the main use case.
The framework is really focus on the problem first not the solution. My though on using this framework, you need to know first the concept of each steps and also practice to use another cases.

Leave a comment