Integration Considerations As a professional developer, you're eventually going to have to work with a third party service. Other people's systems can introduce very interesting experiences, especially as your interaction with those systems matures. Not only are third-party systems opaque, usually poorly documented, and often subject to change on short notice, but they can also play havoc with your own release cycle. In this episode we'll talk about some practices for working with third party APIs without the constant risk of nasty surprises.
Developer, You Played Yourself Developers are supposed to be smart people. However, sometimes we do things that seem right in the moment, only to have them blow up in our faces later. This is especially true when it comes to career decisions and office politics. Basically, any situation where you need to act in a way that protects your own personal power is ripe for disaster when you don't think before acting.
Dependency Injection Dependency injection removes the need to create instances of services in your code. Instead of having a module of code call the other modules it may need to function Dependency Injection passes those into it from the original caller. This is usually a framework or other higher level code sitting on top of the custom code you write for controlling the flow of your application. In this episode we'll be talking about how dependency injection works, it's various parts, the different ways it's implemented, and finish up discussing some advantages and disadvantages.
The Cost of Your Commute Most of us have commutes. Whether it is every day, just once a week, or even just on occasion, most of us will have to leave the house on a somewhat regular interval to travel to work. Most development work can be done remotely. Unfortunately many times it is done in an office setting. This practice imposes costs on the developer, their team, and society that are probably not being fully considered. In this episode we are going to talk about some of these and how avoiding or modifying the commute might make a lot more sense.
Rules For Dating My Developer Many of us have been there, you're out on a date with someone who just doesn't understand you at all. Some of us have even been in long term relationships with people that just didn't get us. Since this episode is coming out on Valentines Day we thought we'd have a little fun with the "Rules for Dating My Son/Daughter" memes with the Rules for Dating My Developer. In each one we'll talk about ways to better understand not just other developers but the people in your life. This is a good episode to listen to with a spouse or significant other as a lot of these apply not only to developers.
Asking For A Raise We've all been there. You work like a dog, and yet there are no signs of appreciation from management. Worse still, every day inflation eats a little more of your paycheck. If you like your job and don't want to quit, there is only one really good option at this point. You need to ask for a raise. However, this is something that many of us find scary and intimidating. In this episode we're going to talk through some ways to make the process easier.
Tough Situations In OOP Many of us learned to develop software using OOP (or Object-Oriented Programming). The model somewhat fits the way a lot of people look at the world and works well in many cases. However, over time, you'll start to notice situations where a naive understanding of OOP is simply not good enough. In this episode, we're going to talk about some of the things that will plague you as you take OOP to the next level.
Learning From Failure Failure happens to us all at one time or another. The goal of many patterns and project management strategies is to reduce the size of the failure which often results in an increase on frequency of failure. The fail small and fail often mentality. However you experience failure in your development or career the most important thing is how you recover and what you learn from it.
Becoming More Creative Creativity is useful in a lot of places. This usefulness is not limited to writing code or even in creating a podcast. For many people a more creative life is often a better one.
Preparing for Code Reviews Even the concept of a code review can make developers cringe. It's difficult to have someone else scrutinize something you've worked so hard on especially if it was a difficult task or you are proud of your solution. For the reviewer it requires diligence and attention to detail. In both cases it takes time and can be a pain if the process and goals are not clearly defined.