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 complex projects as well as for the delivery of multiple components of large projects as part of a team. Focus on developing deep expertise in one more areas of software development technology.
Participate in the design, development, and support of technical projects from design through to completion according to project standards. Responsible for the delivery of small projects as well as for the delivery of components of large projects as part of a team. Projects may support multiple departments and Ilitch-owned companies, including:
Take part in the research and proof-of-concepts of new technologies. Present findings to senior technologists in the organization.
With minimal oversight from a senior engineer, develop software following corporate standards for, the design, development, testing, and support of software, systems, and applications.
Collaborate with fellow LCE developers as well as external resources located locally or off-shore.
Participate in formal design and code reviews for others’ work.
Support QA in the development of integration test plans, test conditions, and expected test results.
Work with analysts to understand requests or discuss alternatives, resolve system issues and provide or respond to suggestions for improvement.
Provide guidance and support to engineers and analysts with less experience.
Provide support for production applications including on-call afterhours support on a rotational basis. Develop and maintain support documentation.
Establish one or more areas of technology in which to strive to become a corporate SME.
Minimum Knowledge, Skills and Abilities:
Bachelor’s degree in Computer Science or related field. Equivalent experience may be considered in lieu of a formal degree.
Minimum of four (4) years programming experience in and strong knowledge of several of the following technologies:
Microsoft .Net (C# or VB)
Mobile development including Android and iOS native applications and hybrid applications
Experience working with data-driven systems using SQL and RDBMS.
Understanding of modern software architecture concepts such as MVC, SOA, SOAP, REST, and cloud/cloud hybrid models.
Experience in a formal Software Development Life Cycle.
Evidence of a detailed, well-organized ability to multi-task and complete concurrent, technical priorities.
Proven verbal and written communication skills with the ability to communicate technical information to a non-technical audience.
Evidence of ability to collaborate and build relationships with internal and external clients and resources.
Self-motivated, curious, creative and passionate about technology.
Demonstrated written and verbal communication skills.
Preferred Skills, Knowledge and Abilities:
Experience using formal software management and source control tools such as Team Foundation Server, Aldon, SVN, or Git.
Programming experience in any of the following technologies:
Content management systems such as DNN, Joomla or Drupal
Social media integration tools and platforms
Enterprise Service Bus (ESB) technologies
Experience with Agile software development methodologies such as Scrum or Kanban.
Experience developing formal estimations for project completion.
Understanding of Object Oriented (OO) techniques, including an understanding of common OO and web application design patterns
This position requires on-call responsibilities requiring work during nights, weekends, or holidays.
Works in a normal office environment where there is no physical discomfort due to temperature, noise, dust and the like.
Moderate noise (examples: business office with computers and printers.
Some travel including travel to restaurant locations and trade shows. This position requires the ability to adhere to the LCE Travel policy.