The Company:
Marigold helps brands foster customer relationships through the science and art of connection. Marigold Relationship Marketing is a suite of world-class martech solutions that help marketers create long term customer love and loyalty. Marigold’s products address the Messaging, Loyalty and Experiences marketing offerings, to a customer base that is categorized in three segments: Enterprise, Professional and Commercial. Marigold provides the most comprehensive set of use cases for Marketers at any level. Headquartered in Nashville, TN, Marigold has offices globally across the United States, Europe, Australia, New Zealand, Malaysia, India, South America and Central America, as well as in Japan.
The Role:
We're looking for a Senior Software Engineer with experience in shipping software at scale. You’ll be empowered to help drive the technical design of our data platform, while applying engineering techniques to delivering software solutions that efficiently process petabytes of data! All of this in a solid engineering culture: our teams ship containers, not Notebooks.
You should have a firm grasp of modern software engineering, DevOps, and testing practices. To be effective in the data domain, you’ll also need to possess particularly strong python, SQL, and database skills. This role involves collaboration with product owners and stakeholders across time zones. As our teams own the full lifecycle of services, you'll also participate in an on-call rotation.
Responsibilities:
Collaborate with teams to design, implement, and deploy highly scalable solutions.
Write and maintain comprehensive unit and integration tests for the software you produce.
Develop and maintain software engineered in Python (and/or Java) integrating with databases such as Databricks, MongoDB, and Postgres.
Debugging flows across a complex environment; including troubleshooting eventing and ETL issues
Experience of debugging and tuning database queries and systems.
Be part of our regular on call rotation with the other team members.
Requirements:
Whilst we do not expect you to have all of the following, we’re looking for an exceptional engineer who would tick most of these boxes:
3+ years of hands-on software development experience in Python and other languages (Java most welcome).
Proven expertise in Object-Oriented and Functional programming patterns
Experience working in Agile or Lean teams, with a strong understanding of DevOps best practices (git, CI/CD, testing)
Familiarity with containerization tools like Docker, Kubernetes, and EKS
Experience integrating software with NoSQL and relational databases
Knowledge of big data technologies such as Spark, Airflow, and DataBricks is a big plus
Exposure to event streaming or pub/sub technologies like Kafka
Excellent problem-solving and debugging skills in a collaborative environment
Advanced knowledge of SQL (we're looking for someone who can write efficient queries, not just dashboards, you grasp CTE, complex joins and index performance)
Experience working with AWS services like EC2, S3, Lambda, and Redshift
Knowledge of observability tools like ELK/OpenSearch, Grafana, Datadog, and Cloudwatch
Participate in our regular on-call rotation with the other team members.
If you're enthusiastic about building scalable and resilient software solutions, come be a part of our pioneering Data Engineering team!