WHAT WE ARE LOOKING FOR:
The Senior Java Software Engineer position will be responsible for designing and implementing software solutions aimed at solving real-time, customer data delivery challenges.
Through seamless inbound and outbound connectors with major digital marketing vendors, Tealium's UDH allows our customers to take action on their visitors in real-time based on behavior. This lets them maximize the value from each visitor by creating personalized content and product offers, as well as highly targeted re-marketing campaigns.
YOUR DAY TO DAY:
- Working closely with other software engineers, architects, operations engineers, and product managers.
- Participating in our Agile/SCRUM process. Creating designs to support short, iterative delivery cycles.
- Contributing to architectural design decisions. Participating in operational related discussions. Contributing to test plans.
- Conducting and participating in group code reviews, ensuring high- quality coding standards across the team.
- Designing maintainable, testable code with high test coverage requirements.
- Adding integration and acceptance test coverage to new features.
- Evaluating and investigating alternatives to existing solutions, proposing new designs and technologies.
WHY YOU ARE THE PERFECT FIT:
- BS, MS in Computer Science, Software Engineering, or a related discipline.
- 7+ years Java development experience.
- Strong knowledge of modern software engineering principles, patterns and best-practices. Understanding of microservices architectures.
- Experience designing and supporting high traffic, highly available systems.
- Strong communication skills. The ability to effectively explain technical concepts to team members, architects and team leads.
- Extensive experience deploying software to a cloud platform environment. AWS, GCP, Azure.
- Understanding of modern Devops concepts. Docker, Kubernetes, Serverless, Terraform.
- Experience with NoSQL, as well as relational data stores. DynamoDB, PostgreSQL, Mysql, RedshiftDB, Redis, Cassandra, Snowflake, etc.
- Experience with distributed messaging and streaming technologies, RabbitMQ, Kinesis, Kafka.
- Some exposure to Hadoop, Hive, Spark, PrestoDB.
- Capable of delivering on multiple competing priorities with little supervision.