Senior Software Engineer
Selector SoftwareUSAFull Time
Job description
Senior Software Engineer at Selector Software.
About the role
Selector Software is seeking a Senior Software Engineer to join their growing team in Santa Clara, California. This full-time position involves designing, building, and maintaining software systems that support the company's core products and services. The engineer will work closely with cross-functional teams to deliver high-quality solutions, take ownership of complex features, and contribute to architectural decisions across the platform. This role offers the opportunity to work on meaningful problems at scale while collaborating with talented peers in a supportive environment that values engineering excellence and continuous learning.
Key facts
What you'll do
- Design and implement scalable software components that power Selector Software's core platform and services.
- Collaborate with product managers and designers to translate business requirements into clear technical specifications.
- Write clean, maintainable, and well-documented code following established coding standards and engineering best practices.
- Participate actively in code reviews to ensure quality standards and share knowledge across the team.
- Debug and resolve production issues efficiently, identifying root causes and implementing lasting, reliable fixes.
- Contribute to system architecture discussions and help shape the technical direction of ongoing projects.
- Mentor junior engineers by providing guidance, code feedback, and support to help them grow.
- Build and maintain automated testing frameworks and integration tests to ensure reliable software delivery.
- Work with infrastructure and deployment pipelines to enable continuous integration and continuous delivery practices.
- Document technical designs, API specifications, and system behaviors for both internal and external stakeholders.
- Evaluate new tools, frameworks, and approaches that can improve development efficiency and product quality.
- Participate in sprint planning and agile ceremonies to track progress and manage team workloads.
- Identify opportunities to refactor existing code and improve overall system performance and reliability.
- Communicate technical trade-offs and decisions to non-technical stakeholders in a clear and accessible way.
- Lead technical discussions and provide guidance on best practices for software development and code quality.
- Participate in on-call rotations and incident response processes to maintain system reliability and uptime.
Requirements
- Bachelor's degree in computer science or a related technical field, or equivalent practical experience.
- Strong understanding of software engineering principles, core data structures, and fundamental algorithms.
- Prior experience designing and building distributed systems or large-scale enterprise applications.
- Proficiency in at least one modern programming language such as Python, Java, or Go.
- Familiarity with version control systems, particularly Git, and collaborative development workflows.
- Ability to work effectively in a team environment and communicate technical concepts clearly to peers.
- Experience with RESTful APIs and building backend services that integrate with other internal systems.
- Demonstrated ability to manage multiple priorities simultaneously and consistently deliver high-quality work on schedule.
- Solid understanding of software design patterns and object-oriented or functional programming principles.
- Comfortable working in a fast-paced environment and adapting to shifting project requirements and priorities.
Nice to have
- Experience with cloud platforms such as AWS, Google Cloud, or Microsoft Azure is a plus.
- Familiarity with containerization technologies like Docker and orchestration tools such as Kubernetes.
- Background in building developer tools or internal platforms that improve overall team productivity.
- Exposure to functional programming paradigms or statically typed languages beyond primary area of expertise.
Skills & tools
- Strong proficiency in modern programming languages including Python, Java, or Go.
- Experience with relational and non-relational databases for data storage, querying, and retrieval.
- Knowledge of REST and GraphQL API design patterns and established best practices.
- Familiarity with CI/CD pipelines and automated testing frameworks for continuous delivery workflows.
- Solid understanding of containerization and cloud deployment concepts for modern infrastructure.
- Comfortable working with agile development methodologies and collaborative project management tools.
- Experience with message queues or event-driven architectures for distributed system communication.
- Familiarity with monitoring, logging, and observability tools for production system health.
Practical notes
- This role is based in Santa Clara, California, with full-time on-site expectations at the company office.
- Candidates should be prepared for standard business hours with occasional flexibility for project deadlines and releases.
- The hiring process includes technical interviews and a coding assessment to evaluate problem-solving skills and technical knowledge.
- Selector Software offers competitive benefits and a collaborative work environment for its engineering team members and visitors.
- Applicants should be authorized to work in the United States or willing to pursue sponsorship if applicable.