Skip to content

Senior Software Engineer I – Java
Company | Inductive Automation |
---|
Location | Folsom, CA, USA |
---|
Salary | $140000 – $160000 |
---|
Type | Full-Time |
---|
Degrees | Bachelor’s |
---|
Experience Level | Mid 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