Senior Software Engineer I (Java)
Jobgether · United States · 1 wk ago
RemoteRemoteEngineering$140k–$160k/yrFull-time
About the role
The Senior Software Engineer I (Java) position is part of a larger initiative managed by a partner company. This role involves designing, developing, and maintaining high-quality software solutions that support industrial technology innovation.
Responsibilities
- Develop and improve software products through strong engineering practices, technical ownership, and collaboration.
- Design and implement scalable, reliable, and maintainable software solutions using Java and related technologies.
- Improve code structure, architecture, and engineering practices to enhance quality, performance, and testability.
- Create, review, and maintain technical documentation, including design specifications and implementation plans.
- Apply strong knowledge of software engineering principles, including object-oriented design, algorithms, data structures, concurrency, and security practices.
- Write and review high-quality code while participating in constructive code review processes.
- Collaborate with engineering teams and cross-functional partners to solve technical challenges and deliver impactful solutions.
- Take ownership of product areas or technical leadership responsibilities, such as product ownership or team coordination.
- Support and mentor other engineers by sharing knowledge, providing guidance, and encouraging best practices.
- Identify risks, escalate complex issues, and contribute to continuous improvements across development processes.
- Work with customer-facing teams when needed to troubleshoot issues and gather technical requirements.
Requirements
- Strong software engineering experience, excellent problem-solving abilities, and a passion for building applications that deliver value to users.
- Technical depth, collaboration skills, and the ability to work effectively in an agile development environment.
- 3-5 years of professional software engineering or software development experience.
- Strong understanding of computer science fundamentals, including object-oriented programming, multi-threaded architectures, algorithms, data structures, and cybersecurity concepts.
- Hands-on programming experience with Java and/or TypeScript.
- Experience with development tools such as IntelliJ or equivalent, Git, Webpack, and modern software toolchains.
- Strong SQL and relational database experience, including querying, schema design, and stored procedures.
- Experience handling large-scale data ingestion, high-volume systems, streaming data pipelines, or similar environments.
- Ability to design and develop responsive, high-performance applications using concurrency and multi-threading techniques.
- Strong analytical thinking and creative problem-solving skills.
- Excellent written and verbal communication skills with the ability to collaborate effectively with technical teams.
- Experience working in agile software development environments.
- Passion for creating user-focused applications and delivering high-quality software.
- Familiarity with time-series data concepts such as compression, interpolation, aggregation, and deadband.
- Knowledge of industrial data standards such as OPC-DA, OPC-UA, MQTT, or Modbus.
- Experience building historian connectors, adapters, APIs, or operational data pipelines.
Benefits
- Competitive compensation package with a salary range of $140,000 - $160,000 annually.
- 100% employer-covered medical, dental, and vision insurance.
- Paid holidays, vacation time, and sick leave.
- 401(k) retirement plan with company matching contributions.
- Flexible remote work within the United States.
- A supportive and collaborative engineering culture focused on innovation and continuous learning.
- Opportunities for professional development and career growth.
- Company activities and initiatives designed to encourage connection and teamwork.
- Access to a workplace environment that values flexibility, diversity, and work-life balance.