Job Description
Our CompanyChanging the world through digital experiences is what Adobe's all about. We give everyone-from emerging artists to global brands-everything they need to design and deliver exceptional digital experiences! We're passionate about empowering people to create beautiful and powerful images, videos, and apps, and transform how companies interact with customers across every screen.
We're on a mission to hire the very best and are committed to creating exceptional employee experiences where everyone is respected and has access to equal opportunity. We realize that new ideas can come from everywhere in the organization, and we know the next big idea could be yours!
Senior Computer Scientist - JDChallenge : As a Senior Computer Scientist, you will provide technology leadership on developing backend services to manage the content creation, infrastructure, and repositories for the state-of-the-art Cloud Services/Applications at ATS. We provide the opportunity to collaborate with an energetic and dedicated team that works on cutting-edge technology to create tools and services. The candidate will work with developers, architects to develop, deploy, and maintain applications in multiple environments.
You will be part of an agile ATS team that is developing Hybrid Cloud Infrastructure tools and Services with the goal to build highly scalable, highly available and highly resilient services that fulfill the business objectives of Adobe.
The candidate shall participate in all stages of software development including refining product vision, gathering requirements, software system design, coding, testing, release, and support and is expected to work with other departments to achieve cross-functional goals to satisfy product expectations.
The candidate shall be open to evaluate and build POCs using newer technologies and tools including open-source APIs to address business needs.
What you will do : - As a Senior Computer Scientist, you are responsible for owning the complete application/program technically end to end right from requirement till deployment
- Responsible to choose right set of UI/JavaScript frameworks, UI libraries, and responsive UI that can be easily viewed on a variety of devices
- Develop proof of concepts (POCs) and solutions to check if the recommended solution is feasible with the existing system/framework
- Define coding standards and best practices.
- Ensure code quality of the project by reviewing team members code
- Improve processes, technology, and the applications, continuously by showing the team better ways of doing things and help improve skills in the team.
- Prioritize the tech-debt and ensure the platforms and application meet the latest industry standards
- Analyze product requirements and design to develop efficient, re-usable, reliable, and scalable software with quality conformance in an innovative and iteratively growing environment
- Develop and deploy highly scalable and efficient Cloud native solutions for hybrid cloud
- Apply and extend CI/CD tools and execute end-2-end ownership of your developed Software stack, including DevOps and testing aspects
- Implement tools to enhance both automated and semi-automated workflows, involving backend/service-based software stacks, but also dashboard components for data tracking and analysis
- Collaborate with Lead and Principal engineers on architecture, design, code, and configuration reviews.
- Provide technical expertise for teams focused on specific software modules.
- Work with other engineering teams and internal customers to identify new opportunities, address critical needs and solve complex problems using your development expertise
- Become an expert at leveraging internal platform resources and APIs
- Build out systems to monitor deployed workflows and alert/handle failures
- Collaborate with Engineers to develop quality code and review the design/code
- Respond to internal customers escalation requests
- Work on a micro-frontend architecture using the latest JavaScript libraries.
- You will also be expected to debug issues across multiple systems, regularly share knowledge with peers, and contribute to architectural design discussions.
- Designing and developing APIs.
- Write tests and documentation as you implement features with the team.
- Implement testing tools that monitor the ongoing performance of the web application.
- Ensuring responsiveness of applications.
- Define long-term solutions for component-based architecture using reactive coding methodologies
What you need to succeed:- 7-10 years of experience in supporting, executing, and designing cloud solutions
- Ability to lead solution development and delivery for the designed solutions
- Awareness of latest technologies and trends
- In-depth knowledge of current cloud computing technologies and trends
- Very Good understanding of Cloud native application concepts and 12 Factor application concepts
- Very Good understanding on Microservices application development and Microservices pattern language
- Ability to solution applications using Cloud- native application concepts
- Experience in solutioning and migrating legacy applications to cloud platforms
- Good understanding of distributed application architectural patterns
- Experience in building applications for containerized environments
- Good knowledge of public, private, hybrid cloud environment
- Experience in working with DevOps, Continuous integration, continuous deploy custom code, and Agile product development
- Sound understanding of application design principles, practices, system development methodologies, and software life cycles
- Good in Cloud security, Cloud Native app security, Role- based access control
- Experience implementing testing platforms and unit tests
- Experience in designing high level and low-level documents is a plus
- Ability to handle multiple competing priorities in a fast-paced environment
- Strong analytical and problem-solving skills with Exceptional interpersonal and communication skills
- Quick to evaluate, understand and implement newer technologies
- Exhibit strong ownership and ability to work in global team environment
- Deep knowledgeable of secure, scalable, and highly available service development practices.
- Ability to create support documentation for all new applications.
- BS or MS in Computer Science or equivalent
Strong hand-on experience in:- 10+ years of software development experience with expertise in ReactJS and Python
- Deep skilled in one or more OO and/or functional programming languages such as Python, Go, Java etc.
- In designing and building microservices based applications
- Expert in REST based web service technologies, JSON and XML
- Horizontally scalable NoSQL storage services, such as MongoDB, Apache Cassandra, Apache HBase
- Experience with Akka (Akka HTTP, Akka Streams)
- Experience with data streaming (Kafka, AWS Kinesis)
- Experience with message processing (AWS SQS, RabbitMQ, ActiveMQ)
- Experience with NodeJS and JavaScript client frameworks (AngularJS, React)
- Configuration management technologies and their implementation, such as Puppet, Salt, and Chef
- Proficiency in using continuous integration, build and collaboration tools (e.g. JIRA, Git/Gerrit, Wikis).
- Deployed applications with Web UI frontends, application with RESTful/SOAP services interfaces
- Firm grasp on cloud security, Federated AD, AD integration
- 3+ years of working experience with AWS/Azure services
- Fluent with Linux/Unix
- Understanding of ES6 / ES2015 and newer, React, Redux, Express, Webpack, or similar web technologies
- Experience building, maintaining, and monitoring highly available microservices using Node.js, Python or similar
- Contribution to open-source community
Employement Category:
Employement Type: Full time
Industry: IT
Functional Area: IT
Role Category: Software Engineer
Role/Responsibilies: Senior Computer Scientist
Contact Details:
Company: Adobe
Location(s): Noida, Gurugram