https://medium.com/@murataslan1/designing-reliable-scalable-and-maintainable-applications-a-senior-engineers-guide-f47217815890