Designs and develops effective information technology solutions by creating new, or enhancing existing internal or customer applications. Applies fundamental concepts of software programming and application development methodology in a team environment. Determines programming solutions from analyzing business and functional requirements and technical specifications. Coaches and mentors other junior and staff software engineers.
1. Plans, designs, develops, tests, maintains, and documents system software.
2. Performs technology product design and programming activities requiring business, functional and systems research and analysis; designs, implements, and/or maintains product modules or sub-systems.
3. Executes test procedures according to test plan and identifies problems; performs unit and integration testing for functionality and limits; performs bug verification, release testing, and support for assigned products. Writes module-level implementation and test specifications; tracks key activities.
4. Performs other duties of a similar nature or level to support the tasks assigned to the department.
5. Provide guidance, training, coaching and mentoring to other associates as required to meet project timelines.
6. Evaluate, recommend and implement new technologies, architectures and practices as it relates to the project and team when it makes sense.
7. Collaborate with Technology leadership to design, plan and schedule new product development and software enhancements.
1. High school diploma or equivalent.
2. BS or BA in computer science or related technical field is preferred, or a corresponding number of years experience in Information Systems or Application Development.
3. At least 6 years’ experience with software development/application architecture.
4. Strong problem solving and analytical skills.
5. Ability to understand, and relate to other members of the organization.
6. Ability to understand technical manuals, software specifications, hardware principals of operations, and systems software operations.
7. Ability to communicate ideas and problem solutions.
8. Ability to lead team of software development professionals.
E-Commerce Discipline – Skills Needed
Technologies - Experience and knowledge of MVC, ASP.Net web forms, ASP.Net UI controls, HTTP caching, ASP.Net session management, and Web Application Deployment IIS features / functions / settings. Skill sets include C#, ASP.Net, AJAX, HTML / CSS, XML, XSL, and XSLT, JQuery, and LINQ. Must be able to write code that is reusable and extendible. Thorough knowledge of ASP.Net page life cycle and ADO.Net data objects. Experience with OOP concepts, WCF service, and ASMX web services (REST-ful and SOAP). Experience with SQL and DB2 databases. Application architecture and SOA experience required.
Software Development Lifecycle – Experience with Agile, Scrum, or similar development approaches. Knowledge of NUnit (or similar unit testing framework), and Moq, TypeMock (or similar mocking frameworks). Knowledge of Dependency Injection frameworks (such as Unity, StructureMap, or Castle Windsor) is a plus. Interest or experience with peer-programming or test-driven development (TDD) is also a plus.