Senior Software Developer, Integrations

Posted Oct 12

About Okendo

We believe happy customers make the best marketers.

That’s why we built Okendo – the customer marketing platform that creates stronger connections between consumers and the brands they love.

Using Okendo, Shopify brands can grow faster and more efficiently by cultivating brand advocacy and maximizing lifetime value.

Our unified platform and unique suite of products for Reviews, Referrals, Quizzes, Loyalty, and Surveys is trusted by 12,000+ Shopify brands to turn one time shoppers into revenue-driving Superfans.

Position Summary

You will work with our Solutions Engineering team to build out key integrations with the Okendo platform, focusing on engineering excellence and with a product driven mindset.

As a key contributor to our engineering team, you will use your experience and knowledge to uphold the high standard of quality code within the team, and help other developers improve their craft through mentoring and code reviews.

How you’ll create impact:

Knowledge

- Learn about our system architecture and which components are involved in a given area of the system

- Understand the services used within our tech stack

- Understand the product and how features of the product are used

- Be able to find the necessary expertise/information relevant to completing a task within the team

- Keep up-to-date on updates and release notes to software and platforms used within our system

- Attend continued education events like AWS workshops and online courses

- Develop Organizational knowledge - understand how your role and department impact other departments and vice versa

- Develop a cross-pod understanding - what the different pods do, what solutions versus product engineering do, and what they work on

Delivering Results

- Time management - accuracy within estimation and time boxing parts of tasks to ensure delivery within a given sprint/timeline

- Individual ticket planning - independently plan and structure code changes within a ticket to support small incremental non-breaking changes along with smaller pull requests

- Focus - ability to exclusively work on a given ticket without external distractions

- Continuous improvement - Implement improvements to development processes that help the entire team

- Managing expectations - notifying stakeholders if the scope increases or changes

Ownership/Autonomy

- Take ownership of the end-to-end delivery of a task - from planning the technical approach, to testing and ensuring a successful deployment to production, and monitoring outcomes after

- Can-do attitude to approaching uncertainty/ambiguity within tasks - attempting to solve problems autonomously before asking for help

- Evaluate proposed solutions and how well they fit into the current system

Interpersonal

- Collaborate with other pods to ensure subject matter experts continue to contribute across the whole engineering team

- Assist fellow pod members in closing out tasks at the end of sprint/timeline when all your tasks are completed

- Can effectively communicate ideas or concepts

- Is open to discussing alternative ideas

- Actively engages in stand ups, planning and review sessions

- Ensures a friendly and collaborative work environment by being open and approachable

Leadership

- Architectural planning: contribute subject matter expertise to system design

- Rayguns/DLQs: collaborate on problems and jump in when necessary with your expertise to help guide others

- Mentorship: willing to demonstrate approaches and share expertise to other team members (for example pairing for guided refactoring)

- Lead the charge in understanding new tech and best practices, and how to apply them to existing company problems to find new solutions

Our Tech Stack:

Frontend:

We use Vue.js for our embeddable widgets and shopper-facing components, and Angular for our merchant admin.

Backend:

- We use a serverless architecture on AWS, so we rely heavily on: API Gateway for our APIs, CloudFront for CDN and S3 for storage

- Lambda (running Node.js) for compute

- DynamoDB as our primary data store, with replication into Aurora for reporting and OpenSearch for search and aggregation

- SQS and SNS for queueing and messaging

Languages & Tools:

We use Terraform for Infrastructure as Code

TypeScript is our language of choice for the full stack

VS Code for our IDE

Jira for Scrum

What we need from you:

- 6+ YOE in software development. A plus if you: Have built for scale in AWS

- Have worked on a SaaS product

- A love for TypeScript

- 2+ YOE mentoring other developers.

- A problem-solving mindset and a commitment to learning.

1-Week Success

- You’ve got your workstation and development environment set up.

- You’ve been assigned your first ticket.

1-Month Success

- You’ve completed your assigned tasks, and demoed them to the team.

- You’ve deployed code into production, probably a few times!

- You’ve improved the code of a team member through feedback in a code review.

6-Month Success

- You know how the parts of our system fit together and have an excellent working knowledge of the areas your team works in.

- You’ve built and shipped multiple epics.

- Your team turns to you for your expertise in areas of the system you’ve worked on.