Job Title Senior Software Developement Engineer : C++
:
Common accountabilities:
Has the required technical/functional knowledge and experience in own discipline. Knowledge of the Amadeus business and how it is related to own area. Works using existing procedures or guidelines and provides inputs to support/influence area decisions. Makes recommendations on new solutions and proposes improvements by analyzing different sources of information. Works with a moderate level of guidance and direction from the manager.
Specific accountabilities:
? Analyze specifications
Define user requirements for the development of new (or upgrade of existing) software solutions.
? Design systems and code
_ Design technical solutions and perform feasibility studies.
_ Propose viable technical solutions to Product Management and/or users for validation.
_ Develop software according to Amadeus standards.
_ Model, design and implement databases.
? Test and maintain the software
_ Conduct unit, package and performance tests and ensure a level of quality in line with the Amadeus guidelines.
_ Participate in the validation phase of the product cycle, fine-tuning when necessary to finalize the product.
_ Support the customer by debugging existing solutions in collaboration with Product Manager or Product Definition Analyst
? Document your work
_ Produce software documentation necessary for the application and issue it to the requesting departments.
Your Role :
You will own the committed deliveries, Aligning & steering the Product roadmap, Coaching & Mentoring the team on long term & short-term deliveries, architecture, design & forward-looking solutions coordinating with Architects and Global stakeholders.
We expect you to be able to learn new technologies, engage & transform the team through creative & thoughtful leadership, critically assess trade-offs and become a trusted partner in areas of responsibility and inspire team members. You should have excellent organization and problem-solving skills who will be responsible for designing and implementing the solution in most optimum manner to create the final product.
The ideal candidate would have designed frameworks and distributed application development in past. The candidate should be hands on with C++ primarily and should have working knowledge of other programming languages. The candidate should have strong design skills and good understanding of generic architecture paradigms like MVC, Scalability, Database design, performance tuning. Top candidates will also be excellent leaders and communicators.
The ideal candidate should be able to anticipate the need for making the components more scalable well in time and then taking care of necessary seamless changes to ensure that the components are up to date with the latest technical stack.
The candidate should have had exposure to latest development tools and practices and should continuously work in adopting those practices in Amadeus so that the productivity of the developers is enhanced.
Responsibilities :
Development, design and sustenance of data product engineering including maintain technical high level and Low-level design artefacts
Responsible for leading & managing a Full stack Product Engineering team and being the prime touchpoint fronting the team for Engineering Deliveries, Coordination with QA, Product Management and Global stakeholders.
Propose, Drive & Lead in Architecture & Design Review Boards, Design and develop modules & artefacts for Amadeus products, platform components in concert with Architects and Tech Leads in the team.
Guide and mentor Application Developers, Data Engineers, Functional business analysts & quality engineers for architecture, coding, design, and production grade craftsmanship.
Full stack Engineering ownership from requirement to Release Integration including automation of technical insurance tests during the delivery process.
Implement & automate compliance to Functional & Non-Functional Requirements as defined in Amadeus standards.
Lead the developments within the team all through the SDLC from design to release. Comfortable expanding ambiguous single line requirements or possibilities into next levels of flow tying together functional boxes and ultimately driving the technical direction of products.
Analyze anomalies and issues, help address RCA and maintain architectural, design, monitoring dashboards. Breakdown complexities into simple procedures and practices.
Help the Production support team to improve efficiency in problem's investigation, resolution, dispatch and follow-up to bring Data Quality, Validation and Monitoring continuous improvements.
Own the delivery of an entire piece of a system or application
Management and execution against project plans and delivery commitments
Self-directed and capable of working effectively in a highly innovative and fast-paced environment.
Writing high quality code, participating in code reviews, designing/architecting systems of varying complexity and scope, and creating high quality documentation supporting the design/coding tasks
Experience in writing clear, concise and comprehensive designs, specifications, and test plans etc.
Work with a highly multi-disciplinary team spread across multiple continents to drive technology changes and analytical findings
Self-motivated person on software development and code writing, should adopt the technology changes
Skills & Knowledge:
Relevant job experience:
8 - 12 years of experience in software development
BE in Computer Science or in a relevant Engineering discipline
Computer Science fundamentals in object-oriented design, data structures
Computer Science fundamentals in algorithm design, problem solving, and complexity analysis
Strong technical experience with object oriented design (C++)
Good knowledge of Data structure, Algorithms and distributed system design
Good experience on Unix platform, Strong hold on scripting Python, shell, perl
Good knowledge of database systems
Consistent track record and experience leading the creation of complex software systems that have been successfully delivered to customers
Knowledge of professional software engineering practices & best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations
Experience in communicating with users, other technical teams, and senior management to collect requirements, describe software product features, technical designs, and product strategy
Will have experience designing and supporting large-scale distributed systems in a production environment
Ideal candidates will show excellent debugging and troubleshooting skills, with an enthusiastic attitude to support and resolve customer problems.
Skills / Competencies:
Strong technical skills with hands on experience in building enterprise products.
Strong technical knowledge and hands on experience with object-oriented design
Good knowledge of data structures, algorithms and distributed systems design
Strong interpersonal, communication and presentation skills
Ability to coach and mentor technical leads, design engineers
Resolve design issues, integration issues, propose long term architecture to overcome it.
Strong review skills - design, architecture and code review
Knowledge of software best practices, like TDD / BDD and Continuous Integration (CI)
Ability to learn and adapt new technology and processes
Diversity & Inclusion
We are an Equal Opportunity Employer and seek to hire the best candidate regardless of age, beliefs, disability, ethnicity, gender or sexual orientation.
MNCJobsIndia.com will not be responsible for any payment made to a third-party. All Terms of Use are applicable.