Software engineer

Summary

As a part of the period tracker micro app, we had a use case to send reminders before each period cycle, fertility cycle and ovulation period. From a tech perspective this was a tricky problem cause we didn't have a scalable scheduler in place. I had to explore some new technologies which could accomplish this.
I tried to explore a few solutions for this:
- The first thing i looked for was an existing aws solution.  We could create cloudwatch events and these events would trigger a lambda and then the lambda would trigger an api in our system. This was not feasible during hotspots where we anticipate a at least a hundred thousand period cycles stored in our system for which we might need to send reminders.
- Another solution was to use dynamo db ttl streams which trigger a lambda. One issue with this is dynamod db takes upto 48 hrs to actually delete the items. hence it wasn't an accurate solution for our needs.
- Next option was to use a kafka queue. An api would be called daily this would enqueue messages to a kafka queue and the consumer would read and send notifications sequentially. This was tested out for large loads. And with different configurations of kafka we were able to find the solution to be good and scalable for our use case. We use a quick experiment for our method to check for scalability and performed well.

This was finally implemented in production and we were able to achieve to send out notifications to millions of users on a daily basis without experiencing delays and system alerts.

Expectations

Looking for a mid-senior level software engineering role which gives me good learning opportunities and is a collaborative environment to work in. I like working on distributed systems and have worked on building scalable and performant systems and would like to grow my skills further in this area.

Employment Preferences
Expected Base Salary

**0,000 USD

Expected Hourly Rate

** USD/hr

Academic Degree
Experience

Total Professional Experience

5 years

Startup Experience

5 years

Big-Tech Companies

no experience

Enterprise Experience

5 years
Contact Candidate

Contacts are hidden

Send a connection request to the candidate to get their contact details.

Contact Candidate