Senior Software Engineer - HashiCorp Secure Products
Software Engineering
California, USA · Tokyo, Japan · Texas City, TX, USA
At IBM Software, we transform client challenges into solutions. Building the world’s leading AI-powered, cloud-native products that shape the future of business and society. Our legacy of innovation creates endless opportunities for IBMers to learn, grow, and make an impact on a global scale. Working in Software means joining a team fueled by curiosity and collaboration. You’ll work with diverse technologies, partners, and industries to design, develop, and deliver solutions that power digital transformation. With a culture that values innovation, growth, and continuous learning, IBM Software places you at the heart of IBM’s product and technology landscape. Here, you’ll have the tools and opportunities to advance your career while creating software that changes the world.
IBM Software, we transform client challenges into solutions. Building the world’s leading AI-powered, cloud-native products that shape the future of business and society. Our legacy of innovation creates endless opportunities for IBMers to learn, grow, and make an impact on a global scale. Working in Software means joining a team fueled by curiosity and collaboration. You’ll work with diverse technologies, partners, and industries to design, develop, and deliver solutions that power digital transformation. With a culture that values innovation, growth, and continuous learning, IBM Software places you at the heart of IBM’s product and technology landscape. Here, you’ll have the tools and opportunities to advance your career while creating software that changes the world.
We’re looking for Senior Engineers with a deep backend focus to join our team. In this role, you can expect to:
Lead the design, prototyping, and implementation of multi-phase features and tools with a high business impact, ensuring stability and usability
Collaborate closely with Product Design, Product Management, and cross-functional engineering teams to align on priorities and technical solutions
Act as a subject matter expert in Golang development and quality standards, influencing internal teams and the external community
Assess and break down large projects across multiple teams, evaluating tradeoffs to maintain project momentum and alignment
Spot potential technical issues before they happen. Recommend improvements to maintain quality, efficiency, and productivity
Stay current on industry trends and best practices, advancing their adoption within the team and across the organization
Advocate for technical roadmaps that enhance organizational performance, and participate in system-wide debugging, maintenance, and production support
Mentor team members
This professional is also expected to:
Security & Cryptography
Expert understanding of symmetric and asymmetric encryption, certificate management, key management, PKI, and TLS
Proficiency in security best practices and secure coding principles
Distributed Systems & Infrastructure
Deep understanding of consensus algorithms (e.g., Raft)
Strong experience working in large distributed micro services architectures
Experience with testing distributed services
Hands-on experience implementing distributed applications in container environments (Kubernetes/OpenShift)
Considerable experience configuring and administrating Linux/UNIX systems
Familiarity with cloud infrastructure (AWS/Azure/GCP)
Dev Ops & CI/CD
Expert understanding of CI/CD, Dev Ops, automated testing, and supporting release engineering initiatives
Experience building and maintaining robust CI pipelines (GitHub Actions preferred)
Ability to identify areas of improvement and automation opportunities
Code Quality & Maintenance
Skilled in conducting code reviews and providing constructive feedback
Responsible for ensuring code quality and maintaining high standards
Ability to manage technical debt and ensure maintainability of code bases
Expertise in performance optimization and scalability of complex systems
Strong coding practices including test-driven development (TDD), code reviews, refactoring, and adherence to Go best practices and idioms
AI & Machine Learning
Proficiency with AI coding assistants (Bob, GitHub, Copilot, etc.) to accelerate development while maintaining code quality
Ability to leverage AI tools for code analysis, bug detection, and security vulnerability identification
Skill in crafting effective prompts to utilize LLMs for problem-solving, documentation generation, and technical research
Ability to critically evaluate AI-generated code and suggestions, understanding when to accept, modify, or reject recommendations
Leverage AI tools to create intelligent automation solutions and improve existing automated workflows
Leadership & Collaboration
- Demonstrated experience leading a team of junior developers and driving technical delivery
- Expected to make strategic technical decisions and provide architectural guidance
- Expected to foster innovation and continuous improvement in the team
- Excellent communication, analytical, cross-functional collaboration, and stakeholder management skills
Problem-Solving & Adaptability
Demonstrated problem-solving and analytical skills
Ability to quickly learn new technologies and implement prototypes in a timely fashion
- 11+ years industry experience with proven deep knowledge of Go/Java/C/C++ (Go preferred)
- Experience with asynchronous programming and concurrency models in Go
- Strong understanding of software design patterns across various operating systems (Linux, macOS, Windows)
- Strong knowledge of data structures, data modeling, and API design
- Solid knowledge of REST and gRPC protocols
· Familiarity with virtualization (KVM/QEMU/libvirt a plus).
· Certified Kubernetes Application Developer (CKAD) preferred.
· Understanding security and compliance issues.