Stop Thinking Like an Engineer and Start Thinking Like a Problem Solver
I recently sent my friend this link. The TLDR; the best engineers don't write the most code. They solve problems that help the business succeed. Sometimes solving the problem and helping the business involves writing code. Many times is doesn't.
The best code is no code
This couldn't be more relevant with the problem I faced today. I was looking to use this new Raspberry Pi kit to build a project this week. My other friend gifted it to me and I was hyped to think of some creative builds. I wanted it to be practical and realized I had a first world problem to solve.
Most of my apartment is controlled by some app. The one thing I couldn't control was the temperature of my AC (yes they build AC's with something like this built in but I'm working with what I got). I could turn it on and off from my phone through a smart plug. But, I couldn't interact with the functionalities of the unit.
Then it hit me!
I'll record the signal of my (infrared) IR remote. Use an IR LED to replay the signals. Then I'd have an internet controlled AC! I'd build a small webapp and be able to control the RaspberryPi/AC from anywhere in the world.
I bought some extra parts for my Rapsberry Pi and started watching videos. It's all quite simple. When a button is pressed on a remote, a IR signal transmits digits. It tells the receiver what to do. With the recor....wait wait wait.
Wtf is the title of this post?
This is such a simple straightforward problem. There must be a simpler solution than to build this functionality from scratch. I took a step back and picked my brain.
Interact through the smart plug? Nope. A button presser for the remote? Too complicated with up and down temp. Google home speaker? Nada. But then it hit me!
In my post I spoke about how I have a tiny "robot" to buzz people into my building. The issue is the robot only relied on Bluetooth. I bought an extra piece to fix that. It connects the robot to the internet and is a game changer.
I was poking around their site for an add on that could fire off an IR signal and.....I already had it! The "hub" (above) that connected my robot to the internet also had IR functionality! I opened my app, hit a few buttons and before I knew it I could control my AC tempt through my phone. I even connected my TV, cause why not :).
Taking a step back saved me hours of building time. I also ended up with a more polished solution!
Problem Solved > Code
If all you have is a hammer, everything looks like a nail
At work and life we're quick to jump to our usual toolbox to solve a problem. More often than not we need to question: Does this need to be solved? Is this going to provide value? Does this approach make the most sense? There is nothing worse than solving a problem that doesn't need to be solved. (Digitally controlled ACs are fair game).
This type of questioning and problem solving is invaluable and moves the needle. Writing code is fairly easy. Solving the right problem in the most efficient way is much more difficult and valuable. It's the leverage that decides how other forms of leverage are used.
Don't be so quick to put up a PR. Don't be so quick to add more people. Think before solving*.
P.S. I'll be building with the Raspberry Pi kit soon!
*Not always the solution. But healthy questioning can be quick and save an incredible amount of time.