Job Description :
Title: Principal Software Engineer
Location: Chicago,IL
Duration: 12+ Months
W2 Only


Candidate Responsibilities As a Principal Software Engineer you will lead all stages of software development including refining product vision, gathering requirements, project planning, software system design, coding, testing, release, deployment and support.
Typical Day JOB DUTIES: Responsibilities of the incumbents are across functional lines with individuals assigned in new program development and/or maintenance of existing mobile, WEB, Cloud, server, personal computer, mainframe, and/or distributed computing systems. This individual will also work collaboratively with other engineering teams to ensure cross-functional goals are met.

Competent to perform all programming, project management, and development assignments without close supervision; normally assigned the more complex aspects of systems work.
Lead role in complex projects spanning across multiple system components
Work in all phases of product creation process including creating technical requirements, project planning, identifying dependencies, system architecture and development.
Investigation and root cause analysis of software and system defects.
Focus on productivity, quality and competitiveness of major technology initiatives.
Apply knowledge and skills to solve most complex engineering problems.
Organize and drive configuration management activities of the development process
Works directly on complex application/technical problem identification and resolution, including responding to off-shift and weekend support calls.
Works independently on complex systems or infrastructure components that may be used by one or more applications or systems.
Drives application development focused around delivering business valuable features
Mentor and assist software engineers, providing technical assistance and direction as needed
Maintains high standards of software quality by establishing good practices and habits
Identifies and encourage areas for growth and improvement
Communicate with end users and internal customers to help direct development, debugging, and testing of application software for accuracy, integrity, interoperability, and completeness
Performs integrated testing and customer acceptance testing of components that requires careful planning and execution to ensure timely, quality results.
Education Requirement • Position requires a four-year degree from an accredited college or university.
18 years or more of software development experience or at least 13 years of experience with master’s degree in computer science or related field.
Technical Skills Required • 8 years of demonstrated experience leading software engineering projects.
8 years or more of experience in designing and developing software applications in Python or Scala or at least three years of experience in Java or Scala with master’s degree in computer science or related field.
8 years or more of developing customer facing services and design patterns.
8 years or more of experience coding python / scala
3 years or more of experience in Streaming Analytics application ( Flink )

Top candidates will also have:
Demonstrated leadership on medium to large-scale projects impacting strategic priorities.
Proven experience in many of the following,
o Designing, developing, deploying and maintaining software at scale.
o Developing software applications using relational and Nosql databases.
o Application architectural patterns, such as MVC, Microservices, Event-driven, etc.
o Deploying software using CI/CD tools such as Jenkins, GoCD, Azure Devops etc.
o Deploying and maintaining software using public clouds such as AWS or