The Senior Software Architect position will be responsible for discovering, designing and implementing software solutions aimed at solving real-time, customer data delivery challenges in a petabyte scale environment.
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.
We are a fast growing, highly disciplined engineering team, working on multiple exciting product using the latest technologies and design principles. You will be a senior person on the core architecture team, working across product boundaries.
Your Day to Day:
- Working closely with other, architects, software engineers, operations engineers, and product managers.
- Evaluating current architectures, idenSetifying potential inefficiencies related to cost, maintainability and scalability.
- Proposing and driving architectural design decisions. Staying current with server-side and Cloud based trends and architectures.
- Working across multiple development, operational and feature delivery teams, providing architectural guidance.
- Creating and maintaining system architecture diagrams. Owning architectural domain knowledge.
- Participating in our Agile/SCRUM process. Creating designs to support short, iterative delivery cycles.
Why You Are the Perfect Fit:
- BS, MS, in Computer Science, Software Engineering, or a related discipline.
- 7+ years Java development experience.
- 2+ years Software Architecture experience.
- Familiar with SQL and NonSQL databases.
- Experience with ML/AI/Spark pipelines and general data engineering at scale.
- Strong knowledge of modern software engineering principles, patterns and best-practices. Understanding of microservices architectures, distributed systems and CI/CD.
- Experience designing and supporting high traffic, highly available systems including scalability, reliability and fault tolerance.
- Strong communication and leadership skills. The ability to effectively explain technical concepts to team members, architects, managers and team leads. Capable of managing multiple projects/efforts at once, with competing priorities.
- Extensive experience deploying software to a cloud platform environment. AWS, GCP, Azure.
- Understanding of modern DevOps concepts. Docker, ECS, Fargate, Kubernetes, Serverless, Terraform, infrastructure as code.
- 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.
- Capable of delivering on multiple competing priorities with little supervision.