We hit most of our predictions from last year. This is mostly because we saw "the handwriting on the wall" in several places. Also we have been keeping up with the industry. Doing so will help you to better predict when to make moves in your career and when to stay in place.
Since this past year was about setting goals we're going to focus on what you do with those goals and how you get there next year. The theme will be Build Your Story and it will start in a couple weeks with an episode called Writing Your Story.
Best practices can help protect you from preventable errors and make it easier to reason about the code. Date and time libraries exist for a reason. That reason is because dates and times are complex to deal with programmatically, especially if they aren't the main purpose of your application.
Time and date management are complicated and nasty on computers, because they are complicated and nasty in real life. While we often think of being able to tell time as being simple, historically it hasn't been. We're continually having to work to keep our timekeeping devices accurate so that we can use their results for everything from manufacturing to navigation, encryption, and missile guidance. Network Time Protocol (NTP) is used to synchronize time over packet-switched, variable-latency data networks. The goal is to synchronize all participating computers to within a few milliseconds of Coordinated Universal Time (UTC).
Time is a complex subject and is heavily tied into our understanding of the universe. It has driven a lot more technological change and social change than you might think. Time is tricky to manage, but not bad, until you realize what's sitting atop this concept. In addition to distance and direction, time is probably one of the most important ways that we organize our reality.
Console applications are often the simplest place to start when learning to develop software for desktop and server environments, requiring far less ceremony to get going. Having a better grasp of what is going on under the hood with console applications may help you significantly in your day job, even if you are primarily a web developer.
CRUD in and of itself isn't bad. Most of the problems we list are process related. There are few technical problems in the list. They are more about misuse. CRUD is a way of conceptualizing the relationship of how data is stored and transferred.
Will and BJ are at DevSpace talking with Ed Charbeneau of the Eat Sleep Code Podcast about predicting the future of technology by looking at the history of technology and science fiction.
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.
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.