Sr Software Engineer – Presto/Druid Platforms

Job summary:
The primary purpose of this role is to translate business requirements and functional specifications into logical program designs and to deliver code modules, stable application systems, and software solutions. This includes developing, configuring, or modifying complex integrated business and/or enterprise application solutions within various computing environments. This role facilitates the implementation and maintenance of complex business and enterprise software solutions to ensure the successful deployment of released applications.

Tech stack:
PrestoDB, Trino, Druid, Kafka, Spark, Hadoop

Responsibilities:
• Translates complex cross-functional business requirements and functional specifications into logical program designs, code modules, stable application systems, and software solutions; partners with Product Team to understand business needs and functional specifications
• Collaborates with cross-functional teams to ensure specifications are converted into flexible, scalable, and maintainable solution designs; evaluates project deliverables to ensure they meet specifications and architectural standards
• Guides application and software development teams in the design and build of complex solutions and ensures that teams are in alignment with the architecture blueprint, standards, target state architecture, and strategies
• Coordinates executes and participates in component integration (CIT) scenarios, systems integration testing (SIT), and user acceptance testing (UAT) to identify application errors and to ensure quality software deployment
• Participates and coaches others in all software development end-to-end product lifecycle phases by applying and sharing an in-depth understanding of the complex company and industry methodologies, policies, standards, and controls
• Has a solid grasp of software design patterns and approaches; understands application-level software architecture; makes technical trade-off decisions at the application level
• Automates and simplifies team development, test, and operations processes; develops detailed architecture plans for large scale enterprise architecture projects and drives the plans to fruition
• Solves complex architecture/design and business problems; solutions are extensible; works to simplify, optimize, remove bottlenecks, etc.
• Provides mentoring and guidance to more junior level engineers; may provide feedback and direction on specific engineering tasks

Qualifications:
• Bachelor’s degree in Computer Science, CIS, or related field (or equivalent work experience in a related field)
• 5 years of experience in software development or a related field
• 4 years of experience in database technologies
• 4 years of experience working on project(s) involving the implementation of solutions applying development life cycles (SDLC)
• Master’s degree in Computer Science, CIS, or related field
• 5 years of IT experience developing and implementing business systems within an organization
• 5 years of experience working with defect or incident tracking software
• 5 years of experience writing technical documentation in a software development environment
• 3 years of experience working with an IT Infrastructure Library (ITIL) framework
• 3 years of experience leading teams, with or without direct reports
• 5 years of experience working with source code control systems
• Experience working with Continuous Integration/ Continuous Deployment tools
• 5 years of experience in systems analysis, including defining technical requirements and performing high-level design for complex solutions
• Experience with the design, development, testing, deployment, maintenance of large-scale distributed software and platforms
• Experience with large-scale distributed data platforms: Presto/Trino, Druid, Hadoop, Spark, etc
• Strong preference given for PrestoDB and Druid experience
• Experience with streaming data applications: Kafka, Kinesis, Flink, Spark Streaming, etc
• Experience with various programming languages: Java, Scala, Python, etc