Staff Software Engineer
-----------------------
Helps the team get better technically, mentors junior associates, and keeps customer success in focus, in particular:
- Pushes the team towards better quality software by constructively pointing out opportunities to reduce complexity and to write cleaner code and more effective tests.
- Helps other team members to come up with simpler, more robust, and more efficient designs.
- Identifies root causes of issues and fixes those rather than their symptoms.
- Actively shares knowledge in their field of expertise, e.g., by contributing to open source software projects, offering training sessions, holding conference presentations, etc.
- Empowers, mentors, and grows less experienced team members, e.g., by sharing knowledge and providing hints so they come up with their own solutions.
- Actively increases awareness of information security among coworkers and demonstrates how to improve vulnerable code.
- Understands customer and consumer value and slices/writes user stories accordingly to deliver value faster.
- Actively shapes team vision and helps shape the team roadmap towards achieving it.
Additions for service-delivering teams
- Designs services to be self-healing and to offer self-service capabilities from the ground up to achieve minimum manual intervention.
- Seeks out the root causes of incidents and inspires improvements in a blameless fashion.
- Strives for smooth migration paths, in particular for breaking changes.
- Diligently collaborates with stakeholders to optimize service selection and usage to minimize costs for derived products.
Secondary Duties and Responsibilities
-------------------------------------
- Leads by example.
- Participates in team hiring activities.
- Understands the impact of partner enablement on the growth of the company.
- Reflects on how the team works towards delivering value and actively improves processes within their team.
- Becomes a subject matter expert in one or more product areas.
- Translates business requirements to user stories and actively seeks feedback by the stakeholders.
- Supports team management in prioritizing backlog items.
- Quantifies impact and values of features to inform prioritization of issues and secure necessary budgets.
- Considers Blue Yonder design guidelines and consults architects as appropriate.
- Feeds larger refactoring opportunities into the team's backlog.
- Evolves the team’s continuous integration pipeline and fixes broken builds.
- Performs benchmark analyses, identifies hot spots, and derives appropriate measures to improve performance.
- Develops prototypes and proofs of principles for innovative features.
- Reflects on alignment of team vision with company vision.
- Steadily extends their knowledge to identify synergies across domains and speed up time to become an expert in new areas.
- Makes impediments transparent and helps others to overcome theirs.
- Has a deep understanding of the team’s problem domain and interaction points with other teams.
- Timely and proactively communicates impediments to commitments.
What we are looking for:
- 14+ Yrs of Demonstrable experience with microservices based architecture on Cloud at scale.
- Experience with implementation of Event driven architecture using Kafka, Spark or similar technologies
- Hands-on development skills along with architecture/design experience; should not have moved away from software development
- Demonstrable experience, thorough knowledge and interests in Cloud native architecture, Distributed micro-services, Multi-tenant SaaS solution and Cloud Scalability, performance and High availability
- Experience with API management platforms & providing / consuming RESTful APIs
- Experience with varied tools such as Spring Boot, OAuth, REST, GraphQL, RDBMS, Docker, Kubernetes, Kafka, React.
- Experience with DevOps, Infrastructure as Code and infrastructure automation.
- Good Understanding of secure architectures, secure configuration and identity management.