Sr Software Engineer (Search & Recommendations) Java/Typescript-Austin, TX
H-E-B · San Antonio, TX · 1 wk ago
On-siteEngineeringFull-time
About the role
As a Senior Software Engineer, you'll work with the Search and Recommendations team. Our team is responsible for the search and recommendation experiences that power product discovery across H-E-B Digital. We help millions of Texans find the products they need through intelligent search, personalization, ranking and recommendation systems. You'll work on complex engineering challenges involving relevance, query understanding, experimentation and AI-driven experiences at grocery scale.
Location: Austin
Responsibilities
- Works on technology projects / tasks with limited or no guidance
- Writes production-ready code and tests that meet acceptance criteria, are easily testable, documented, easily understood by other developers, and account for edge cases, security, and errors
- Creating, configuring, and supporting build and deployment pipelines
- Leads others in coding / configuration / maintaining / testing / debugging existing or new systems; delivers quality features and bug fixes that align with our development process
- Capable of leading team on effective production support or on-call, debugging, and troubleshooting highly complex issues within team services
- Able to identify a path to resolution for most issues for team services
- Demonstrates ownership of team services and influences the team
- Starts to learn how to influence across teams
- Fosters growth environment through mentorship and open collaboration with peers
- Recommends and drives changes to processes and tools at the team level aligned with the organization and company goals
- Reviews epics critically and ensures dependencies are identified, they're appropriately broken down and prioritized, and well understood by the team and stakeholders
- Drives priority setting and urgency in alignment with organizational strategy
- Anticipates and communicates blockers, delays, and cost ballooning for their work before they require escalation
- Ensures expectations within their team are clarified between all parties involved
- Leads team ceremonies and larger team efforts
- Drives improvements within assigned team
- Expert knowledge in their area of focus and mentors others
- Fosters a culture of documentation and knowledge sharing within their team and with their team's business stakeholders
- Leads root cause analysis and establishing action items for the RCA
- Learns to work with other teams to resolve issues involving dependent services
- Identifies and communicates cross-team dependencies
- Ensures system monitoring for team services is effective and adheres to best practices
Requirements
- Bachelor's degree in Computer Science, Engineering, Information Systems or related field, or equivalent experience
- 5+ years of professional software development experience
- Experience building and evolving search, retrieval, ranking and recommendation capabilities that help customers discover products more effectively, leveraging AI-driven experiences to deliver relevant, personalized results at scale
- Strong experience developing backend services with Java
- Experience building APIs and microservices using TypeScript and Node.js
- Experience designing and supporting GraphQL APIs
- Experience building cloud-native applications in AWS
- Experience with infrastructure as code, preferably Terraform
- Experience with search technologies such as OpenSearch or Elasticsearch
- Experience working with NoSQL databases, including DynamoDB
- Experience with event-driven architectures and streaming platforms such as Kafka or Kinesis
- Strong understanding of software design, system architecture and distributed systems
- Experience working in Agile environments and modern CI/CD practices
- Familiarity with AI-assisted development tools and integrating AI assistants into the software development lifecycle
Skills
- Advanced knowledge in system and data architecture, data modeling, and design and capable of architecting and designing at the application or service level using well-accepted design patterns
- Able to review platform designs for strength of engineering solutions, namely performance, sustainability, and iterative development potential
- Comprehensive knowledge of Computer Science fundamentals: data structures, algorithms, design patterns, system architecture and design patterns
- Advanced understanding of development methodologies and processes
- Proficient at analyzing memory and performance issues using profiling tools
- Leverages Agile metrics to improve team performance and deliverables
- Evaluates and adjusts resources, self, and team as necessary
- Ability to work on tasks which span multiple domains, requiring cross-team collaboration, which have a high impact on your project
- Embraces risk, change, and helps team manage ambiguity within the team's scope of work. Able to drive progress without having a complete picture and can articulate potential tradeoffs and prioritize when faced with ambiguity
- Delivers clear, concise, effective messages across different levels; can tailor communication based on intended audience
- Fosters a culture of mentoring and coaching across multiple technical teams and other stakeholders
- Fosters a culture within their team where people are encouraged to share their opinions and contribute to discussions in a respectful manner, approach disagreement non-defensively with inquisitiveness, and use contradictory opinions as a basis for constructive, productive conversations
Physical Demands & Working Conditions
- Travel by car or plane with overnight stays
- Work extended hours; sit for extended periods
- Work rotating and on-call schedules, as needed