I'm currently working as a Software Engineer - Level 3 at Chaldal. I completed my undergraduate degree in Computer Science and Engineering from BUET in 2023. I have over 5 years of experience doing competitive programming and working on various projects and more than 1 year of professional experience.
- 🧩 I enjoy solving complex algorithmic problems. During my undergraduate years, I participated in various programming contests and hackathons. I had the honor of representing my country in the 45th ICPC World Finals in Dhaka, Bangladesh, and the 47th ICPC World Finals in Luxor, Egypt.
- 🏆 I am rated Master in Codeforces.
- 🔬 I have previously worked on theoretical computer science research to solve the Parameterized String Matching with Mismatch Tolerance problem.
- 🛠️ I am currently exploring Distributed Systems and System Design.
- 🌟 I love designing and building complex systems and feel fortunate to witness the advancement of technologies.
💡 Feel free to reach out to me on linkedin or mail if you have similar interests and want to discuss opportunities or collaborate.
Here’s some things I’ve learned from my experience over the years:
- Murphy's Law: "Anything that can go wrong, will go wrong."
- Ensuring data consistency across different microservices can be complex. Each piece of data should have a single source of truth, and other services must be able to adapt and stay in sync with that source. Distributed Transactions are your friend.
- In distributed systems, network failures are inevitable. Always design for resiliency and plan for retries and fallbacks.
- Allocate sufficient time to plan the entire design before diving into coding. Designing for unhappy paths is often more challenging than designing for happy paths.
- Even a rare bug with a probability of 0.01% can occur more frequently than expected with a large number of users. For example, with 10,000 daily users, you might encounter such a bug approximately everyday.
- As the system scales, performance bottlenecks can appear. Regular profiling can help find and fix these issues early.