Senior Java Software Engineer

3Core Systems , Inc•Peoria, IL
•Hybrid

About The Position

The Senior Java Software Engineer applies computer science and mathematical analysis to the design, development, testing, and evaluation of software and systems. The role works on new program development and maintenance of existing mobile, web, cloud, server, and computing systems, and may involve operating-systems-level software, compilers, and network-distribution software. The engineer works independently on complex applications, modules, and infrastructure; provides technical guidance to team members; and participates in Agile and Scrum activities. The position is a 12-month contract based in Peoria, Illinois, with a hybrid schedule of two days onsite and three days remote. A second-round interview is in person.

Requirements

  • Bachelor’s degree in computer science, electrical engineering, or a related field, plus 8 or more years of experience; alternatively, the technical skills section allows at least 6 years of experience with a master’s degree in computer science or a related field.
  • At least 8 years of software development experience, or at least 6 years with a master’s degree in computer science or a related field.
  • At least 8 years of experience designing and developing software applications in Java, or at least 6 years of Java experience with a master’s degree in computer science or a related field.
  • At least 3 years of AWS development experience, including CloudFormation templates, ECS clusters, Lambda, Fargate, Amazon Elasticsearch, S3, and a strong understanding of IAM roles and policies.
  • Experience with generative AI for software development.
  • Experience designing, developing, deploying, and maintaining software at scale, including at least 3 years building with cloud technologies such as AWS, Azure, or GCP.
  • Experience developing applications using relational and NoSQL databases.
  • Knowledge of application architecture patterns such as MVC, microservices, and event-driven architecture.
  • Experience deploying software using CI/CD tools such as Jenkins or Azure DevOps.
  • Experience deploying and maintaining software on public cloud platforms such as AWS or Azure.
  • Experience working in an Agile framework, ideally Scrum.
  • Solid knowledge of computer science fundamentals, including data structures and algorithms.
  • Ability to perform independently and manage time effectively.
  • Mentoring skills to support team members and provide constructive performance feedback.
  • Knowledge of the full software development lifecycle, from analysis and requirements gathering through development, testing, and delivery.
  • Knowledge of computer hardware and software, and development software related to systems, such as SQL and Visual Basic.

Nice To Haves

  • Knowledge or experience with batch or stream processing systems such as AWS SQS, AWS SNS, or Kinesis.
  • Experience designing well-defined RESTful APIs.
  • Hands-on experience with API tools such as Swagger, Postman, and Assertible.
  • Experience with test-driven development and behavior-driven development.
  • Hands-on experience with Selenium and Cucumber and integrating them into CI/CD pipelines.
  • Experience with datastores such as DynamoDB, MongoDB, Cassandra, Redis, Elasticsearch, MySQL, or Oracle.

Responsibilities

  • Participate in Agile team and Scrum activities.
  • Program, develop, integrate, and administer systems independently, without close supervision.
  • Design, code, test, and debug programs of high complexity.
  • Configure or customize complex purchased software solutions.
  • Provide project management, programming, systems, and system administration leadership, guidance, and assistance to team members.
  • Identify and resolve complex application and technical problems, including responding to off-shift and weekend support calls.
  • Work independently on complex processes and modules used by one or more programs or systems, including infrastructure component change management.
  • Develop major system modules, programs, or infrastructure releases based on requirements gathered from system customers.
  • Plan and execute integrated testing and customer acceptance testing of system components.
  • Perform integration tasks for internally developed systems and purchased hardware and software solutions; assist customers with documentation, training, and usability.
  • Review and approve modifications to existing databases and database management systems.
  • Instruct staff in writing and coding logical and physical database descriptions and identifying databases to management systems.
  • Direct database development and approve project scope and limitations.
  • Review database project requests and estimate the time and cost required to complete them.
  • Plan, coordinate, and implement security measures to protect computer-file information from accidental or unauthorized damage, modification, or disclosure.
  • Approve, schedule, plan, and supervise installation and testing of new products and improvements to computer systems.
  • Develop standards and guidelines for software use and acquisition and for protecting vulnerable information.
  • Troubleshoot issues and make system changes as needed to resolve them.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service