Senior Software Engineer (Cloud)

Information Technology Santa Clara, CA


Description

The Senior Software Engineer will be a key team contributor applying extensive knowledge of design principles and practices in the implementation of complex, enterprise-scale software systems. It includes designing and implementing the backend layer of the software and data stacks that will serve an ecosystem of patient facing mobile applications as well as serving as a data science workbench backed by a ‘big data’ foundation. Strong hands-on experience with ETL (extract, transform, load) data pipeline implementations is a must.

General responsibilities include design concept generation, participating in and leading design reviews, development and testing of the product stack. This is an equivalent of technical lead role within engineering and an opportunity to influence the architecture and roadmap, and lead and guide junior engineers in execution and code review.

Your values align with ours:

Customer Empathy, Respect/Earn Trust, Extreme Ownership, Bias for action, Entrepreneurship, Open sharing of information, Data-driven, Effectiveness, Resiliency, Grit, Radical Candor, Curiosity, Optimism, disagree yet commit, Collaboration

Responsibilities:

  • Software Development: This is a hands-on software development position to design high level and low-level components, write high-quality software that will perform at scale, be supportable, and be extensible
  • Exceptional communication skills
  • Process & Operations: Builds, maintains, and extends our DevOps toolset to 3-5 attributes 
  • Ensure ongoing improvements to team productivity and product scalability; lead team members to design, plan, deliver and operate high-quality software

Requirements:

  • 6+ years of hands-on industry experience (or equivalent)
  • Full-stack engineer with experience in designing, building and operating SaaS-based enterprise software products using technologies like FE JavaScript frameworks like Angular, enterprise languages like Java, SQL and NoSQL (Cassandra, etc.)
  • Java backend development expertise, especially in Java web frameworks like Spring Boot and/or Vert.x
  • Experience with cloud-agnostic, open source technologies such as Kafka
  • Strong understanding of designing high performance, fault-tolerant distributed software solutions.
  • Strong development experience in either Java/J2EE, Spring Framework, .NET with exposure towards Web services and APIs as in RESTful and SOAP.
  • Good knowledge of functional programming and languages such as scala and/or closure. 
  • Experience with languages python and/or Go.
  • Experience with Spring Framework and/or Node.js
  • Experience with PaaS technologies such as Cloud Foundry and/or OpenShift 
  • Experience in no-SQL databases such as MongoDB, Couchbase or DynamoDB
  • Experience with Asynchronous messaging using Kafka, RabbitMQ, Redis or alike.
  • Experience in streaming technologies like Spark streaming or Storm
  • Knowledge of CI/CD tools and process such as Git, Jenkins, JUnit/TestNG, Nexus, Chef/Puppet, etc.
  • Familiarity with containerization technologies such as docker and swarm and kubernetes
  • Familiarity with Unix/Linux OS and shell scripts
  • Strong experience in developing highly available and scalable services using event-driven reactive architecture to provide a real time services and ML models (experience with Vert.x is a plus)
  • Strong experience in using Cloud (AWS) experience in API Design, Data Modeling, Capacity planning
  • Experience of on-call production support, lead incident resolution

Nice to Have:

  • Master in CS, Engineering (preferred)
  • Experience in Healthcare tech, standards, and workflows (e.g. HL7, FHIR)

Education Qualification:

  • B.S. in computer science, software engineering, computer engineering, electrical engineering, or related area of study