Surviving Multiple Projects When you start out as a junior developer you're typically focused on a single project learning the system and tools at your workplace. As you get further along in your career you'll begin to take on more responsibilities and begin working on multiple projects. It can be difficult to handle the expectations of multiple projects.
Distributed Computing Fallacies The assumptions we can safely make when building a distributed application are few and far between. Unlike a lot of smaller applications, distributed applications tend not to have system boundaries in the way that many other applications have.
Causes of Poor Code Quality Messed up code happens in every codebase, but for it to really be prevalent requires an ecosystem that makes it a appear to be the best choice most of the time. Small issues in a codebase continue to pile up until someone suggests a complete rewrite to fix it.
Open Spaces Open Space Technology is a method of organizing meetings and conference. It is a participation driven meeting where the agenda is created by those in attendance. Topics do not have to be around technology. At DevSpace there were Open Space session about martial arts, foster parenting, and of course beer. They are also a great way to meet other developers with similar interests.
Signs Your Coworker Is Quitting Sometimes you just know that a person is on the way out the door. Even when it is more subtle there are signs and indicators that can alert you to the fact that one of your coworkers is looking for greener pastures. Many of these are changes in the normal behavior of your coworker. Indicators are when they do not act as they have or do things they have not previously done.
Troublesome Developers It's pretty much a fact of human existence that not only will you have to deal with challenging, broken people, but that as an adult, you may not have the option to avoid them. The point of this is recognizing that there are very few people who start off as intolerable jerks, but there are lots of people who end up that way as a result of circumstance.
Inversion of Control Inversion of Control is a way of designing code to implement the Dependency Inversion Principle. In it the custom code written for the functionality of the application does not control the flow of control. Instead that is received from a more generic framework.
Selecting A Stack For Your Side Hustle When selecting a development stack for a side project, you need to maximize the amount of time that you have available for actually getting things done. The goal of a working side hustle is to make extra money on the side, not to be vehicle for exploring a new framework, language, or approach.
Going Back To School The decision to go back to school or to attend in the first place is big and life altering. It should not be taken lightly. It's a very personal and difficult decision to make.
API Best Practices Designing a web API (or Application Programming Interface) that lives on a webserver can be very difficult. There's a lot to consider when building an API. While we frequently try to simplify the process down to where it feels the same as making a simple library for our own use, this approach really doesn't get us where we need to be.