- Get the user requirements and prepare a document called Software Requirements Specification
- Make a plan and schedule for the software development
- Develop the software as per the plan
- Unit testing to make the software defect free
- Co-operate and work with the design team to meet the design specifications
- Co-operate and work with the QA team to make software reliable and bug free
- Fix the issues reported by QA team if any
- Give demo of the developed software to client for final approval
- Release the developed software to client
- Maintenance of the developed software if required
Programming Languages: This is the first requirement to become a software engineer. You have to be an expert in at least one programming language. There are many programming languages available like PHP, C#, JAVA, Ruby, Objective c, JSP, Python, Pearl etc. Other than these programming languages you should have strong knowledge of CSS, Scripting languages like Java Script, J Query, Angular JS, Node JS, etc.Database: With programming languages, you must know database languages like MySQL, SQL Server, Oracle, No Sql, Mongo DB etc.Analytical Skills: Developers must analyze users' needs and then design software to meet those needsCommunication Skills: Must have strong communication skills as he/she has to frequently communicate with team mates, manager or clients.Creativity: As mentioned above, it is a very creative field so if you want to stay in completion, you must come up with new creative ideas.Detail Oriented: Developers often work on many parts of an application or system at the same time and must therefore be able to concentrate and pay attention to detail.Time Management: As each project in this field is bound to time and extra time means extra cost. So a software engineer must be good at time management.Team Work: As in this field, most of the time you have to work with a team, so you must have skills to team up with others quickly and work as a team member.Problem solving skills: Because developers are in charge of software from beginning to end, they must be able to solve problems that arise throughout the design processStrong learning skills: As the technology is changing every day, on should have strong learning skills to learn new changes in technology. It is necessary to stay in the competition.
How to be there?
First earn a degree in computer science from a reputed institute.
If you got an admission in a very good reputed college and you are lucky, you can get a job before the completion of your degree through campus placement. Yes, almost all large companies hire fresher through the campus interview. But if you are not so lucky it doesn't mean you can't get job. In this case you have to do more efforts yourself.
The best way to get a job quickly is, choose a programming language like PHP, .Net, Java, Flash etc., get training from any reputed institute and create some sample application. Start applying for job and prepare yourself well for the interview.
The average salary of beginners can be Rs. 15,000 to 30,000.
The average salary at mid level of experience (3-6 years) can be Rs. 30,000 to 50,000.
The average salary at high level of experience (more than 6 years) can be Rs. 50,000 to 70,000.The salary depends on your education, experience, company and your responsibility level in the company.
Pros and Cons
Changes to go abroad
High class working environment
Long work hours
High pressure of work to meet the deadlines
Required continue learning