A software engineer is a skilled professional focused on the design and creation of software. They may or may not actually code. Because they are interacting with both business functions and programmers, Software Engineers should have excellent communication skills and should enjoy working as part of a team. They will often have to explain business functions to programmers and technology restraints to non-technical business managers.
Requirements for Software Engineers:
- Skill Set:
Successful Software Engineers need to know basic business functions, have a firm understanding of design methodology, and excellent communication skills.
Usually requires at least a BS in Computer Science. Should be very familiar with specialized languages relevant to the technologies employed (Java, C++, C#.NET as examples)
- Code Requirements:
Software Engineers may or may not write code, although most do regularly.
Software Engineer Compensation :
- Expected Salary: Compensation for Software Engineers varies according to years of experience, degree and geography. A new graduate from a prestigious school in California may start at $45,000 to $60,000 per year. For up to date salary information, check out the online salary calculators.
- Additional Incentives:
Often, performance bonuses are awarded in addition to base salary. Profit sharing or stock purchase programs may provide additional compensation. Many newer start ups offer stock in addition to or in place of some base salary compensation.
Software Engineer Career Path :
- Common Promotions:
After 3-5 years of experience many Software Engineers are promoted to a Senior Software Engineer position. Depending on the employee's skills and interests, a Senior Software Engineer may later be promoted to a Software Architect (a very senior designer of complex programs) or a role in Project Management.