Scope- Looking for an experienced Staff Software Engineer for our supply chain execution product suite
- Staff Software Engineer's responsibilities include designing and owning the development of configurable, scalable, reliable, secure, extensible, cost-optimal and high-performance software services, solutions, architectures, frameworks and platforms that meet business objectives, with customer success in focus. An experienced Staff Software Engineers also helps the team get better technically by performing required research and analysis, sharing best practices and technically leading the team by example.
- The Staff Software Engineer's role plays an important part in our company's product development process. Our ideal staff software engineer leads, guides and mentors the development team towards on-time delivery of both functional and non-functional requirements with best quality, before product launches to ensure that the software runs smoothly and meets client needs, while being cost-effective. This position requires a blend of technical expertise, domain knowledge, problem solving, and effective communication skills to collaborate with cross-functional teams. If you hold an engineering or research background and enjoy providing technical leadership on software development, we'd like to meet you.
- The team currently comprises of 30+ global associates across US and India (COE) and is expected to grow rapidly. The incumbent will need to have leadership qualities to also mentor junior and mid-level software associates in our team
Technical Environment- Software: Java, Springboot, Gradle, GIT
- Application Architecture: Scalable, Resilient, event driven, secure multi-tenant Microservices architecture
- Cloud Architecture: MS Azure (ARM templates, AKS, HD insight, Application gateway, Event Hub, Azure AD, etc.)
- Frameworks/Others: Kubernetes, Kafka, Elasticsearch, NOSQL
What you'll do- Collaborate with stakeholders and cross-functional teams to understand business needs and translate them into technical requirements and architectural designs
- Define the design along with architectural and engineering patterns and standard for the team to follow
- Actively-involve in architecture and code reviews and provide feedback to ensure software quality and its compliance with architectural patterns and guidelines
- Work closely with engineering managers, lead engineers, functional analysts, and other stakeholders to define project scope, priorities, estimates and timelines
- Drive the adoption of cloud-native architectures and microservices-based solutions
- Identify and mitigate technical risks and challenges throughout the software development lifecycle
- Evaluate and recommend technologies, frameworks, and tools to meet business requirements and technical objectives. Develop and contribute towards proof-of-concept work, as and when needed.
- Understand emerging technologies, industry trends, and best practices, and assess their potential impact on our technical architecture
- Create and maintain documentation related to architecture, design, and other technical artifacts
- Own the non-functional requirements and outcomes like (but not limited to) Observability, Scalability, Reliability and Performance
- Push the team towards better quality software by constructively pointing out opportunities to reduce complexity and to write cleaner code and more effective tests
- Help other team members to come up with simpler, more robust, and more efficient designs
- 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 resources, providing hints and leading by example so they come up with their own solutions
- Actively increases awareness of information security among coworkers and demonstrates how to improve vulnerable code
- Actively shapes team vision and helps shape the team roadmap towards achieving it
- Work across teams with technical architects and product-management to conclude on scope and estimates for cross-team commitments
What we are looking for- BTech/BS/MTech/MS degree in Engineering or a related subject
- Proven work experience in software development as a staff software engineer
- Experience of 12-15 years in software industry
- Strong knowledge of software development methodologies, automation, tools and processes
- Experience of working in an Agile/Scrum based product development organization
- Experience of evaluation of tools and technologies for software development
- Strong programming experience and background in Enterprise Java, hands-on development skills along with architecture and design experience
- Demonstrable experience with designing, deploying and maintaining enterprise cloud solutions (preferably Azure)
- Experience with implementation of event driven architecture using Kafka or similar technologies
- Hands-on experience on cloud native architecture, distributed micro-services, Multi-tenant SaaS solutions, scalability, performance, application security, disaster recovery and high availability
- Experience with DevOps, API Management including identity and access management, infrastructure-as-code and infrastructure automation
Our ValuesIf you want to know the heart of a company, take a look at their values. Ours unite us. They are what drive our success - and the success of our customers. Does your heart beat like ours? Find out here: Core Values
Diversity, Inclusion, Value & Equity (DIVE) is our strategy for fostering an inclusive environment we can be proud of. Check out Blue Yonder's inaugural Diversity Report which outlines our commitment to change, and our video celebrating the differences in all of us in the words of some of our associates from around the world.
All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability or protected veteran status.