Software developers need to be detail-oriented and have excellent problem-solving and analytical abilities.
They should have good communication skills and be able to work independently and as part of a development team.
Employers normally require a bachelor's degree in computer science or a similar field but may accept a two-year technical degree if combined with several years of practical experience.
Equally important are programming skills in languages and frameworks such as C#/C++, HTML, Java/Java Enterprise Edition, Microsoft .NET and SQL Server.
A minimum of two to three years of programming experience is a typical requirement.
Complex projects may call for additional years of demonstrated achievement.
Typical duties include:
Coding, testing and debugging programs according to computer engineering specifications
Modifying, expanding and updating applications
Communicating with a team that includes analysts, engineers and quality assurance testers in order to coordinate and document application development and testing
Developing software prototypes.