Software Engineer

The Software Engineer is responsible for the design, development, implementation and maintenance of software applications. He/she will lead and/or support the lifecycle of application development, using scrum management processes in our agile environment.

Click HERE to apply. Applicants Only, No Recruiters.

Overview of Duties and Responsibilities

  • Design and author quality source code, including documentation of code, high level and detail level designs as needed. Implement unit tests as required for thorough code coverage. Review team source code, as necessary.
  • Work within an agile team, solve problems efficiently and completely according to principals of scrum development.
  • As needed, lead and perform solution analysis, code analysis, requirements analysis, software review, identification of code metrics, system risk analysis, and software reliability analysis. Make specific determinations about system performance, and review changes in code and environment that can affect system performance with recommendations.
  • Lead and participate application database design and implementation. Be comfortable in large database environments.
  • Manage and respond promptly and professionally to defect reports. Provide assistance to testers and support personnel as needed to determine system problems.
  • Assist with the implementation of our solution within client solutions.
  • Identify issues or obstacles of department and/or programmer productivity or efficiency to software development management.
  • Research and recommend software tools to management. Perform current technology assessment on an on-going basis to determine areas of improvement.

Knowledge, Skills, and Attributes

  • Fluency in many development environments and web-based tools to provide technical expertise and guidance in the development of complex, high-performance software and systems (many of which are web-based).
  • 5+ years development using C# or comparable object oriented language.
  • 3-5 years Microsoft development.
  • Knowledge of C#, ASP.NET, Java J2EE, Oracle RDBMS and Microsoft SQL Server as tools and platforms is necessary to work across our complete spectrum of product lines and technologies. A subset of these technologies is required to work on the applications and products.
  • Must understand theory and practice of relational database design and development.
  • Solid understanding of networking/distributed computing environment and service-oriented architectures required.
  • Experience using a source control management tool (preferably Git).
  • Experience with cloud computing a plus (preferably AWS).
  • Experience collaborating on a development team.
  • Experience with JIRA and Confluence tools a plus.
  • BS in Computer Science or comparable discipline.

Personal Attributes and Competencies

  • Strong and effective inter-personal and communication skills and the ability to interact professionally with a diverse group of clients and staff, while maintaining positive client and staff interactions.
  • Must be able to operate in an agile team environment.
  • Act as an interface to complementary teams as needed.

Customer Base

  • All internal IMO teams in addition to serving external clients (through our implementation or product teams) require the services of this position.
     

Working Conditions/Physical Job Requirements

  • This position will require employee to work on site at the IMO headquarters in Northbrook, IL.