I am software engineer and i love coding…
As a developer,
- Developed the backend for payment, website, dashbaord(CMS), RESTful APIs & chatbot.
- Scalled the backend for 1 million+ requests per minute of throughput with 15ms of API latency.
- Integrated many third party services because we can not develop everything in-house 🙂 so here is list – sending email & SMS, payment checkout, CRM sales lead management, AWS simple storage system(S3), chatbot apis etc.
- If any bugs occured on production then it will hunt you very badly so i have integrated many tools & services to improve debugging i.e logs monitoring through ElasticSearch/Kibana, APM monitoring through NewRelic, time series metrics & monitoring through Prometheous/Grafana, Error tracing through Sentry, Alerting through Slack/Pagerduty, Nginx error logs.
- I love coding so code quality is my first priority so to ensure code quality. I utilized many tools i.e code linting, static type check, dead code check, smeling code refactor, proper doc string & comments and also implemented design patterns like GOF design to makes the code scalable & clean.
- Now we develop code and it deployed on many environment like staging, pre-production, production so I used CI/CD tools like gitlab & jenkins to deploy code on all environment.
- If you deploy code then it should work without error or with max 1% error rate so testing is important in deployment either manual testing or automatic but manual testing will slow your development so automatic test will save your time like unit & integrations test with good coverage report in CI/CD pipeline.
- If any bugs found on production there must be an incident report which should includes route couse, corrective step, reported by, durrations, alert channels, impacted system/users etc.
- Every Merge Request/pull request must be reviewed.
- For every deployment, there must be proper checklist like test cases, schema migrations, data migrations, PR merge, reviewer, Revert strategies, monitoring step, data sanity check etc.