Software Engineer - Franklin Park, IL

ABOUT THE COMPANY

Responsible for the performance of professional work in research, development, design, testing, analysis, production, maintenance, or operation of company product lines. Significant latitude is given to work within the team to develop superior designs and innovative solutions as well as improve the development processes. Expected to demonstrate leadership within the team and lead team projects as required.

 

RESPONSIBILITIES

  • Provides expert guidance to project teams and participates as a key functional team member as part of the integrated project team. 
  • Designs and codes software to meet customer needs and requirements. 
  • Follows industry standard practices of conducting design reviews, code walk throughs, unit level testing, and integration testing. 
  • Works closely with the Software Quality Assurance team to test, troubleshoot, resolve, and release production software. 
  • Ensures prompt response to production and customer issues. 
  • Applies intensive and diversified knowledge of engineering principles in broad areas of assignments and related fields. 
  • Maintains liaison with individuals and units within the organization, and with outside vendors and other sources, with responsibility for acting independently on technical matters related to product and process development. 
  • Assumes full technical responsibility for interpreting, organizing, executing and coordinating assignments. 
  • Plans and develops engineering projects concerned with unique or challenging designs which have an important effect on major company initiatives. 
  • May supervise subordinates or individual researchers or consultants on specific objectives.

REQUIREMENTS

    • 7+ years of experience developing event-driven application software with a strong emphasis on GUI (graphical user interface) development 
    • 5+ years of experience with Java and/or Android Development 
    • Demonstrated experience contributing to development efforts at a senior-level, with the ability to provide leadership and mentoring to more junior team members as needed 
    • Experienced and knowledgeable regarding operating systems and networks 
    • Basic knowledge of the Linux OS 
    • Experience with Firebase, Spark, or Tensor Flow is a plus 
    • Strong understanding of software design patterns and how, why, and when to apply them
    • Proven history of being successful within a team-oriented environment 
    • Confident team player motivated by a fast-paced environment 
    • Ability to learn existing architecture quickly 
    • Strong analytical, communication, and presentation skills 
    • Ability and willingness to provide technical and team leadership through coaching and mentorship 
    • Prior experience in a technical leadership position is a plus 
    • Minimum B.S. in Computer Science, Software Engineering, Computer Engineering, or related discipline