Software Development Engineer

Adobe Adobe · Enterprise · San Jose, CA

Software Development Engineer role focused on building and operating large-scale, real-time data systems for personalized digital experiences, including user identification, profile building, and segmentation. Requires strong backend development skills in Java/Scala, distributed systems (Spark, Kafka), cloud platforms (AWS/Azure), and databases (SQL/NoSQL).

What you'd actually do

  1. As a BackEnd Software Engineer, you will play a critical role in the delivery of highly reliable, scalable, and maintainable enterprise applications.
  2. You will work with modern technologies, collaborate on product definitions with Product Managers, implementing technical solutions with hardworking teams.
  3. You will gain expertise in managing large-scale data systems. You will also build and operate high-scale, highly reliable services. These services receive billions of events per day or process petabytes of data.
  4. Contribute to engineering procedures by providing guidance towards code review, test coverage, and promoting high standard methodologies in software development.
  5. Steer technical design and architecture discussions, making critical decisions that drive technical product design. Lead engineering efforts and projects to deliver critical components, new features and enhance performance of existing features. Optimize performance and scalability of backend systems to ensure high availability and fast response times.

Skills

Required

  • BS in computer science, MS in computer science preferred with 4+ years of relevant industry experience
  • Passion for developing high-quality software applications
  • Analytical thinking and problem-solving skills
  • Good understanding of data structure and algorithms
  • Strong communication to articulate ideas and strategies
  • Proven record of delivering highly optimized code in Java/Scala.
  • Deep understanding of API design, broad knowledge of web standards relating to REST, HTTP, JSON, etc.
  • Proficiency in data structures, algorithms, caching strategies, async patterns.
  • Experience with cloud technologies, e.g. AWS, Azure, GCP, Docker, Kubernetes.
  • Distributed processing systems like Apache Spark, Hadoop Stack, or Kafka;
  • Any SQL or NoSQL data database like MYSQL, HBase, Cassandra, Mongo, or Azure Cosmos DB;
  • Agile software development methodologies

What the JD emphasized

  • highly reliable, scalable, and maintainable enterprise applications
  • large-scale data systems
  • billions of events per day or process petabytes of data
  • highly optimized code in Java/Scala