They say learning by example is the best way to learn. I'd like to share one such example of API design process based on a recent discussion with one of my colleagues: https://medium.com/@nerudaj/a-case-study-on-api-design-f22a8665cf2d
If you follow my #TuesdayCodingTips, this showcases a practical application of many of them.
And if you dislike clean code for whatever reason, this article is an example of how to overengineer your code in three simple steps I guess :D