SOFTWARE ENGINEER II
SUMMARY: Participate in a team-oriented environment to design and develop complex web and mobile solutions. Research and analyze technical requirements. Work closely with team lead and manager to develop applications and code components for external and internal clients. Collaborate with other stakeholders to produce high-quality, high-value software solutions for ECI’s customers.
ESSENTIAL DUTIES AND RESPONSIBILITIES
- Translate functional requirements and develop designs of applications, components, and modules in partnership with senior team members.
- Design and develop UI, business-layer, and back-end components in coordination with senior team members and team guidelines.
- Develop complex web and mobile applications and components.
- Proactively participate in a team environment utilizing scrum methodologies.
- Perform thorough debugging and unit testing.
- Participate in team and individual code reviews to ensure and improve quality of deliverables.
- Collaborate in an active and engaged way with team members on analyzing, developing, testing, and delivering high quality code components.
- Follow all coding, process, and conduct standards of the organization.
REQUIRED TECHNICAL SKILLS
- Web-based software development utilizing the Microsoft development toolset
- C#, ASP.NET MVC 4 or other MVC web frameworks
- Proficiency in SQL and a strong understanding of relational database systems
- Understanding of OOAD and OOP
DESIRED TECHNICAL SKILLS
- Understanding of design patterns
- Experience with the Agile software development methodology
- Experience with responsive UI design patterns and implementations
- Experience with design and development for multiple form factors and devices
- Experience with Enterprise Software Development
- Experience with ASP.NET Web API or other web service technologies
- Experience with automated testing patterns and tools
- Experience with Service Oriented Architecture