Adobe is looking to solve the problem of designing, developing, testing, troubleshooting, measuring, optimizing, and improving software, new products, and code libraries across platform and RTCDP apps by hiring a software engineer who can lead complex application/framework/service design efforts and develop and optimize distributed microservices and Spark applications.
Requirements
- Hands-on experience and proficiency in one or more of Java, Scala, and other similar backend technologies and Spark.
- Proven expertise in clean Design, Design Patterns, Java and OOP Principals
- Fluency in designing and implementing micro-services, RESTful services and Spark applications
- Experience with Microsoft Azure and/or AWS, Spring Framework, Kafka, Snowflake, Git, CI/CD pipeline (Moonbeam, Jenkins), monitoring systems like NewRelic, Splunk, Grafana
- Proven experience working with NoSQL databases, preferably MongoDB Experience with other big data tech stacks is highly desirable
- Proven expertise in designing and developing, deploying, maintaining and supporting scalable, maintainable, performant and resilient application
- Deep understanding and experience with modern cloud technologies and design patterns for building "always-up" services
Responsibilities
- You will be responsible for the design, development, testing, troubleshooting, measurement, optimization, and improvement of software, new products, and code libraries across platform and RTCDP apps.
- Lead complex application/framework/service’s design efforts in an Agile environment, optimizing for quality, cost, maintainability and scale.
- Develop and optimize distributed microservices and Spark applications to reduce cost, enhance availability and resiliency and deliver them to production at scale.
- Articulate the choice of accurate tools and technologies.
- Translate high-level requirements into meaningful tasks and actions.
- Leverage best practices for production grade and scale, use appropriate & relevant programming languages and technologies, write code, tests & deploys to meet business requirements.
- Articulate ideas, prove them by quick proof of concept & market them across team and organization.
Other
- 7+ years of experience designing and developing software applications
- Unending curiosity, thoroughness, tenacity and focus on quickly designing and building complex software systems with great quality to solve customer problems
- Have a good sense of organization to set expectations and keep deliverables on a timeline, with the ability to document, communicate and justify all technology decisions and directions
- Collaborate with multi-functional engineers, architects, PM’s to design, develop, deploy services in a CI/CD environment.
- Strong interpersonal and communication skills