Job Description :
Work individually and on a team to participate in all aspects of software engineering including technical design, development, testing and support. Responsible for individually completing small to medium sized projects as well as for the delivery of complex components of large projects while working as a member of a team. Provide deep expertise as a SME in one more areas of software development technology. Projects may support multiple departments and Ilitch-owned companies.

Key Responsibilities:

Design, development, and support of technical projects through to completion according to project standards and user satisfaction. Responsible for the delivery of small to medium sized projects as well as for the delivery of complex components of large projects as part of a team.
Take part in the research and proof-of-concepts of new technologies. Present findings to senior technologists in the organization.
Develop software following corporate standards for, the design, development, testing, and support of software, systems, and applications. Produce excellent quality code with a focus on stability, security, and maintainability.
Contribute to software architecture designs. Participate in the planning and design of future software and technical architectures.
Work with fellow CLIENT developers as well as external resources located locally or off-shore.
Participate in and actively contribute to formal design and code reviews for others’ work.
Support QA in the development of integration test plans, test conditions, and expected test results.
Resolve system issues and respond to suggestions for improvements.
Provide support for production applications including on-call afterhours support on a rotational basis. Develop and maintain support documentation.
Mentoring less-experienced developers in software development techniques and processes.
Develop estimates for completion of programming projects and participate in developing formal project plans.
Participates in technical aspects of system evaluation and vendor selection processes.
Perform technical functions in the software development process such as performing builds and releases.
Act as a subject matter expert in one or more areas of technology. Keep up to date with latest technology trends and developments.

Minimum Knowledge, Skills and Abilities:

Bachelor’s degree in Computer Science or related field
3 - 5+ years professional experience in and demonstrated expertise in the following

technologies:

o Microsoft .Net (C
o NoSQL Databases
o VSTF with GIT
o RESTful Services
o SQL
Experience using modern software architecture concepts such as MVC, REST, and cloud/cloud hybrid models.
Demonstrated knowledge of advanced programming techniques and experience mentoring less senior developers.
Experience in a formal Software Development Life Cycle using continuous integration.
Experience using formal software management and source control tools such as Team Foundation Server, Aldon, SVN, or Git.
Excellent analytical and problem-solving skills. Ability to find creative solutions to solve problems while staying within practice guidelines.
Self-motivated, curious, creative and passionate about technology.
Experience developing formal estimations for project completion.
Experience with Object Oriented (OO) techniques, including an understanding of common OO and web application design patterns.