Posted in

Senior Software Engineer I – Java

Senior Software Engineer I – Java

CompanyInductive Automation
LocationFolsom, CA, USA
Salary$140000 – $160000
TypeFull-Time
DegreesBachelor’s
Experience LevelMid Level, Senior

Requirements

  • 3-5 years of software engineering or software development experience
  • 2-4+ years experience utilizing high level programming languages such as Java, Kotlin, C++, C# etc.
  • Object-oriented design experience
  • Solid understanding of concurrent programming (Java is a plus)
  • A comprehensive understanding of computer science concepts and ability to apply expertise in object-oriented design, multi-threaded architecture, data structures, algorithms, and cybersecurity
  • Experience using relevant tool suites. (IntelliJ or equivalent, Git, Webpack)
  • Creative problem-solving skills
  • Passionate about building applications that delight users
  • Strong written and verbal communication and interpersonal skills
  • Experience working on a team using agile methodologies
  • Proven ability to be proactive and take initiative

Responsibilities

  • Independently responsible for the entire lifecycle of projects or features including engineering design, development, and deployment
  • Java software development on Inductive Automation’s software product(s)
  • Improving code structure and architecture in service of testability and maintainability
  • Writing, co-writing, and reviewing design documentation
  • Maintaining high proficiency in one or more technical areas
  • Prioritizing and valuing unowned or undesirable work that enables the team to move faster
  • Ensuring work meets quality standard
  • Working with their team and adjacent teams to solve problems
  • Escalating problems that have wider scope
  • Assisting and teaching other engineers on an individual basis
  • Completing thoughtful and constructive code reviews in a timely manner
  • Meets and maintains 6 month performance milestones provided by their manager
  • Responsible for one or more product areas or other IC leadership role (Product Lead, Scrum Master)
  • [Product Lead] Understanding, vetting, and prioritizing all incoming defects and feature requests having to do with their product area, as well as taking an active role in the future big-picture planning.
  • [Product Lead] Participating in the Product Lead Council to collaborate with various stakeholders interested in their product area. Making decisions and acting as a subject matter expert for their respective product area.
  • [Product Lead] Authoring requests for comments (RFCs) for significant new product features or changes and working with stakeholders and the software engineering team to issue a final specification document upon ticket completion

Preferred Qualifications

  • Strong experience with Java JDK 21+
  • 2+ years SpringBoot experience
  • Familiarity with CQRS/Event Sourcing patterns – Axon Framework a plus
  • Solid understanding of SQL and PostgreSQL
  • Database design and lifecycle management experience – Liquibase a plus
  • Experience with Docker and Docker Compose for local development
  • Solid understanding of container best practices and optimization
  • 2+ years Kotlin experience
  • Experience with event driven architecture
  • Knowledge of HTTP API design and implementation
  • Experience with distributed system challenges and solutions
  • Experience with TDD
  • Experience with Feature Flag implementation and use
  • Experience with OpenTelemetry implementation and use (e.g. Spans/Traces and custom metrics)
  • Experience working as a Team Lead or other Leadership experience