Tips for Technologists #6: There are Multiple Solutions to Any Question

In Tech Digest by Nick Ruffilo

Tips for Technologists is a series aimed at teaching you to engage with technology in best way possible. You can see all the Tips for Technologists articles here.

By Nick Ruffilo

Tip Level of Difficulty: Basic

We’ve all heard it before, but when it comes to technology solutions, the choices out there are near endless. Take blogging. Want to start a blog? Well, there’s Tumblr, WordPress, Typepad, Blogger, Squarespace, Livejournal, just to name a few. Then, do you do a local installation on your own server, use a hosted solution, get the free version, use a pre-made layout or design your own. Sure, there are really simply installations, but the important question always to ask is “What is my goal for doing this.” Your solution should always meet all of your answers for that question.

I’m not actually going to get into the merits/flaws of different blogging solutions to help you pick the right one, but I want to provide a thought framework that was taught to me (and has since been modified heavily) to help you not only make the right decision, but to save large amounts of time.

The Basic Rules:

  1. Any task that will take you one hour or more is worth thinking about.
  2. The longer the task, the more time you should devote to research. For an hour task, maybe 5 minutes is enough, but for a task that could take you weeks, it is appropriate to spend a few days thinking and doing research.
  3. Don’t think alone. Have someone you can bounce ideas off of.
  4. Don’t stop at your first solution. Or your second. Or your third…especially for longer tasks. The best solution may not always be the easiest to find, so take the time to keep hunting.

When thinking about a task, always consider the following

  • What is the right way of doing this?
  • Will I need to do this task (or something similar in the future)? If so, automation is key.
  • Have others solved this? (Ask others in your organization, or always, online).
  • Will others benefit from this solution? Don’t hesitate to give back and post your solution/script online to relevant communities. (If you’re not sharing proprietary information). Often organizations have shared drives/message boards for this as well. Use them. If not, set one up. Chances are, if you need something, so will others.

Keys to proper brainstorming:

  • Ask yourself questions. “What if I did X…” “What if I formatted the document a certain way first?” Etc.
  • Flip things upside down. Instead of asking: “How do I find all the bold items,” ask “How can I remove all the non-bold.” Items. Thinking about a problem from a different angle will often result in better thinking/results.
  • Bring in another person. Brainstorm alone for a little while, but right before hitting a wall, sit down with a co-worker, friend, or open up an IM/skype window and ask for help. Talking it out with someone else will help to organize your thoughts (as you explain the issue at hand) and help you think. The other person may also have some good ideas.
  • Take the time to think. Literally. For short tasks, the 5-minute research period may be enough, but if you are giving yourself a day for research, don’t go 9-5 researching then make your decision at 5. Start after lunch and let yourself mull over it at night. In fact, if you can even give yourself a few days to brew while doing other tasks, that is best. While research is best done in chunks, brainstorming/problem solving is best done in short bursts over time.

Learning new technologies to get a job done

Often we will crutch to what we know to get a job done. I’ve seen technology teams choose to build robust web-apps in WordPress because that is what their team knew. WordPress is not meant to build robust web-apps, and, that project ended up going over-budget by a year (originally projected for 6 months). Square peg, round hole. Had the team built it using a more suitable framework, there would have been a learning curve, but they could have delivered in 6 months and had a new skill. Seek experts when trying to determine the right tool for a long task. If you have the right tool, and a talented team, you will get the job done right. I’ve professionally programmed using 5 different programming languages. In most cases, I’d either never seen the programming language before, or had a basic knowledge of it when I first started the project. I picked up a book and read it. If you’ve never programmed before, you can’t be expected to pick up a new programming language in a week, but, if you’re a solid PHP programmer, you can learn Python in a week and be proficient.

The same goes for business applications. I’m sure many of you are familiar with Microsoft Excel, but how many of you have created a pivot table? Pivot tables are one of the most powerful features of Excel (in my opinion), and they are fairly simple to create/manipulate — once you learn. It took me two days and a small reference manual to become a whiz at Pivot Tables, but I’ve saved weeks of time formatting data and greatly honed my data analysis skills in the process.

The best motivation to learn a new skill is to have a tangible result. Especially for more business-friendly applications (Excel, Word, etc) there are wonderful graphic tutorials online that will take you step-by-step through the process. Often times, you can actually accomplish your task and learn something new in a matter of minutes.

Bookmark your resources

I find that I have to do something a few times before I fully “get it.” For this reason, when I find a good tutorial, I bookmark the link. I have a fairly basic scheme for bookmarking that revolves around the application/programming language it is referencing.  Often times I find solutions that I forgot I had found years ago.

About the Author

Nick Ruffilo

Nick Ruffilo is currently the CIO/CTO of Aerbook.com. He was previously Product Manager at Vook and CTO of BookSwim.