I had a math teacher in high school who for me was “the teacher,” the one that I remember most fondly. I was a student of his for two years, learning geometry, trigonometry, and calculus from him. I was always drawn to math, but he had a way of teaching that made it more fun for my peers and me. He had the corny jokes and patience needed to get us through derivatives and integrations.
He had a sign on the back wall of his classroom that simply said “Any Way You Can.” It was there primarily as a joke. When a student would fall into his trap and ask a question along the lines of “How do I solve this problem,” he would smile and point at the sign. Of course, the entire class would groan knowing he caught another unsuspecting student in his recurring joke.
I’ve spent many years in a support role as a software developer. This innocent seeming joke from way back in high school has actually stuck with and helped me as a support technician. My teacher truly meant that a problem can be solved in any way, as long as the end result is the desired result and nothing is broken along the way in achieving that end result.
Back in his class, we may have been asked to simplify an expression. Depending on the complexity, there may have been several steps involved – adding and subtracting from both sides to move a variable around, multiplying and dividing to clean things up. For such a problem, there is not necessarily a correct first step. I may have proceeded in a different order of steps than a peer and we could have both arrived at the same end result.
Here are three lessons I learned from from this teacher that can be applied to software development:
Lesson #1 – There is more than one way to develop a solution.
There are many ways that you can both identify and correct a single problem. Give the same problem to two different developers and they will approach and correct the problem in two completely different ways. This is actually motivating to me when I’m stuck on a problem. I remember that there are multiple ways to resolve the issue at hand and I only need to find one that works for me.
Lesson #2 – Ask for help when you need it.
The second important lesson I learned is to know when and how to ask for help. My teacher’s trap was such that if you didn’t think through the problem at all, or try to figure it out before asking for help, you would get his smirk, the point, and the appropriate level of classmate groans. Had you said, “I’ve tried A, B, and C and I can’t come to an answer,” he really couldn’t use his infamous sign on you.
As a software developer, you will certainly run into situations where you can’t get something to work. The really good developers know the right time to reach out for help. It is a balance of making sure you are getting your assignments done on time, ensuring you don’t take up too much of your team’s time so they can stay on track, and learning by working through problems. When the time comes to reach out to team members, you should be able to clearly show everything you have researched and tried. This will save the next person a lot of time.
Lesson #3 – Don’t be afraid to get creative.
Lastly, “Any Way You Can” gives you as a problem solver free reign, again assuming you don’t break anything, to get the problem solved. It gives you the freedom to be as creative as needed when troubleshooting. There is a lot to be said for experience when it comes to solving problems, but sometimes – for the very difficult problems – a unique solution is needed. Be open minded and willing to try anything to get the problem solved.
I had tutored some students in computer science courses when I was in college. We would review code snippets and try to determine the outcome. I was always amazed when I would review these assignments and see that it hadn’t even occurred to the student to set the example up in a program and use some output statements to see what the snippet would do. It’s almost as if they either didn’t have the motivation, or maybe hadn’t been given the gift of “Any Way You Can” to know they should just try anything to get to the answer.
The next time you are stuck on a problem, think of that sign hanging on a classroom wall and remember to resolve the issue “Any Way You Can.”