Serverless functions are a great alternative for many light tasks that would traditionally required a server. They allow you to split up work across mutiple small functions, and you only pay for what you use. On top of that, they require less maintenance than managing your own server or Kubernetes cluster. However, the single function per lambda approach can become too granular. Shared functionality becomes hard to group together. You only have hard to enforce naming convention for lambda that belong together.
React and Redux are a top choice for front end projects. React provides fast performance, easy ways to create shared components, and a plethora of libraries. Redux lets you simplify state management in your application, but it has serious drawbacks. In large projects, Redux bloat your project with repetitive code. To support a single store update, you need to create a reducer that handles an action type which is dispatched from an action called inside a component.
Recently I ran an experiment of posting daily reading notes on this blog. This was very much a personal experiment. Making these posts every day reinforced my reading habit. I felt motivated to set aside time to read, and I got the chance to reflect on my reading. It also provided the opportunity to share more with others. I plan on keeping this habit going, but this blog isn’t the right place for it.
At a summer barbecue, a friend asked if I could build a website for his new restaurant. But what he didn't know was that I haven't built a static site in nearly a decade. However I couldn't let him spend thousands of dollars on a cookie cutter website designed by a firm that knew nothing about his restaurant. We started coming up with ideas right away over a couple of beers.
Every line of code you write is a liability. That line of code you just wrote adds complexity to your code base, gives you more nuances to remember, it might even be a bug. If code is so expensive and dangerous. What can you do? After all, you are a developer. The answer: You must remember your real job… Delivering value to the users. Users don’t care what your class hierarchy looks like.