One of the most common bits of advice I see about projects is creating something that solves a business problem. “Talk about a problem you had at work and what you built to solve it.”
The issue with applying this advice is if I actually did that, my job would terminate me on the spot, and I’d probably face criminal charges for tampering with their systems. Reason being I do phone service, not engineering, meaning I have no authority to build anything to operate on their computers.
So, how do you use this advice when you cannot literally apply it? I don’t have any business issues outside of work.
When people give this advice of build projects to solve a business problem, they mean to build personal projects that solve a problem. Not build an app for your business without their permission.
For example, here is a great example of an app idea from Danny Thompson.
One of the apps he suggests is to build an app for a car repair shop that shows customers the different stages for the repair work and estimated times for completion. That way customers can see when their car is being worked on, how far into the process they are and when they might be finished.
What problem does this solve?
A lot of people, including myself, have been waiting in the waiting room of a repair shop wondering when our cars will be ready. Occasionally, we will ask the front desk to give us status updates on our car.
It would be great to just have an app that does that. So people can just check it periodically without bothering the front desk.
You don’t need to have actual car repair shops use this app.
The whole idea is to take a problem and build a solution for it so you can talk about it in interviews.
You can google good project ideas for software projects.
For example here are three more project ideas by Danny Thompson
Reason for this is because employers want to see how you think about problems, how you design your solutions, and how you talk about your solution.
When you build out project ideas like reservation systems or medication trackers, it shows that you are able to think about a problem, break it down into small features, design an app and build it out.
Because remember that the job is not to just code.
Our job is to solve business’ problem.
The implementation just happens to involve some coding.
Also, it doesn’t matter if a similar app already exists to solve the same problem.
Build your own version of it that has different features.
Writing code to solve a problem at work is a great story, when it happens. Usually those stories arise from people with jobs that involve repetative work at a computer, but it may also involve creating an application for oneself to make the worday easier.
That isn’t in any way a requirement. What is a problem that you encounter on a regular basis? How could you use technology to solve that problem? How many other people have a similar problem? How can you adjust your tool to help those other people?
There are two special things about approaching a project in this way:
It motivates you to actuallly finish the project, make it good, keep it maintained, etc
“Problem first” design is an imortant principle in software development. Focusing your project decisions on what needs you are fulfilling is a professional skill. One criticism you’ll hear oldies like me making of a “genius idea” pitch is “It sounds like a solution in search of a problem”. On the other hand, experienced developers ask questions like “What is our goal with this?” on a regular basis.