Junior Software Engineer
Sailthru
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 junior (or even graduate) software engineer to work in our data engineering team. You’ll be working closely with the guidance of our senior engineers to support and extend our data platform, working at petabyte scale.
Ideally you’ll have a solid understanding of at least one of backend software engineering, devops/infrastructure or data engineering, backed by either a computer science/eng degree or real world experience. Skills in Java, Python, SQL, and Linux systems will be a strong advantage for this role.
This role also includes an oncall responsibility, once onboarded and comfortable with our technology, you’ll be helping support critical systems as part of an all-team 24x7 rotation.
Responsibilities:
Working closely with senior engineers and following their guidance to implement, and deploy high quality and scalable code.
Write and maintain comprehensive unit and integration tests for the software you produce.
Develop and maintain software engineered in Python and 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.
This role is a hybrid role with some in-office time at our Wellington NZ office.
Ideal Skills:
Whilst we do not expect you to have all of the following being a Junior, we’d like you to tick as many of these as you can - the rest, you’ll have plenty of opportunities to learn on the job.
Understanding of Python or Java fundamentals and willingness to learn and fill knowledge gaps.
Proven expertise in Object-Oriented and Functional programming patterns
An understanding of modern development principals such as working in agile teams and DevOps best practices (git, CI/CD, testing).
Familiarity with containerization tools like Docker, Kubernetes, and EKS
Familiarity with NoSQL and relational databases
Any knowledge of big data technologies such as Spark, Airflow, and DataBricks is a big plus
Familiarity with 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 enjoy backend software engineering, complex systems and engineering at scale, this will be a perfect opportunity to come onboard and grow your career.