Job Title: Lead Software Engineer
Location: Chicago, IL
Type: W2 Contract
Required Education/Experience:
Bachelor's degree with 10+ years or Masters Degree with 8+ years
Required Qualifications:
As a Senior Software Engineer, you will build platform notification services that enable CLIENT customers to be alerted for events that are critical to efficiently operate CLIENT engines and machines.
Typical task breakdown:
As a Senior Software Engineer you will be is responsible for development of services using Scala and Akka technologies
Competent to perform all programming, project management, and development assignments without close supervision; normally assigned the more complex aspects of systems work.
Works directly on complex application/technical problem identification and resolution
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
Mentors and assists software engineers, providing technical assistance and direction as needed
Maintains high standards of software quality within the team by establishing good practices and habits
Identifies and encourage areas for growth and improvement within the team
Guides the team to develop structured application/interface code, new program documentation, operations documentation and user guides in a casual, flexible environment
Communicates with end users and internal customers to help direct development, debugging, and testing of application software for accuracy, integrity, interoperability, and completeness
Performs integration testing and customer acceptance testing of components that requires careful planning and execution to ensure timely, quality results.
Employee is also responsible for performing other job duties as assigned by CLIENT management from time to time.
Required Technical Skills:
5+ years of software development experience using Java 8+
3+ years of Scala programming experience
2+ years of Akka technologies such as Streams, Actors, HTTP, Persistence
Top candidates will also have:
Experience with design and implementation of high-availability and reliable solutions
Designing, developing, deploying and maintaining software at scale.
Application architectural patterns, such as MVC, Microservices, Event-driven, etc.
Deploying software using CI/CD tools, such as Azure DevOps, Jenkins, etc.
Deploying and maintaining software using AWS. Other AWS technologies, such as API Gateway, ALB, NLB, Fargate, Lambda, S3, CloudWatch, IAM, CloudFormation, etc
Developing software applications using relational and NoSQL databases such as PostgreSQL, AWS DynamoDB
Working within an Agile framework (ideally Scrum)
Must demonstrate solid knowledge of Computer Science fundamentals, such as data structures and algorithms.
Passion for technology and an eagerness to contribute to a team-oriented environment
Demonstrated leadership on small to medium-scale projects impacting strategic priorities
Nice to Have:
Experience designing well-defined Spring Boot Restful APIs
Experience in functional programming
Exposure to type level and Zio framework
Exposure to Reactive Streaming
Disqualifiers/Red Flags/Overqualifications:
Consistent job hopping/ choppy tenure
Resumes should not exceed 3 pages
Candidates who have been "all over the place" in this capacity.
If the candidate(s) cannot speak to their skills and experience that are listed on their resume