It all begins with doing what you love. If you don't love software testing (or whatever it is that you do) then...
my recommendation is to move on and find something you can get excited about. Otherwise, everything else will lack the spirit and the sticktuitiveness you'll need to be successful. If you're teetering on software testing or just not sure what you want to do, you need to get to the root of what you're cut out for. You can do this by asking yourself:
- Am I more of a techie?
- Am I more business-oriented?
- Do I have good communication skills?
- Would I rather be looking at a computer screen all day or interacting with people most of the time?
Your answers to these questions will help you define what areas of software testing, etc. you want to aim for. Once you look at the basics then ask yourself:
- What is it that I have been good at in the past? Was it my interactions with people, was it writing or teaching, or was it tinkering around with code all day?
- What do I do well right now – today – better than anyone else?
- What area or areas do I want to get better at?
The reason you need to fine tune what it is that you want to do in your career is so you can learn what it takes to stand out above the noise. You'll not only set yourself up for success in enjoying the work you do but you'll minimize your stress by not wasting time on work that's not in line with your skills or interests. Down economy or not, the best way to get a job or to move up in your current organization is to differentiate yourself in positive ways.
It's also important to understand that software testing and software skills in general go beyond your technical skills. You may have learned Linux, C#, and TCP/IP like the back of your hand in college or continuing education classes but that's not everything. Sure, understanding the ins and outs of programming languages, operating systems, and networks are extremely important – I wouldn't trade that type of knowledge for anything. However, the reality is you must be able to see the bigger picture. Not only understanding bytes, syntax, and protocols associated with software testing but also understanding higher level business issues such as:
- Sales and marketing (the "why" that often drives higher quality code)
- Finance (the bottom line that you help contribute to no matter how seemingly small your day-to-day job functions are)
- Security and privacy (the outcomes of high quality code)
- Compliance (the reasoning – albeit backwards – behind many security and quality initiatives)
- Project management (the science of getting things done)
Ultimately, the thing that's going to move you ahead more quickly is to think, communicate, and deliver your work product in terms of the business. This can be distilled down to: How does your work contribute to the overall mission of your organization? Once you determine how your contributions in software testing are part of a much greater system and use that in every decision you make, things will start falling into place. Approach it like a well-designed Mercedes or Ferrari. Your specific deliverables may "only" be the equivalent of the inner-workings of the motor, the car's handling, or its ergonomics but without your contribution, the car wouldn't otherwise be the fine piece of machinery that many people hold up on pedestal.
Another important thing to understand as early on as possible is that it's not so much about who you know but rather who knows you. The best way of making yourself known is by networking and building relationships with lots of people – both inside and outside IT circles – over time. This means going to networking events around town, perhaps starting a blog, or even writing a book. Your long-term goal should be to build your credibility. Once you build your credibility, relationships will develop, people will trust you more and more, and you'll become a person of value.
Finally, don't forget the value of continuous learning. Someone asked me recently what my "secret" was to staying on top of things in my field. I responded by saying I read what other people write. If it weren't for tweets, blogs, articles, webcasts, books, and conferences, it'd be impossible for me to stay on top of things. This is especially true in our world of IT and software where things are constantly evolving. So no matter how technical you are, no matter how many years' experience you have and no matter how current and sharp your skills may be, there's always something new to learn. Every day that you're not learning and getting ahead, you're falling behind which ultimately diminishes your chances of moving up into management or branching out to work for yourself. Work hard on the right things and keep it up. If you do, such constant and consistent forward motion will essentially guarantee success in your career.
About the author
Kevin Beaver is an information security consultant, expert witness, author, and speaker with Atlanta-based Principle Logic, LLC. With over 21 years of experience in the industry, Kevin specializes in performing independent security assessments revolving around compliance and minimizing information risks. He has authored/co-authored eight books on information security including the newly-updated Hacking For Dummies, 3rd edition. In addition, he's the creator of the Security On Wheels information security audio books and blog providing security learning for IT professionals on the go. You can reach Kevin throug his website www.principlelogic.com and follow him on Twitter at @kevinbeaver.