All in Software Engineering
A guide on how to design an almighty and powerful API. We will be building a very powerful, yet flexible, GraphQL API based on Nodejs with Swagger documentation powered by MongoDB. The main backbone of our API will be Hapi.js. We will go over all the technology in substantial detail. At the very end, we will have a very powerful GraphQL API with great documentation. The cherry on top will be our integration with the client.
Testing microservices is hard. More specifically, end-to-end testing is hard, and that’s something we’ll discuss in greater detail in this article.
Agility is a good thing, no doubt, and the Agile Manifesto isn’t unreasonable. Compared to a straw-man practice called “Waterfall”, Agile is notably superior. Yet, so much of Agile as-practiced is deeply harmful. The biggest myth of agile development : faster, cheaper and better outcome.
One of the hottest discussions amongst developers I have ever found other than the slow execution speed of Python is around problems with threading and lot of them complaining about GIL (Global Interpreter Lock). Some even go to the extent of saying that Python and other languages are not truly “concurrent” and cannot scale well.
The boundary conditions of any sufficiently complex system define the system’s solution. The universe has been understood this way by physics for many years. It is governed by a small set of equations.
Programmers casually assume that if a technology, idea or language is popular it must be good and if it is not popular it must be bad. Often, people implicitly equate success with popularity.
Everyone thinks of crypto as libertarian because it decentralizes money. Nobody says AI is communist. That’s because we are more conscious of people with different views like libertarian and we are less conscious of people with collective views because that’s more of a Zeitgeist.
Immutable laws are rare in software engineering, and when an engineer claims to have found one, that engineer is usually regarded with skepticism. General principles are more welcome.