Software Engineer - Java / AWS (Contract)

Early Warning®San Francisco, CA
Hybrid

About The Position

This position designs, develops, tests and maintains software product applications. Overall Purpose: This position designs, develops, tests and maintains software product applications. Essential Functions: Participates in designing, developing, documenting, testing, and debugging new and existing software systems and applications. Contributes in development life cycle including requirements analysis and design. Write technical specifications based on conceptual design and stated business requirements. Support, and document software functionality. Identify and evaluate new technologies for implementation. Analyze code to find causes of errors and revise programs as needed. Provide critical input in software design meetings and analyze user needs to determine technical requirements. Consult with end user to prototype, refine, test, and debug programs to meet needs. Complies with all security policies and procedures, to ensure that the highest level of system and data confidentiality, integrity and availability is maintained.

Requirements

  • Ability to use Unix/Linux command line programs and create/edit scripts.
  • Able to analyze results of automated deployment scripts and makes modifications.
  • Able to prepare detail design documents from requirements.
  • General understanding of software environments and network topologies.
  • Able to demonstrate OOA/OOD skills.
  • Demonstrable understanding of distributed, component based architecture
  • Working knowledge of networking and/or telecommunications protocols
  • A solid understanding of event driven / asynchronous programming and multi-threading
  • Demonstrable technical design skills (UML experience a plus)
  • Familiar with TDD/BDD.
  • Familiar with SOA framework, web services, etc.
  • Competent (2+ years) Java or C# or C++ or Objective-C language programming skills.
  • Competent with SQL or PL/SQL and relational database concepts.
  • Experience with source code control systems.
  • Experience with secure programming techniques is highly desirable
  • Able to perform code reviews to ensure the code meets the acceptance criteria.
  • Experience with automated functional software testing frameworks, such as Cucumber, Selenium, etc.
  • Possess advanced knowledge of QA/QC techniques; certifications preferred
  • Agile/Lean methodologies experience
  • Solid understanding of an iterative software development process
  • Bachelor’s Degree in Computer Science and/or 2 or more years of related industry experience.

Nice To Haves

  • Familiar with Reporting tools such as Crystal Reports, Jasper Reports, BIRT, etc.
  • UML experience a plus
  • Certifications preferred

Responsibilities

  • Participates in designing, developing, documenting, testing, and debugging new and existing software systems and applications.
  • Contributes in development life cycle including requirements analysis and design.
  • Write technical specifications based on conceptual design and stated business requirements.
  • Support, and document software functionality.
  • Identify and evaluate new technologies for implementation.
  • Analyze code to find causes of errors and revise programs as needed.
  • Provide critical input in software design meetings and analyze user needs to determine technical requirements.
  • Consult with end user to prototype, refine, test, and debug programs to meet needs.
  • Complies with all security policies and procedures, to ensure that the highest level of system and data confidentiality, integrity and availability is maintained.
  • Able to maintain test scripts as needed.
  • Prepares test strategy, test plan, test cases, and test summary documents.
  • Performs unit, functional, load, user interface, performance, regression and system integration testing on new code or modified code prior to production releases.
  • Produce and report project test metrics.
  • Assists new staff on testing techniques and test methodologies
  • Ability to respond to situations in a timely manner, and meet predetermined deadlines
  • Ability to support/maintain existing products and add new features as requested by customers.
  • Provide support to UAT/production applications as needed
  • Ability to work on multiple projects
  • Able to estimate all project activities and tasks.
  • Able to elicit user and functional requirements.
  • Mentor and monitor Software Engineers in the technical aspects of their assignments.

Benefits

  • Early Warning has developed and maintains a written AAP and upholds pay transparency nondiscrimination.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service