Team lead positions are often highly coveted by developers. However, a lot of developers get into these positions only to find that they include shocking changes to their jobs, for which they haven't prepared.
Teachability is the ability to be taught or being able and willing to learn something new. It is humbly accepting you don't know everything while actively working to change that fact.
If you've ever seriously tried to do test-driven development, it probably wasn't very long before you ran into something where testing became difficult due to an underlying dependency. Whether it's a database connection, accessing the file system, or dealing with the network, eventually your tests are going to have to deal with dependencies.
Stress comes from lots of places. It can be sudden problems that arise on an important day that then tend to compound or it can be insidious, slowly growing without us knowing about it. It's inevitable, you will experience stress. How you handle it is what counts.
Domain-Driven Design (or DDD) makes application code a lot cleaner. However, like any other software development approach, there are loads of anti-patterns to avoid and best practices that may not be readily apparent when you start developing applications in this manner.
APIs or Application Programming Interfaces are an important part of any modern web application. When properly designed they securely expose data to authenticated and authorized users. However, not everyone designs them the same, which is why OWASP came up with a list of the top security vulnerabilities to avoid.
Dysfunctions that you see in an established and successful team are often the result of doing things RIGHT for years or even decades.
Fear is something we all face from time to time. It can be a motivating factor or debilitating. Your understanding and how you handle fear determines which one.
The third and final episode in our series on logical fallacies delves into improper use or rhetoric. Both Fallacies of Omission and Fallacies of Ambiguity are used to redirect an argument away from the topic at hand or evidence that might disprove one side.
We've all had the experience of trying to use a piece of software, library, API, or database, only to have it fail miserably because something changed in a recent update. Not only are such changes disruptive, but because they often require rewrites, they can leave us looking for an alternative.