Lot of freshers write to me via email about career in software testing, various growth opportunities that exist in India vs. career in software development. The main issue is that no one really tells you what kind of jobs and career do both these career streams offer. This short essay aims to give you a clarity so that you can make a well informed decision and be happy about your career choice. I'll be as objective as possible, combining my own experiences of working in software development & testing team for over 3 years (I left the IT industry afterwards) and try to give you an overall idea of what to expect. I'll encourage you to read entire post and if you have questions, post them below. Understanding The Indian IT Industry : The Indian IT industry is mostly services based industry which relies mostly on two types of jobs : software development and software testing (QA). There are other streams too, but those are out of the scope of this discussion. We'll only focus on testing vs. development. Typically most big IT industries will take up projects from overseas clients and have engineers work on them. This leads to two career paths - Software Testing & Software Development. Overall - the software development teams are responsible for 'coding' and software testing teams are responsible for making sure that everything adheres to the specifications of the software being developed. Roles Played By Software Developers Vs. Software Testers : Typically there would be 'two' teams working in sync on a project because both development and testing cannot be separated. Every written code must be checked for quality and without any team not existing - it'd be impossible to create the final software. The point I'm driving home is that both software development and testing teams are equally important. It's a myth that software 'testing' is kind of a 'lower' job as compared to software development. When any project begins - both software development and testing teams get involved from day 1. While the actual job of software developers begins much later, software testing teams usually begins right at the time of verifying the specification documents and continues throughout the life cycle of the project. It'd not be wrong to say that software testing teams often have a better knowledge of the overall functioning of the software systems they are working on. Software development, is one of the most crucial parts because without it, nothing gets 'developed'. Project manager or team lead will assign specific modules to you which you will have to code according to the specifications finalised by the software testing & business development teams. Every module developed by the developers is checked by the testing team and approved. Skill Set Requirements: For Developers: The developer skill set will be determined by the nature of the project and the technology stack decided by the software architects (much senior position in the organisation). If the architects decide that a combo of Java, C, Ruby, Python would be used in the project then accordingly developers will be selected who are trained on these technologies. For Test Engineers: They require entirely different skill set which could be a mix of Java, C, Ruby, Python along with software manual and automation tools along with scripting languages. There are several automation tools that require programming knowledge. It's a myth that software testing engineers do not write code. Given the complexity of the project a software testing engineer might end up writing more complex code than his developer counterpart. The point to be understood is that - both development and testing jobs require you to have programming knowledge. Career Growth: Software testing and development engineers have unique growth paths with similarities. Software developers may get promoted to module lead, team lead, project lead, project manager and so on depending on the company's hierarchy. A software testing engineer will have a similar path where he/she will become team lead, project lead, project manager, test architect etc. It's a myth that there are no or little growth opportunities in software testing career. Salaries Offered To Testing Engineers Vs. Developers: It's a fact that few companies offer a bit lesser salary to testing engineers as compared to developers at the initial phase of career. But I've not seen this remaining a problem for longer time in career. In fact, a qualified automation engineer can draw much more salary than a developer with similar work experience (years). Ultimately You Will Become Managers I'd say 'unfortunately' because every promotion will take you away from your technical expertise. Ultimately you will become managers and will mostly use Microsoft Outlook, Power Point and Excel Sheets no matter which stream (development or testing) you belonged to. At that stage, your salaries will be the same as what the industry offers and your testing stream won't really matter. There are few companies that allow you to stick to your roots through caries technical and management career paths. That however is out of scope of this post. You may ask specific questions about this, if you have any. Should You Choose Software Development Or Software Testing? My answer remains the same as what I've answered in most of the other similar discussions here on CrazyEngineers. If you are 'passionate' about coding [check if you've contributed to open source projects, developed a software in your part time just because it's fun, have you cracked complex coding problems just for fun?] then opt for software development. If you aren't passionate about coding and haven't written a single line of code out of interest - any stream is okay for you. I think most of the students will fall in this category. You'll be happy in any career stream - be it development or testing. Bottom Line: Don't form opinions or take decisions based on what people say. Most people are not at all exposed to the IT industry or just one of testing or development. Do your own research, gather information on your own from well informed people (CE is an excellent place to do that). If you have questions, post them below. We've several software testing engineers and software developers who will be happy to answer your questions. If you have general comments, they are welcome too. Update: While we welcome all your specific questions in this discussion; I'd strongly recommend that you should get yourself registered on Welcome - CrazyEngineers . It allows you to ask your questions privately to the industry/domain experts and seek help.