I’ve been working in the computer/networking industry for over 30 years before coming to Lucid Software, and as one does when they hit such a milestone, I started to look back at the events that changed my perspective and helped my career. There’s a lot, and I could probably fill a good book with my experiences, but let’s call this the first draft. These nuggets are things I wish I had understood when I started my career and hopefully there are some ideas that may help you in your career journey.
I come from a quality assurance background but feel anyone in engineering can benefit from these insights. I’m going to share some experiences that helped form who I am.
Learning on the job
Whether you are just starting your career or changing jobs, starting at a new place is very intimidating. Oftentimes, new hires feel like they are drinking from a fire hose, and that they have to fight the current in order to keep up without looking foolish. But that’s the same process everyone they look up to also had to go through at some point! Understanding you are not the only one that feels this way will help you through the stress of starting a new job, and help you feel more comfortable asking for help.
If you’re changing jobs, recognize that you don’t know everything. There are people who understand the what, why, and how of the job you will be doing. That includes people who are junior to you, that have been with the company longer. Don’t be afraid to ask questions! Take advantage of their knowledge. I once hired an engineer and when I started training him he said “Why?” to everything I said. Now in those first few weeks that grew pretty annoying. But when we were done I never had to worry about his work again. He not only knew what to do but why to do it.
Your company probably has lots of resources available to help you learn the product. There might be customer training classes or tutorials. There might be support blogs where you can see what the customers really think of your product (granted you will hear more from the unhappy ones, but it will help you understand their perspective). However my biggest tool has always been manuals. I have spent many years reviewing manuals before they were released to customers. Doing this gave me knowledge that helped me immensely in my employment. One day, a coworker walked into my office, sat down, and said “I want you to teach me everything you know.” I was a little dumbfounded at the question, and responded by handing him the manual and said “Read this 30 times.” He left disappointed there wasn’t an easier or less tedious way, but the truth was there was no better way to learn that information than to put in the time reading the materials our customers would be using.
Share and teach what you have learned. There are a couple of big scenarios that stop people from doing this. One is the feeling that we are the last ones to learn something, so we don’t need to share it. The other scenario is the fear that our knowledge makes us invaluable and sharing it will hurt that value. Both are false assumptions, plain and simple. When you can teach and help others you’ll find there are always ears ready to listen, and you’ll become a resource that is more valuable than if you are the only person who knows something.
Working with people
Working with people is an invaluable skill in life. Too many people think that engineering is not a people job. They are wrong! I don’t care if you clean sewer pipes for the city, you exist within a team of people doing work for other people. Product people make plans for dev people so they can make things for customer people and QA people take care of all of them. You are in a people industry, so learn to work with them. One way to help improve your ability to work with others is to read. There are plenty of books about working with people, and even more books about self-improvement, and the better you become the better you work with others. The better you work with others, the better you do your job. Here is a list of books I consider QA-related books, because I guarantee they will help you be successful in whatever you do if you internalize the principles in them.
- How to Win Friends and Influence People.
- The Power of Positive Thinking.
- 5 Love Languages
- Personality Plus
- 7 Habits of Highly Effective People
- Think and Grow Rich
- The Magic of Thinking Big
- Who Moved My Cheese
I have seen an ugly attitude in some companies that does not help anyone. The us vs them attitude is something we need to eliminate. Development is not the arch enemy of QA and QA is not the evil preventer of releases. We are a team! Instead, consider the experience we are giving the customer. This should be a common goal of all groups. I used to tell people “I break things,” when asked what I did. Changing that to “I find hidden bugs in the code,” changed my attitude a lot. We are a tool that development can use to produce a better product. We are the advocates for the customer.
That being said, when you do uncover an issue remember that the developer has spent blood, sweat, and tears producing that code and how you present the issue can invoke a positive or a negative response. Are we calling their baby ugly, or are we giving suggestions on how to make that baby cuter? For example, while I was testing, a server crashed. The abend on the screen said, “You will never see this abend.” When I called the developer his first reaction was “YOU DID NOT get that abend.” I invited him to come and see what was happening, I showed him the server and he said “It’s a fluke, you won’t see it again.” So I walked him to the next rack, and the next rack, and the next rack… I realized that arguing with him wouldn’t accomplish anything but create animosity. By inviting him to test with me and see for himself what was happening, he could figure out how to resolve the problem. In sharing my lab equipment and working with him I become a resource to come up with a solution.
Late one evening a developer came into my office and asked why his install had failed. The symptoms were familiar so I asked, “Did you remember to format the drives?” I had worked with this engineer for years and we were friends (still are). He got angry and yelled at me “YES I FORMATTED THE DRIVES.” We were both tired and frustrated. I simply got up from my desk and walked to the lab, clicked the format button and finished the install while he watched over my shoulder. He later came back to my office and sheepishly told me he was sorry. Looking back I realized that I should have given his situation more credibility and not assume he had made the mistake. By getting up and walking into the lab I wasn’t just passing his problem off, but acknowledging he was having an issue. Because I chose to become a resource to help solve problems he was able to finish his work. Most importantly, if I had taken his reaction personally it would have damaged our work relationship and I wouldn’t have him for a friend today.
Think outside the box
Curiosity is your best friend. Your motto should be “What does this do?” If your goal is to provide a great customer experience, then you have to think like a customer who had never seen the product before. They don’t know what the expected path is and are going to try clicking “File”, “Edit”, “Insert”, etc., looking for the feature they want, so try and anticipate the customers workflow and give them the best and easiest experience possible. This is true because they probably didn’t read the manual until after the feature didn’t work like they expected.
Thinking outside the box is a valuable resource. I was on a team that produced a LAN card which was very successful and had sold thousands of cards. These cards were very reliable and were loved by the industry for their cost. However, of all the sites using them around the world there were two sites that were seeing them constantly hang the computer. One of those sites was a manufacturer of warehouse automation equipment, and we thought it was probably an issue with electromagnetic interference. Twisted pair or WiFi Ethernet didn’t exist and these cards used coaxial cabling. It was a company wide panic to reproduce this hang so we could solve it. I went to the lab and took 25’ coil of coax and placed it in line with a server and 6 workstations then inserted a ⅜” electric drill into the coil and triggered the drill which instantly locked up all seven machines. I could lock them up at will and became the hero. On a side note I was also considered a little crazy, after all, who would use a drill and coax to create a transformer in order to test an Ethernet card? To come up with this solution I looked at what was the problem that needed to be solved. We came up with a theory as to what may be causing the problem. I was able to devise a setup that would test the theory to see if was actually causing the problem.
It is almost impossible to fix and issue you are unable to reproduce. As a developer I worked with would say “You need to find the secret sauce to make it happen.”
Growing up, I worked on a dairy and milked, fed, and cared for 138 cows, 365 days a year. It didn’t matter if it was 34 degrees below zero or over 100 degrees outside, you had a job to do. My attitude towards work has always been: you do what it takes. Does that mean occasionally working late, or weekends? Yes, if required. I am not advocating this as a normal business model, but there are circumstances where it is needed. My motto has been that I am paid to do a job, and I should be satisfied that I did my best to make it a success when the job is complete.
Keep a logbook or a journal. It is impossible to remember everything you are learning or doing so having a written record gives you a resource that you can reference over and over again. I have used bound log books in the past, but am currently using a Google Doc to do this. This can be invaluable when your boss wants a report of what you have been doing.
You need to learn when to stand up or back down. You have a responsibility to the customer—to provide the best experience possible. Sometimes this means we need to be flexible. I was writing automation tests for configuring an intelligent switch. I discovered that a couple of the commands did not follow syntax and were definitely not in line with the product format. After writing the defects I was contacted by the developer and the PM. They explained that these were part of the product early on and customers were using them in scripts to automate setup of their switches. Changing them would force all of our existing customers to have to rewrite their configuration scripts. I conceded that it would not be in the companies best interest to cause our customers grief over something that had a work around just because it was not ideal.
That was a case where I backed down, but there are times we need to stand up. Too often standing up feels like becoming a target and we retreat. At one point I was responsible for the LAN driver certification program for a company. Third party companies paid to have engineers on site to certify all their products. One day an engineer came to me and said his company’s LAN driver had passed all the tests but one and wanted me to issue certification with an exception for that test. I said “No.” This happened for several days with the same scenario being played out. I didn’t think any more about it until a few months later the company Lawyer walked into my office with some corporate executives. They demanded to know why I had issued the certification when I knew it didn’t work. I told them I didn’t and I could prove that I didn’t (remember the logbook?). The next question of course was, “If you didn’t, who did?” It turns out the onsite engineer had gone to my boss who issued the certification. The failed test? Fragmentation. The protocol that used it? Appletalk. It turns out some over-exuberant salesman had convinced a company to by 2000 of these cards to go inside their Macs.
Set goals. You’re probably pretty tired of hearing this phrase, I know I am. But this has everything to do with success, because setting larger goals and breaking them down to achievable steps gives you confidence and improves every other aspect of your work. It’ll improve your life too, because you should be setting goals for work, education, finances, spirituality, family, and fitness. Years ago, I read a study of people who were trying to lose weight that found if they set a goal to place their shoes in the same place every night and followed through with it, they lost much more weight than those who did not do this. This strange combination is backed by some simple science: setting a simple goal that can be achieved and show success in any area of life, gave those who did it confidence and made them believe they could succeed everywhere else.
My first job out of college was exciting. I had my multi-year goal down. My intent was to design hardware and work my way up to management. The funny twist of fate was three months after I was hired they announced they would not be designing any new hardware. 6 months after being hired I found myself a manager with 13 employees over a third party LAN driver certification program. I had reached my goals in way less time than I thought, skipping the steps to get there. Were things going really well? Not really, I didn’t make new goals, and I fell into a stagnant time. What should have been a happy, productive period of my life ended up being one of my darkest, and I realized that it was because I had nothing to work towards. When you are not working towards something you are going backwards, which is a sure trigger to make yourself unhappy and miserable at work and at home.
While a plan is definitely important, remember that the goal is the important thing and plans are created to achieve the goals. Life is full of curveballs and we need to flex with it. Always keep the goals but adjust your plans to make them happen.
Get a life
Now, the other side of the coin. Work is not your life. If that’s all you do, it’s going to wear on your health and relationships, two things which you need to be successful in your career and life. You need something in your life that will motivate you, give you a reason to get up in the morning. Many times I have been doing something totally unrelated to work and the answer to a problem I have been fighting with will come to me. Why, because I have allowed my mind to let go of the worry but subconsciously it is still working in the background. Whether you are into running, woodcarving, off-roading, reading, gaming, or whatever it is, get out and do something fun and leave work behind. Then when you come back the next day you are refreshed and ready to go. When stress from work starts to get me down, remembering that work provides me with the ability to do what I enjoy helps me to succeed. It allows me to restore a 73 Bronco to take into the mountains, create wood carvings which I give away, travel, take pictures, spend time with my family, and especially be Gramps to two wonderful girls. After doing the things I enjoy, I wake up refreshed and ready to do my best.
Thanks for sharing these lessons David. I always believe having self-defined goals is very important to make sure we make progress in our careers. Work alone teaches us little, unless we compound it with our own learning.