Why not make a Career in Breaking Code?
Mrs. Rama Komarabathini
Program Manager @Alstom | LinkedIn Top Voice | Leadership, Agile Champion & Coach | Mother
The Code Breakers
Career in breaking code?
You may be wondering what's all this about. You may say "I have heard about career as Technical Architects, Designers, Developers, Testers etc., but never came across something called Breaking Code. Well, I am referring here to the members of the quality assurance team – or simply put – the testers.
You may also be wondering where this term came from? In the project in which I work, when any member of the QA team finds a bug he/she exults "Code Broken!! Off goes a part of developer's bonus".
So we started calling ourselves Code Breakers!! Also, I find the term "Tester" very dry – so thought of this new nomenclature.
We as a QA team more often than not take pride in finding bugs in a software system – and, why not, at the end of the day it's what brings us job satisfaction.
Why breaking code is most important?
The answer to the above question is a no-brainer.
You may have seen a sticker "QC Passed" on electronic/electrical equipment. As a consumer, would you prefer to go for a product that has "QC Passed" sticker or the one without it? Of course, the one with the sticker, isn't it? Similarly, customers rarely accept a software product that is not tested.
However, I would like quote here from what Fred Brooks has famously stated,
Software entities are more complex for their size than perhaps any other human construct because no two parts are alike (at least above the statement level). If they are, we make the two similar parts into a subroutine — open or closed. In this respect, software systems differ profoundly from computers, buildings, or automobiles, where repeated elements abound. (Brooks 1987; Brooks 1995, 182).
It is this Nature of Software that requires us to test application thoroughly before it is shipped out. Moreover, software is developed by us humans and we make mistakes resulting in errors, bugs and defects. Hence, in order to minimize the discrepancies QA teams are employed to break open the code. Tests are conducted to mainly answer the following questions
- Have we built it right?
- Have we built the right thing?
Why career as a Code Breaker?
You may come across people who frown when you tell them that you want to pursue a career as a tester. They may say it is a low profile job. My reaction to this is that these are "software illiterate people". Tell these people that you are pursuing a career as Code Breaker – they will think that it is something fancy and will never engage with you at all!!
So why should you pursue you a job as a Code Breaker? Here are some reasons,
- Testing is as interesting as the job of an investigator: You can be an investigator of the team. Identifying scenarios when the application would break is a challenging job.
- You get to be creative: One needs to be creative and think out of the box to identify bugs. Explore all scenarios that the application could be subjected to.
- It is satisfying when you help find and resolve defect in the software: It is highly satisfying to find a critical bug before it’s leaked to the customer and identified by the customer. To provide quality software to customers gives you a feel of achievement.
- You get to know domain knowledge: Testers need to have holistic view of the application and hence they are in a position to provide better inputs to the developers. In many of the projects that I have worked on, the testers are the point of contact for developers for functional know how.
History of Testing
Software testing was introduced as a separate discipline in 1979 by Glenford J. Myers. Before the 80s, testing was an integral part of development and mainly included debugging.
During 80s and 90s, testing grew from a small team within a development organization to a separate department, creating a new discipline typically called - Quality Assurance. This allowed developers to focus on writing code without the worry of testing it on growing variety of platforms in almost infinite number of situations.
At the end of the 90s testing was well defined and entrenched within the development teams.
Progression – Career Growth
A graduate intending to pursue career in software testing enters the industry as a software tester with responsibilities for testing the application using test scenarios (test cases) those have already been documented. Defects found are documented in a prescribed format in a bug tracking tool.
A software tester could go on to become a senior software tester who has the responsibility to write the test scenario (test case) and also execute them.
The next position could be that of a Test Lead who could be given responsibility to manage a team of testers. This position will require the person to plan, monitor and control testing activities of the test team. He/she will be responsible to draw the test objectives and test plan for the software product under test. More importantly the Test Lead plays an influential role in arriving at a decision as to whether the product meets the required standards and can be shipped to the customer or not.
A Test Lead could report into QA Manager who is responsible for the overall functioning of the QA teams within the organization. This position is responsible to define the organizational test policies and processes. He/she will be responsible to identify the tools and technologies that shall be used by the QA teams. The responsibility of recruiting and mentoring the new members of the QA teams could also lie with this position.
Outlook of Testers – Money matters!!
It’s a myth that developers are paid more than testers. In the current day scenario, a tester is given the same level of importance as a developer and hence salaries are on par at equivalent levels.
What else could I do as a tester?
You could get to code too!! - Test automation has made an entry in a big way in the software industry. This requires the testers to have programming skills, since you will need to write programs to automate software testing. While working on test automation, you could get to work on your favorite languages like VBScript, JavaScript, Java, C# etc.
Conclusion
If you feel,
- You can think out of box
- You are creative
- You are inquisitive
- You care about quality
- You have attention to details
- You have patience
Then you have the right attitude and qualities to become a good Code Breaker. Why not make a career in Breaking Code and join me in my journey to ensure quality within the Software Development World.
Global Operations Head at Crevavi Technologies
7 年Nice article Rama. Code breaker - the word says it all that how important job it is!
Program Manager @Alstom | LinkedIn Top Voice | Leadership, Agile Champion & Coach | Mother
7 年Thank you all. Glad that you liked this post. It motivates to write me few more posts.
Translator Between Creative Groups and Engineering/Development Teams | Process Improvement Wizard | TV & Film Fanatic | Speaker
7 年Great article! Thank you for sharing your insights, Mrs. Rama K - SAFe Agilist, PMI-ACP,PMP?,SSGB,CSTE! I love the idea of referring to software testers as "code breakers." Sometimes the role of "tester" is deemed as not very important, since the role does not provide "value" to a project in the traditional sense) - since there is no "product" generated by testers; however, because developers are human and code is not perfect, testers will ALWAYS be needed and valuable. Your article illustrates this importance.
General Manager - IT at Safexpress Private Limited | Winner Next100 CIO 2018
7 年Superbly written, very interestingly articulated!