Job Title: IT Software Engineer 4
Location: Chicago, IL (Only Local )
Job Type: W2 Contract
Education/Experience
- Bachelor's degree in Computer Science, Software Engineering, or relevant field required
- 8+ years experience required
Technical Skills
- 8+ years or more of software development experience (or 6+ years with master's degree in CS or related field)
- 8+ years or more experience designing and developing software applications in Java (or 6+ years Java with master's degree in CS or related field)
- At least 3 years experience developing in AWS: CloudFormation templates, deploying ECS clusters, Lambda, Fargate, Amazon Elastic Search
- Strong understanding of IAM roles and policies
- Gen AI experience for software development
- Designing, developing, deploying, and maintaining software at scale
- 3 years building and developing with Cloud Technologies (AWS, Azure, GCP)
- Developing software applications using relational and NoSQL databases
- Application architectural patterns (MVC, Microservices, Event-driven, etc.)
- Deploying software using CI/CD tools (Jenkins, Azure DevOps, etc.)
- Deploying and maintaining software using public clouds (AWS or Azure)
- Working within an Agile framework (ideally Scrum)
- Strong understanding and/or experience in some of the following:
- Batch or stream processing systems (AWS SQS, AWS SNS, Kinesis)
- Experience designing well-defined RESTful APIs
- Hands-on experience with API tools (Swagger, Postman, Assertible)
- Test-driven development and behavior-driven development
- Hands-on experience with testing tools (Selenium, Cucumber) and their integration into CI/CD pipelines
- Datastores (DynamoDB, MongoDB, Cassandra, Redis, Elasticsearch, MySQL, Oracle)
Soft Skills (Required)
- Ability to work under pressure and within time constraints
- Passion for technology and eagerness to contribute to a team-oriented environment
Job Description
Main function: apply principles of computer science and mathematical analysis to design, development, testing, and evaluation of software and systems
Research, design, develop, and test operating systems-level software, compilers, and network distribution software
Applications include medical, industrial, military, communications, aerospace, business, scientific, and general computing
Review and approve modification of existing databases and database management systems
Instruct staff to write and code logical and physical database descriptions; specify identifiers of database to management system
Direct database development and approve project scope and limitations
Review project requests describing database user needs to estimate time and cost
Plan, coordinate, and implement security measures to safeguard information in computer files
Approve, schedule, plan, and supervise installation and testing of new products and improvements
Develop standards and guidelines for software use/acquisition and protection of vulnerable information
- Reports to Software Engineering Manager
- Responsibilities within functional lines assisting in new program development and/or maintenance of existing mobile, WEB, Cloud, server, computing systems
- Work as part of Agile team and participate in Scrum activities
- Perform all programming, development, integration, and system administration assignments without close supervision
- Design, code, test, and debug programs of high complexity
- Configuration or customization of purchased software solutions with high complexity
- Provide project management, programming, systems, and/or system administration leadership, guidance, and assistance to other team members
- Work on more complex application/technical problem identification and resolution, including off-shift and weekend support calls
- Work independently on complex processes and modules used by one or more programs, systems, or infrastructure component change management
- Develop major system modules, programs, or infrastructure releases based on requirements from system customers
- Perform integrated testing and customer acceptance testing of system components
- Fully knowledgeable of programming languages, program design, specification development, programming logic, logic diagrams, system analysis, testing, debugging, documentation standards, file design, storage, and internal systems
- Perform integration tasks for in-house developed systems and/or purchased hardware and software solutions
- Assist customers with documentation, training, and usability efforts
Interaction with Team
- Significant interaction required with Scrum team
- Interaction during all Scrum ceremonies: Daily Standups, Sprint Planning, Grooming, Retro, Demo, etc.
- Interact with team for PR Reviews
- Engage with other teams as needed
Work Environment
Strong collaboration required