Computer software engineers apply the principles and techniques of computer science, engineering, and mathematical analysis to the design, development, testing, and evaluation of the software and the systems that enable computers to perform their many applications.According to the U.S. Bureau of Labor Statistics, in 2012, the average salary for an application software developer was $93,000, with only 10% of such developers making more than $139,000 in salary. Clearly, then, any Google engineer making $3 million per year is getting most of that in bonuses and/or stock.Computer software engineers work in teams to develop new computer systems, hardware, and software. A team usually consists of engineering, marketing, and manufacturing professionals. Computer software engineers usually work in cozy offices or laboratories with computers.Programming computer controls, Working with business analyst to develop project implementation and develop plans including user interfaces, Modifying IT systems already in use, Writing documentation,Developing Coding and debugging across a variety of products, Testing new Software’s for compatibility with other existing software’s, Fixing any technical problems while testing, Designing, prototyping and implementing graphical user interfaces, etc. varying on the organizational requirements from country to country.The job outlook for software engineers is quite positive. Growth will increase much faster than average compared to all other U.S. occupations. The demand is expected to increase due to a large need for computer software used in industries like mobile technology and healthcare computer systems. The type of education required for this job is a Bachelor's degree.