Antipatterns In Distributed Teams We've laid out some common problems you'll encounter in a distributed team along with what you can do to fix them. For each problem we'll talk about how to mitigate it for an individual developer, team leads or middle management, and upper management.
Knowing When To Quit Jobs are no longer permanent and if you leave too early or too late, you can put yourself at a disadvantage. If you stay too long, your knowledge may become stale, whereas if you leave too quickly, you may look like a job hopper. It's also possible to leave a job where the problems can be fixed or to stay at one where they cannot.
Ways to Avoid Bike Shedding Working with a group of highly specialized and opinionated people can be difficult and lead to very detailed conversations on topics not relevant or only tangentially relevant to the project you are working on. Know that you or your team may be lead off topic when in meetings and prepare for that inevitability.
Developers and the Law Gary Nissenbaum is a managing attorney with the Nissenbaum Law Group. He has been kind enough to come on the show and share his expertise.
Kaizen The kaizen process can help you refine your software development process, reducing bugs and improving your ability to deliver software on time and under budget. This is especially helpful if you are in management, but you can still get a lot out of these concepts even if you aren't. This helps you both support the decisions you made to management and to make better ones more quickly.
Toxic Mix? OOP and Databases Your database is often the most important part of your application in terms of actual value to the business. The value of the database will only increase over time, as long as it is adequately maintained. Your database administrator is in charge of this maintenance, and you'll often find that the constraints under which they are operating are very different than yours.
Primitive Data Types A primitive data type can either be a basic type that provides the basic building blocks for a language or a built-in type that the language treats and supports as a basic type. Composite types are ones that are a combination of primitive types or other composite types. These may or may not be built into the language you are using. The difference being that a primitive type, like a prime number, cannot be decomposed into simpler types.
What Is A Bug There are a lot of things that non-developers will call "bugs" when they really aren't bugs at all. You need to be able to explain to them and to management that they are not bugs and what they actually are and how that effects your work.
Effective Communication When communicating with other we need to be aware of our own emotions. This helps to be able to focus on the interaction and not be driven by our own feelings about the situation. Emotions are filters that will alter our perceptions of interactions with those around us.
Junior Developer Toolbox Junior Developer Toolbox is going to be a sibling show to Complete Developer Podcast on our new Complete Developer Network. In a way this episode has been our launch party for the new show.