Complete Developer Podcast

Complete Developer Podcast
A podcast for coders by coders about all aspects of creating your best life as a developer.

Scrum Master Mistakes
Jul 2 • 62 min
Depending on who you talk to, scrum is either a standard industry practice, a panacea for all that ails development, or is a total waste of time taken on by people who want to talk instead of work. Depending on your environment, any of these may be true.…
The Significance of 256
Jun 25 • 67 min
256 is a composite number, it is 2 to the 8th, making it a power of two. It is also 4 to the 4th and a perfect square (16^2). It is also the only 3 digit number that is Zenzizenzizenzic because it is ((2^2)^2)^2. In computing a bit is a single on/off…
REST Anti-Patterns
Jun 18 • 58 min
Web APIs are often the best way to go when different parts of your application need to communicate, or when people outside of your organization need to communicate with your application. Not only are web apis based upon a widely understood and implemented…
Understanding Documentation
Jun 11 • 64 min
It’s tricky to get developers to write and maintain good documentation. Frequently, documentation has huge gaps in content, is woefully out of date, contradicts itself, or is simply impossible to navigate. Like writing code, putting together a useful set…
Types of Programmers: Interpersonal
Jun 4 • 57 min
As developers we are a rather unique bunch of individuals. Either development attracted us because of certain personality characteristics or we developed them based on the software development world. In either case we have a lot of interesting…
Static Code Analysis
May 28 • 68 min
Static code analysis is a way of debugging that automatically examines source code before it compiles or is run. It does this by comparing the code code to a set of rules or standards. It is a way of automating code reviews and can be used in conjuncture…
Long Term Remote Work
May 21 • 76 min
Working remotely is a wonderful job perk and can make many developers more productive, happy, and less likely to leave for greener pastures. However, it’s no panacea, especially over the long term. The effectiveness of remote work over the short term is a…
Types Of Programming: Coding Styles
May 14 • 62 min
As programmers, we tend to be a rather interesting bunch. Some might even call us peculiar. Developers tend to have our own culture and even subcultures within the development community. Attending a polyglot or regional conference will show many of the…
Breaking The Relational Model
May 7 • 64 min
The rule: Normalize until it hurts; denormalize until it works. That’s what you typically get taught early on. While normalizing a database is a solid practice and something you should do when designing a system; it can jump up and bite you when you get…
Impostor Syndrome When Getting Promoted
Apr 30 • 66 min
Impostor syndrome is a feeling of inadequacy. It is the sense that you are not qualified or talented enough to do your job. In many cases it’s a feeling that you can’t live up to the expectations of a job because you are a fraud. It was first identified…
Red Flags In The Hiring Process
Apr 23 • 77 min
When you are looking for a new job, it’s easy to take the first job that comes along. And it might even turn out ok. However, it’s also possible that you’ll end up in a job that is absolutely miserable, burning you out and making you hate software…
You Are The Problem
Apr 16 • 72 min
We all experience some drama and confrontations in life. Typically, when these are the rare occurrence, they are out of our control. However, if they seem to be happening all the time or in almost every relationship, friendship, or job then the problem is…
Inversion of Control in Legacy Applications
Apr 9 • 68 min
When you get dropped into a legacy project, one of the main things you’ll miss is the use of more modern development practices, such as testing, inversion of control, proper object models, and configuration management. However, you probably can’t simply…
Batch Processing
Apr 2 • 67 min
Even though most developers prefer to build applications that respond to user input directly, in most applications there are usually at least a few processes that happen out of band or even overnight. These processes require a different way of thinking…
Wizard’s Rules
Apr 1 • 68 min
The Sword of Truth is a series of high fantasy adventure novels by Terry Goodkind. It follows the lives of wizards, sorceresses, and other magic and non magic people as they battle for their very existence against several enemies. After the series…
Improving Your Work Ethic
Mar 26 • 67 min
Surveys and studies indicate that the most common reason for missing work is “being sick”. While this is a general term for many different things other studies show that on average 30% of workers call in sick when they are not actually ill. (This doesn’t…
Software (Systems) Development Life Cycle
Mar 19 • 65 min
Software Development Life Cycle (SDLC) is a process for designing and building quality software. The goal is high quality software that meets the customer’s needs. It also takes into account the amount of time needed to develop the software along with the…
Internationalization Misconceptions
Mar 12 • 63 min
There was a time you could write software for just the English speaking market and expect your company to do well. That time has long passed, and to be truly successful, your software has to be able to work for people speaking a variety of languages and…
Dealing With Difficult Coworkers
Mar 5 • 61 min
Some people are just difficult. So much so it’s just easier to avoid them rather than dealing with them. Unfortunately that’s not always an option so we have to learn strategies for dealing with difficult people.
Raise Your Pay
Feb 27 • 55 min
Life has its difficult parts regardless of how much you make. However the more money you have, the easier a lot of problems become.
Defining Done
Feb 20 • 59 min
How do you define done? When do you know your code is ready for production? Is your code barely worthy of your momma’s fridge, refined, but not emily post refined, or would it make Uncle Bob proud?
Basics of Source Control
Feb 13 • 61 min
There was a time when you could get by in software development without learning how to use source control, but that time is long gone. You have to understand how this stuff works. Period.
Developer Career Mistakes
Feb 6 • 59 min
While it is difficult and time-consuming to get into software development, many developers seem to think that once they have a job, everything is fine. That couldn’t be further from the truth. You need to avoid wrecking your career too.
Quickly Learning The Business Rules
Jan 30 • 56 min
Congratulations on your new job! You went through all the pain and suffering of interviewing. Now the real work begins. You have to quickly get to the point where you can provide business value so that you can keep your new shiny job.
Expanding Your Comfort Zone
Jan 23 • 56 min
Routines make life easier, but they can also make it stale and inflexible. Breaking out of your comfort zone takes courage and an understanding of yourself. Expanding your comfort zone involves breaking out of it and then resetting yourself.
Clean Code with Uncle Bob Martin
Jan 16 • 56 min
Even terrible code runs. In fact, lots of terrible code runs in production every day. However, such code is difficult to maintain, horrifying to modify and subject to nasty problems as it ages. Like a messy house, a messy code-base is nowhere that you…
Mentoring Questions
Jan 9 • 56 min
Being asked for advice and help is a double edged sword. On the one side, you feel accomplished and proud to show off the knowledge and experience you’ve worked hard to gain. On the other, you may have a sense of impostor syndrome because you know how…
Predictions 2020
Jan 2 • 53 min
It’s the beginning of a new year, and a new decade, this is the first episode of 2020. As has become tradition we’ll be reviewing our predictions for the past year discussing the ones we got right, the ones we got wrong, and the ones we came close. Then…
Resolutions 2020
Dec 26, 2019 • 53 min
It’s almost the start of a new decade. It’s become our tradition to review our goals for the past year. We’ll each go over our goals talking about our progress toward them. Then we’ll talk about our podcast goals from last year. Finally we’ll discuss our…
Regex Demystified
Dec 19, 2019 • 55 min
If you struggle with regular expressions, you aren’t alone. Regex is a huge pain point for a lot of developers and can be complex to understand.
Sorting Algorithms
Dec 12, 2019 • 56 min
While most higher level languages have sorting algorithms built into them or in their standard libraries they may not be the best option for what you are building. Understand sorting will help you to use the most efficient method for your purposes.
Making Apps Plugable
Dec 5, 2019 • 46 min
When you have a huge backlog of possible features to implement in your app, you may be tempted to create a plugin model so that other people can modify it. However, this path is trickier than it seems.
Defensive Coding
Nov 28, 2019 • 58 min
Defensive programming is about creating long lasting applications that will graciously handle unexpected inputs from users. It’s building code to survive the test of time.
Learning Legacy Technologies
Nov 21, 2019 • 60 min
We’ve all been there. You get placed onto a “new” project, only to find that it’s actually really old code that nobody in the office knows anything about. A lot of developers have a really hard time jumping into a legacy codebase, because it takes an…
How To Improve Your Memory
Nov 14, 2019 • 54 min
While you may rely on documentation to help you most of the time with tech-related things, there are plenty of times you need to be able to rely on your own memory. Whether it’s because you are doing a process for the 100th time, you are trying to recall…
Nov 7, 2019 • 55 min
It’s happened to us all. We get excited about a great idea or project we’re working on. Put in a lot of work and effort up front. Then things get difficult or we hit a slow down and have to force ourselves to remain focused.
Code Generation Antipatterns
Oct 31, 2019 • 51 min
Whether it’s wrapping the database or other external services, or simply as a way to handle cross-cutting concerns, code generation is something you will run into a lot. You’ll also find that a lot of people do it badly and end up hurting their…
Mitigating The Dead Sea Effect
Oct 24, 2019 • 53 min
The dead sea is dead for a reason. Dead sea development environments are usually toxic to your career, destructive to your motivation, and terribly ineffective.
Understanding HTTP
Oct 17, 2019 • 56 min
If you are writing code these days, you probably have to deal with the web. You may be building web pages, writing APIs, or consuming APIs written by others. Eventually you will run across HTTP at some level in whatever you do. Unfortunately, a lot of…
Formal Logic
Oct 10, 2019 • 47 min
Where mathematics and philosophy meet you’ll find formal logic. It is a systematic study of valid inference. In it one starts with a proposition or assumed hypotheses and derives a conclusion.
Keep Your Job From Burning You Out
Oct 3, 2019 • 57 min
Software developers get burn out. Frequently, burnout is caused by poor boundaries, especially with your job.
Conference Experiences
Sep 26, 2019 • 78 min
Conferences are a fun place to learn, grow, and meet fellow developers. Whether you are a seasoned code veteran or newbie searching for your first junior developer job tech conferences have something for you.
10X Developers
Sep 19, 2019 • 60 min
10X developer? What does that even mean? There’s been a lot of discussion and even some controversy over the term 10X Developer.
Getting Better Sleep
Sep 12, 2019 • 56 min
We all have those nights where no matter what we do we just can’t seem to fall asleep. Looking at the clock, calculating how many hours until we have to get up just makes it worse.
Sep 5, 2019 • 50 min
A rising alternative to the content management system approach is to use the JAMstack, which stands for Javascript, APIs, and Markup. It’s an approach to building websites that is intended to deliver better performance, security, and easier scalability.
Creating Conference Talks
Aug 29, 2019 • 57 min
Speaking at conferences can be daunting, especially if you are first starting out. Public speaking can be hard enough without going through the conference talk process. Both Will and BJ have gone through the process of creating and submitting a CFP (Call…
Boundaries Between Work and Side Hustle
Aug 22, 2019 • 57 min
If you are contemplating starting a side project, there are some things you need to keep in mind in order to keep your day job from interfering with, or even damaging your side project. You also need to be careful that your side project doesn’t create…
Pragmatic Programmer
Aug 15, 2019 • 69 min
There are a ton of programming books out there, but there are only a few that have made a huge and lasting impression on developers across the board. One of those is The Pragmatic Programmer: From Journeyman To Master by Andrew Hunt and Dave Thomas, which…
Taking Personal Responsibility
Aug 8, 2019 • 58 min
Taking responsibility is taking action in your life that moves you toward happiness and success. It is about owning the consequences of what you do. When taking responsibility in your life you allow yourself you be in control.
User Personas
Aug 1, 2019 • 60 min
As software companies mature, many of the employees (including developers, testers, project managers, and designers) find themselves further and further removed from the daily lives of those who use their software. Not only does this make it more…
Design Patterns in Automated Testing
Jul 25, 2019 • 56 min
Test code is code! Just like with real code certain patterns emerge when writing automated tests for your code. The patterns or observations about the best way to write tests help us to design our automated testing to best optimize the code and our time.
Successful Entrepreneurship
Jul 18, 2019 • 64 min
Throughout your career as a developer you are likely to work at some well established companies as well as some just getting started. You may even start your own company at some point. Working as or with entrepreneurs no matter your role has a unique set…
Analyzing Technical Debt
Jul 11, 2019 • 54 min
Regardless of who you are, technical debt represents an issue that you need to understand in order to be effective. In this episode, we’re going to discuss some other ways to understand the problem that may help you and your team have better discussions…
Increasing Your Self Awareness
Jul 4, 2019 • 60 min
We’ve had conversations about emotional intelligence, goal setting, journaling, and many other topics. Each one a part of helping you to better understand yourself. Increasing your self awareness will allow you to not only know why you do the things you…
Code For The Ages
Jun 27, 2019 • 60 min
When most of us finish a project, we don’t really think much about it unless a problem comes up. However, once you’ve rolled an application out to production, there are certain things that you can expect at various points in time as the application ages.
Creating A Community For Coders
Jun 20, 2019 • 50 min
Everyone likes to feel involved. Even the shyest introverts need a community, something to connect them with others like them. As developers we can often feel isolated in our own worlds of study or focus where we only have ourselves and our computers.…
The Long Quit
Jun 13, 2019 • 60 min
It can be challenging to make the leap from a job that is just ok to one that really makes you happy. In this episode, we’re going to talk about some of the things you should be doing if you anticipate leaving your job within six months to a year.
A Retrospective On 200 Episodes
Jun 6, 2019 • 65 min
We made it to Episode 200! Almost four years into podcasting and it feels like we’re just getting our feet under us. There’s so much we’ve learned the past 200 episodes from audio engineering to coding and tech skills to insights into ourselves and our…
Overcoming Social Anxiety
May 30, 2019 • 57 min
A lot of times we allow fear of social situations to control us. Be it public speaking, going to an event where you don’t know anyone, or just going out after work we all have some places where we are anxious in social settings. Even for the more outgoing…
Positioning Yourself For Advancement
May 23, 2019 • 61 min
Sometime soon, you’ll be ready to move on to the next phase of your career. While for many jobs, this can entail going to another company, it doesn’t always have to be that way. In fact, if you like your current job, you may want to stay at the same…
Multi-Tenant Apps
May 16, 2019 • 57 min
Most organizations really dislike having their private, business-critical information shared with everyone else, especially when those people are potential clients, competitors, or the general public. Applications with multiple tenants, each with their…
May 9, 2019 • 51 min
If you are a developer using a compiled programming language, your craft depends on your compiler. Computers are not capable of natively understanding any of your code. Instead, the machine must be told what to do in a way that it understands. Depending…
Improving Emotional Intelligence
May 2, 2019 • 57 min
We’ve all had times where we were on top of our game. It was like we could sense what others were feeling and thinking and had the right responses to every situation. Other times we weren’t so in tune with ourselves or others.
Scheduling Under Pressure – Best Tactics
Apr 25, 2019 • 57 min
The longer your career goes, the more likely it is that you’ll get overloaded with work. Whether it’s because your company is understaffed, your manager assigns you too much stuff to do, or because schedules aren’t managed well, there will come a point…
Vets Who Code
Apr 18, 2019 • 64 min
We’ve brought on Jerome Hardaway, founder of Vets Who Code and Jacob Oakley, a successful graduate of the program, to talk to us about how they are helping the men and women who served in the US Military.
Improving Your Technical Writing
Apr 11, 2019 • 55 min
There is a surprising amount of writing required to be a successful developer. Whether you have to write technical specifications, document an existing system, or even write tutorials for open source software, your technical writing skills will not only…
Top 5 LinkedIn Mistakes with Amber Beam
Apr 4, 2019 • 51 min
You make one little change on your LinkedIn profile and get flooded with recruiter emails. We’ve all been there. When you’re looking for a job this is great but it can get annoying fast. Even worse is when you are looking but get all the wrong types of…
Put Yourself Out There
Apr 1, 2019 • 61 min
It’s pretty common in technology-related professions to be shy. Lots of people that get into this profession do so under the mistaken impression that they won’t have to deal with people as frequently. That may have worked at one point, but the average…
Bad Reasons For Microservices
Mar 28, 2019 • 56 min
Microservices are the cool, new way to build large software systems. The hype is everywhere, from the tech press to the hipster dude in the next cubicle. If you are building applications, you’ve probably felt at least some pressure to build them as…
Lunch and Learn
Mar 21, 2019 • 64 min
Some of the best things we learn are not in a classroom but just sitting around chatting with fellow developers. Dev chats or lunch an learns somewhat formalize this process. They allow for things such as knowledge transfers from senior developers who…
Integration Considerations
Mar 14, 2019 • 54 min
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…
Developer, You Played Yourself
Mar 7, 2019 • 55 min
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…
Dependency Injection
Feb 28, 2019 • 55 min
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…
The Cost of Your Commute
Feb 21, 2019 • 59 min
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…
Rules For Dating My Developer
Feb 14, 2019 • 61 min
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…
Asking For A Raise
Feb 7, 2019 • 59 min
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…
Tough Situations In OOP
Jan 31, 2019 • 56 min
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…
Learning From Failure
Jan 24, 2019 • 57 min
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…
Becoming More Creative
Jan 17, 2019 • 50 min
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
Jan 10, 2019 • 59 min
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…
Resolutions For 2019
Jan 3, 2019 • 58 min
The theme for this past year has been setting and building your story. In order to do this we need to have clearly defined goals and an action plan to reach them.
Predictions For 2019
Dec 27, 2018 • 58 min
It’s the end of the year, this is the last episode of 2018. As has become tradition for our last episode we’ll be reviewing our predictions for this year discussing the ones we got right, the ones we got wrong, and the ones we came close. Then we’ll each…
Dark Patterns in UI Design
Dec 20, 2018 • 58 min
We live in a society where people are praised for being clever. Whether it is in finding better ways to do things, or simply in being witty, being clever is lauded in our society. However, sometimes people are a little too clever and edge into behavior…
Objections to Unit Testing
Dec 13, 2018 • 56 min
Testing code is not easy, you have to think about all the different ways your code can go wrong and then write tests to cover them. You generally write more test code than functional code when creating unit tests.
The Importance of Boundaries
Dec 6, 2018 • 58 min
Unhealthy management of personal boundaries not only makes life tougher, but can often invite predatory people into your world. It’s not a pleasant experience, but it is something you have to do for your mental health as an adult. Your boundaries have to…
Resume Driven Development
Nov 29, 2018 • 52 min
Resume Driven Development is considered a bad idea, especially on the job. It can cause problems for your coworkers and the company down the line after you are gone. If you suspect someone you work with of Resume Driven Development ask them why they are…
Surviving Multiple Projects
Nov 22, 2018 • 58 min
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…
Distributed Computing Fallacies
Nov 15, 2018 • 51 min
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
Nov 8, 2018 • 56 min
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…
Open Spaces
Nov 1, 2018 • 61 min
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…
Signs Your Coworker Is Quitting
Oct 25, 2018 • 59 min
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…
Troublesome Developers
Oct 18, 2018 • 61 min
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…
Inversion of Control
Oct 11, 2018 • 53 min
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…
Selecting A Stack For Your Side Hustle
Oct 4, 2018 • 57 min
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…
Going Back To School
Sep 27, 2018 • 62 min
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
Sep 20, 2018 • 61 min
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…
Acing the Internal Interview
Sep 13, 2018 • 59 min
Many companies prefer to promote from within, either for the prestige of claiming to do so or because internal candidates are a known quantity and quality. There’s a difference between interviewing at a new location with people who don’t know you or have…
Reinvesting Your Gains
Sep 6, 2018 • 59 min
Real personal change is hard. Not only do you have to pick an appropriate goal, but you have to slog towards it over an extended period of time. Reinvesting your gains in any worthwhile activity or life goal is not all that hard, but it has to be…
Network Access Control
Aug 30, 2018 • 54 min
Network Access Control (NAC) attempts to combine end-station security with network security and authentication. It is used to control access to a network via policies and protocols. These include when the policies are applied whether before or after…
7 Deadly Sins of Coding
Aug 23, 2018 • 60 min
The 7 deadly sins were a grouping and classification of vices within Christian teachings. Behaviors and habits were classified in here if they directly gave birth to other immoralities. The 7 deadly sins were considered to be the polar opposites of the 7…
Getting Started Journaling
Aug 16, 2018 • 56 min
Regularly writing in a journal can help you to take the puzzle pieces of your thoughts and feelings and put them together in a logical pattern. Use these guidelines to help get started on that puzzle. Don’t hesitate, get started journaling now.
Why TDD Isn’t Working
Aug 9, 2018 • 52 min
Test driven development is a different way to think about the design, development, and maintenance of applications. TDD can work well for you, but it’s easy to go off the rails, especially with the kind of examples you see on the web. The basics are easy,…
White Label Apps Part 2: Maintenance
Aug 2, 2018 • 55 min
White-Label applications offer an additional level of challenges over “normal” application development. Due to some of these constraints, many simple tasks become orders of magnitude harder or can’t even be done at all.
White Label Apps Part 1: Development
Jul 26, 2018 • 58 min
With a white-label app, your clients may tinker with the database, integrate with things you wouldn’t expect, or even come to rely on bugs. They may use the application in ways you never expected, and their business may be entirely reliant on misusing…
7 Myths of Agile
Jul 19, 2018 • 54 min
Discussing agile methods can become a controversial topic. People have a lot of strong feelings about agile methodologies. There are a lot of misconceptions and misunderstandings about what agile is and how the approach to project management is used.
Basics of Threading
Jul 12, 2018 • 42 min
Threading is crucial to understand if you want your applications to be responsive to multiple users, to update a user interface while a long-running process proceeds in the background, or just to allow you to process multiple things at the same time.
Progressive Web Apps
Jul 5, 2018 • 54 min
Progressive web apps are websites with a look and feel of a native application. Even better they have similar functionality to native apps. In a mobile first, device heavy world, this allows us to build web applications that are able to access the native…
9 Career Benefits of Journaling
Jun 28, 2018 • 53 min
Keeping a daily work journal will allow you to keep track of your thoughts and ideas at work. You’ll be able to put the pieces of your thoughts and feelings at work together to better understand yourself, your coworkers, and the problems you face.
Get The Most From Conferences
Jun 21, 2018 • 62 min
No matter what your role, be it attendee, volunteer, speaker, or sponsor there are things you can to do get the most out of attending technical conferences. Follow these tips to make your conference experience even better.
CSS Code Smells
Jun 14, 2018 • 57 min
Most developers are of the opinion that CSS is nasty to deal with. And it can be, especially when you treat it as a second-class citizen and don’t take advantage of tools that are designed to help with the process. CSS in many development shops is being…
Health Benefits of Journaling
Jun 7, 2018 • 56 min
There are a myriad of benefits to keeping up with your thoughts, ideas, and emotions. Journaling or keeping a diary improves your health. Both mentally and physically. It provides an outlet for you that no-one else will see. Journaling allows you to…
Software Versioning
May 31, 2018 • 61 min
There is a fair amount of complexity in software and component versioning, as well some disagreement on what is standard. However it is pretty easy to get reasonably right, as long as you know the basics. While there is always room for improvement,…
Logical Programming
May 24, 2018 • 53 min
Logic programming is a paradigm that is based on formal or mathematical logic. Apps written in logical languages are basically sets of commands in logical form. They express facts and rules about a problem within the domain.
May 17, 2018 • 54 min
The Open Web Application Security Project (OWASP) is a worldwide not-for-profit organization focused on improving the security of software. They put together a document containing the top 10 security vulnerabilities compiled through consensus of security…
Surviving A Job Loss
May 10, 2018 • 60 min
Have a job in software development for long enough, and you’ll eventually lose it. Whether through an acquisition, being downsized, or even being fired, no job is permanent. When this happens, many developers are poorly prepared for a job loss. Recovery…
SOLID Principles
May 3, 2018 • 43 min
SOLID is a mnemonic acronym for five core principles to designing and implementing solid object oriented code. They can and should be applied to any object oriented design and serve as the core of certain methodologies built around OOP such as agile. The…
Pros And Cons Of The Side Hustle
Apr 26, 2018 • 55 min
Whether it is producing content such as podcasts, blogs, and videos, consulting, or building applications for personal use or for sale, or even creating other content like music and books, there is a lot to be gained by hustling on the side, a lot of…
Unit Testing With Test Driven Development
Apr 19, 2018 • 60 min
Unit testing is a valuable skill to have, no matter where your code runs or what it does. It reduces the error rate of your software and can often help force a better structure into your code. In addition, this practice can make it easier to make large…
7 Networking Layers
Apr 12, 2018 • 55 min
Open System Interconnection (OSI) model is a conceptual framework that defines how to implement network protocols. OSI breaks network communication into 3 upper and 4 lower layers. Each layer is a set of protocols for communicating to other devices at…
Understanding Technical Debt
Apr 5, 2018 • 59 min
Technical debt is the idea that there will be a cost in terms of more development work down the line for using certain solutions to problems that arise while developing. The idea here is not to avoid accumulating technical debt but instead to understand…
Fairy Tales
Apr 1, 2018 • 57 min
Fairy tales were designed to impart life lessons along with being entertaining. Unlike today, where an extended period of adolescence is common, our forebears experienced a world that was much harsher, where the transition between childhood and adulthood…
Evaluating Office Layouts
Mar 29, 2018 • 61 min
Knowing what kinds of office environments work best for your personality type, your current task load, and the work environment can yield clues to how to fix it if work becomes unpleasant. Shared space can drive both collaboration and conflict, so it’s…
Normalize Your Database
Mar 22, 2018 • 50 min
Database normalization is the process of organizing data in a relational database. The normal forms are a series of guidelines to help communicate the level of normalization a database. Even if you aren’t a DBA or back end developer understanding the…
Command/Query Responsibility Segregation and Event Sourcing
Mar 15, 2018 • 58 min
Command/Query Responsibility Segregation (CQRS) creates a logical separation between operations that mutate data and operations that merely retrieve it. In addition, Event Sourcing can help your application collect data that may not be considered valuable…
Differentiate Yourself
Mar 8, 2018 • 61 min
When going for a new job you want to set yourself aside from all of the other applicants and be memorable. Setting yourself apart from the rest of the applicants gives you a better chance of getting the job.
Domain Driven Design
Mar 1, 2018 • 55 min
The principles of domain driven design (DDD) make sense, but a lot of the documentation around it is not very helpful for getting your head around the ideas. Domain driven development is primarily about building and designing your applications to be…
7 Habits To Prevent Burnout
Feb 22, 2018 • 46 min
Burnout can be insidious, slowly creeping into your work and life without you even knowing it. A lot of times to correct it you’ll have to have both personal and organizational changes. These habits are things you can do for yourself to prevent burnout…
Beautify Your Story With CSS
Feb 15, 2018 • 64 min
Many web developers avoid Cascading Style Sheets (CSS) as much as possible and the lucky ones have standards that once set no longer have to worry about. Some developers even have trouble understanding the difference between an id and a class and how to…
Morbidity And Mortality
Feb 8, 2018 • 58 min
In medicine the idea of a Morbidity and Mortality conference is to look back on a case after the fact, when the emotions around it have died down some. The Sprint Retrospective provides the team a way to inspect their process and look for ways to improve.
Continuous Self Improvement
Feb 1, 2018 • 63 min
When trying to better yourself in some way, it can be tempting to pick up a book on the subject and start making changes, but that is neither a sustainable, nor effective way to go about it. Instead, you need to structure things so that you can be…
Recovering From Burnout
Jan 25, 2018 • 58 min
Burnout is a nasty and insidious process. It can sap your ability to push through challenges and ultimately cause you to fail if not dealt with quickly. It typically occurs when you have been overworked or over stressed for an extended period of time and…
Composite Data Types
Jan 18, 2018 • 56 min
Generally speaking a data type is either primitive or composite. 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…
Write Your Story
Jan 11, 2018 • 58 min
The theme for this past year has been goal setting. Writing your story goes beyond setting and achieving your goals. Stories are about growth and change. It is becoming your own guiding influence. Writing your story can help you find your voice. Telling…
Predictions 2018
Jan 4, 2018 • 54 min
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…
Resolutions 2018
Dec 28, 2017 • 59 min
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.
DateTime Part 3: Best Practices
Dec 21, 2017 • 57 min
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…
DateTime Part 2: Computing and Time Protocols
Dec 14, 2017 • 57 min
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…
DateTime Part 1: History of Time
Dec 7, 2017 • 48 min
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…
Console Apps
Nov 30, 2017 • 50 min
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…
Stop Writing CRUDy Apps
Nov 23, 2017 • 54 min
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.
Science Fiction Becomes Fact
Nov 16, 2017 • 80 min
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. Having been scifi geeks their whole lives Will and BJ have seen…
Antipatterns In Distributed Teams
Nov 9, 2017 • 59 min
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
Nov 2, 2017 • 59 min
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…
Ways to Avoid Bike Shedding
Oct 26, 2017 • 55 min
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…
Developers and the Law
Oct 19, 2017 • 63 min
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.
Oct 12, 2017 • 44 min
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…
Toxic Mix? OOP and Databases
Oct 5, 2017 • 53 min
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…
Primitive Data Types
Sep 28, 2017 • 57 min
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…
What Is A Bug
Sep 21, 2017 • 58 min
If you’ve been developing software for any length of time, you’ve probably encountered situations where a bug occurs and everyone freaks out. Further, you’ve probably also encountered situations where people have referred to things as bugs when they…
Effective Communication
Sep 14, 2017 • 66 min
Communication is how we interact with those around us. Understanding how we and others communicate creates better interaction and understanding. When communicating with other we need to be aware of our own emotions. This helps to be able to focus on the…
Junior Developer Toolbox
Sep 7, 2017 • 60 min
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.
Mock Interviews
Aug 31, 2017 • 60 min
This is going to be a little different from our regular episodes. Instead of following an outline or interviewing a guest Will is going to put BJ through two mock interviews.
Bad Interview Questions
Aug 24, 2017 • 54 min
Interviewing is not easy for either the interviewee nor the interviewer. There are rules and in some areas laws to abide by when developing questions yet the interviewer still needs to determine which candidate will be the best fit for the company.
Whiteboards and Code Challenges
Aug 17, 2017 • 60 min
For both the whiteboard and code challenge as well as for answering technical questions during the interview practice will help you move from terrified to competent to comfortable. Before your interview review questions on the languages/frameworks ect you…
Soft Skills to Ace the Interview
Aug 10, 2017 • 61 min
Soft skills are the skills we use to communicate with those around us. They help us to be more diplomatic, respectful, and professional even when presented with frustrating situations. When being evaluated for an interview or promotion your soft skills…
Building A Resume
Aug 3, 2017 • 57 min
A solid resume not only gets your foot in the door, but sets the tone for the interview itself. In addition to helping the interviewer shape their questions about you, a well-crafted resume puts you in control of how the interviewer perceives your value,…
Getting A Job
Jul 27, 2017 • 59 min
In preparation for our 2 year anniversary episode we will be having a series of episodes on finding a new job. We start with an overview of looking for a job and what all is involved in the process.
The Future of Programming
Jul 20, 2017 • 47 min
The future is often a scary, uncertain place for people. Everyone likes to project how things will turn out for them in the future. Tech folks are no different and the guys assembled a group of knowledgeable developers to discuss what we think is coming…
Present Yourself Well with John Sonmez
Jul 13, 2017 • 65 min
The software development industry has got a bit of a reputation. From poor personal hygiene to poor relationship hygiene to social awkwardness, how developers present themselves often stands in the way of them achieving their full potential.
Reviewing and Revising Your Goals
Jul 6, 2017 • 59 min
Due to some recent events in BJ’s life that have made him re-evaluate some of his goals for this year we’ve decided to look in on our goals and do a mid year review.
Dealing With Loss
Jun 29, 2017 • 61 min
It’s important to understand the grieving process. Not only is it part of being an adult but understanding how people process grief is also crucial to avoiding situations that make it worse.
Laws of Programming
Jun 22, 2017 • 54 min
In any field, there is a lot of hard-won knowledge that the more experienced attempt to impart to those with less experience. Depending on the field, these things may be expressed as old sayings, or laws. They typically aren’t really hard and fast rules,…
Get Low In High Level Languages
Jun 15, 2017 • 60 min
If you regularly do software development in a higher level language, you’ll eventually run into a situation where you have to deal with the sort of problems that higher level languages are built to avoid. These problems may cause application crashes, data…
Start Your Day Right
Jun 8, 2017 • 59 min
No matter if you are a morning person or a night person or if you get up early or stay up late and sleep in you have to start your day at some point.
Continual Learning with Erin Orstrom
Jun 1, 2017 • 70 min
You need to keep learning to continue to grow. Old technologies, frameworks, and languages will change and grow to meet new needs and add new features. New technologies are constantly being built and put out for people to use. You don’t have to be…
Tech Conferences with Dani Heileman
May 25, 2017 • 51 min
Dani Heileman is a marketing strategist, designer and front end developer who’s working as the Marketing Director for Music City Code.
Build Your Hustle
May 18, 2017 • 47 min
A lot of us would like to do more with our lives, but find ourselves getting blocked by our own laziness, lack of motivation, or simply not being sure which thing to do first. While these skills apply to your career as a software developer, they are also…
Start Coding Today
May 11, 2017 • 61 min
Getting started can be a little intimidating, so it’s important to go over the basic requirements to get started learning how to code through experience.
Code Smells Part 2
May 4, 2017 • 57 min
The idea of code smells is they are patterns or anti-patterns that are easy to identify and show the code needs to be reviewed in that area when refactoring your code. Research by Tufano et al. found that there is empirical evidence for the consequences…
Code Smells Part 1
Apr 27, 2017 • 46 min
The idea of code smells is they are patterns or anti-patterns that are easy to identify and show the code needs to be reviewed in that area when refactoring your code. Depending on who you ask or where you look there are lots of different code smells from…
A Developer’s Journey with Dave Harned
Apr 20, 2017 • 59 min
This week Will and BJ continue their A Developer’s Journey series where the guys talk with different developers about their journey into and within software development. The episodes in this series come out periodically and each one focuses on a different…
Group Development with Cody Rockwood
Apr 13, 2017 • 77 min
Dr. Tuckman states that team growth and dynamics are influenced by the setting in which the group is working, the area where the group behavior falls at any point, and the where the group is in the sequence. He originally wrote about four phases of group…
Salary Negotiations with Josh Doody
Apr 6, 2017 • 63 min
This week Will and BJ discuss salary negotiation with author Josh Doody. In the episode they talk about some of the common questions developers have about negotiating as well as covering some mistakes that we all make when negotiating for a higher salary.
Overcoming Mental Barriers with David Whitley
Apr 1, 2017 • 50 min
In this special episode Will and BJ invited old time strongman Iron Tamer David Whitley to discuss how to overcome mental barriers that keep you from doing difficult things. The episode covers how David overcomes mental barriers when performing feats of…
Overcoming Impostor Syndrome
Mar 30, 2017 • 60 min
In general, it occurs when the inevitable plateau in learning happens. Generally it’s a crippling feeling like you are being a fraud and in imminent danger of being found out. Beyond anything else you must understand, you need to realize that it’s part of…
A Developer’s Journey with Jason Belcher
Mar 23, 2017 • 55 min
Jason Belcher is an aspiring software developer and has also done a lot to help improve the audio quality on this podcast. Will and BJ first met him down in Atlanta at Code Newbies and they’ve kept in touch nearly every day since then. Jason provided the…
Boolean Algebra
Mar 16, 2017 • 40 min
Boolean algebra is a set of rules to describe a problem whose outcome will either be true or false. They were formulated by an English mathematician named George Boole. He’s the namesake for the rules and for the boolean type in statically typed languages.
Community Involvement
Mar 9, 2017 • 55 min
Participating in your community benefits both you and the community. There are many different levels of participation from just showing up to planning and even leading and organizing events. Finally there are many ways in which to get involved. Leading a…
Design Mistakes
Mar 2, 2017 • 55 min
Programming errors are one thing, but there are other types of errors that can be just as damaging to end user experiences. These errors are easy to miss in a software development shop, precisely because of the biases that are present on the typical…
Feb 23, 2017 • 52 min
Arrays are a basic data structure that are used to store values and associated keys. You’ll see them across most languages though the names of operations might change or how you implement the arrays. They are related to other data structures such as…
The Fragile Manifesto
Feb 16, 2017 • 59 min
It’s not likely you’ll see all of these on one team but knowing them can help you guide your team or workplace away from them. If you see one of these patterns start to develop act quickly to quell the anti-pattern before it takes hold.
The Business of Consulting with Zachary Burt
Feb 9, 2017 • 61 min
Zack Burt has been programming for 20 years and consulting for 10 years and he truly loves programming. Over the years, he has worked for large companies and startups in both individual contributor and leadership roles. He is passionate about open source,…
Concepts In Functional Programming
Feb 2, 2017 • 50 min
Functional programming is based on lambda calculus. Functions must return the same output given the same inputs no matter the state and cannot affect anything outside of the function. Functions can be set to variables and can return functions or be given…
Maintaining Motivation
Jan 26, 2017 • 52 min
Motivation is defined as “the reason or reasons one has for acting or behaving in a particular way” or “the general desire or willingness of someone to do something”. It’s easy to come up with a lot of lofty goals at the beginning of the year but…
Jan 19, 2017 • 48 min
Logging provides routine diagnostic information when a debugger is not running such as in production. It is used to provide runtime proof that the app is still running (not in a zombie state), an audit trail or other forensic data, and troubleshoot rare…
Resolutions for 2017
Jan 12, 2017 • 52 min
Continuing the New Year theme the guys review their resolutions from last year and discuss how they accomplished or missed them. Then they each give six resolutions for this year.
Predictions for 2017
Jan 5, 2017 • 46 min
This week Will and BJ review their predictions for 2016 and making new ones for 2017. First they breifly look at the predictions each made last year and see which came to be and which were way off. Then they each make predictions for the this year.
12 Habits For The New Year
Dec 29, 2016 • 52 min
Most of the literature about habit formation state it takes 3-4 weeks to form a new habit. A lot of times you have habits that don’t serve you or you need to form new habits to reach a goal. Rather than just letting things happen consciously evaluate your…
Blue Collar Coders with Cody Rockwood
Dec 22, 2016 • 52 min
Cody joins the discussion to talk about breaking into the development world without a degree or any formal training. He started college and for a time was a computer science major but left to persue a career as a developer.
Signs You Are A Bad Developer
Dec 15, 2016 • 51 min
There are many reasons that you might not know you are a bad developer. If you are just going through the motions because of a bad work environment or family life you can become a bad developer even when you aren’t most of the time. Many of these are less…
Learning A Second Language
Dec 8, 2016 • 41 min
Before starting to learn a new programming language you should take a few considerations. How different is the new language from your current one? Compare the environment, paradigm, syntax, and level of automatic operations between the languages.
Dealing With Frustration
Dec 1, 2016 • 46 min
Frustration occurs when results or goals do not fit the effort you apply toward them. This can come as internal or external goal blockages. Internal blockages come from personal deficiencies or competing goals. External blockages are conditions outside of…
Optimizing Algorithm Efficiency
Nov 24, 2016 • 45 min
Premature optimization will really harm your efficiency as a developer, without providing any real benefit to the execution of your application. That doesn’t mean you never do, but you have to choose the places where your effort will not negatively impact…
Ways to Learn Code with Erin Orstrom
Nov 17, 2016 • 52 min
This week the guys invited their friend Erin Orstrom to join them in a round table discussion on their different experiences in learning to code and the concepts of computer science. Will has a degree in Computer Information Systems whereas Erin and BJ…
Keep Your Mind Sharp
Nov 10, 2016 • 59 min
It has also been found that the trial and error process of debugging code strengthens mental capabilities. Keeping your mind sharp will help increase motivation and focus, creativity and inspiration, and prevent cognitive decline.
Nov 3, 2016 • 41 min
Numbers are representations of things, not things themselves. We have to be able to store and process numbers in an efficient manner in order for our programs to run well. However, those numbers also have to be accurate. We can’t lose data in the process…
Oct 27, 2016 • 59 min
Freelancing can give you better control over your work-life balance. Though you may spend much of your free time looking for work. It allows you to be your own boss and choose your own hours but requires more accountability.
Overcoming Social Awkwardness with John Sonmez
Oct 20, 2016 • 43 min
Typically social awkwardness is defined as feeling nervous or uncomfortable in social settings. For most socially awkwardness people situations where they have to be social provoke anxiety and nervousness. Many are introverts and so even being around…
T-Shaped Developers
Oct 13, 2016 • 47 min
Historically developers have been specialist. In web development you were either front end or back end. You build your portion of an app and didn’t worry about the other areas. The idea behind being a T shaped developer is to have a broad base of…
Characteristics of a Good Developer
Oct 6, 2016 • 48 min
Non-technical characteristics are valuable to being a good developer. A lot of developers seem to think that the job is only about technical skills, however not all problems we face are in the code.
Let’s Talk About Text
Sep 29, 2016 • 46 min
A string is a data type that stores text. There’s more complication to strings than you would think, which is the reason for this episode.
Multi-Tier Architecture
Sep 22, 2016 • 50 min
Three tier architecture separates the functional process logic from data storage and user interface. These are developed and maintained independently on separate platforms.
Interview Trigger Warnings
Sep 15, 2016 • 52 min
Some companies have bad environments for developers and some have developer environments that may work for some people but not others. As an interviewee you need to be paying attention during an interview for signs that the business may not be the right…
Sep 8, 2016 • 52 min
This week we celebrate one year of producing Complete Developer Podcast. It is exciting as we hit our goal for the year a month early. In this week’s episode the guys talk about the apprenticeship program that Will put together to get BJ up to speed as a…
SCRUM Project Management
Sep 1, 2016 • 39 min
In response to the trends in project management for software development from the 1970’s and 1980’s several methodologies were developed and became popular in the 1990’s. SCRUM is a framework for implementing project management in Agile Software…
Code Katas
Aug 25, 2016 • 59 min
Code katas help you to build solid practices in a controlled environment. The idea here is to create a situation with a known problem space and use it to safely practice the same thing over and over again until the technique is fluid, solid, and relaxed.
Ways To Fail At Time Management
Aug 18, 2016 • 52 min
‚ÄčTime is the resource we are least able to get more of. It’s a far more complicated topic than most examinations of it will lead you to believe. This episode focusses on things that are obvious but still burn through your time. Each alone is not much but…
Principles of Object Oriented Programming
Aug 11, 2016 • 52 min
Object Oriented Programming has four major principles: Abstraction - using a focused representation of an actual item, Encapsulation - hiding the internals of an object, Inheritance - reusing code from an existing object, and Polymorphism - one name, many…
Using Social Media to Enhance Your Career
Aug 4, 2016 • 51 min
A good portion of the content was derived from Brad and Debra Schepp’s book ‘How to Find a Job on LinkedIn, Facebook, Twitter, and Google+’. Will and BJ look at using social media for networking and connecting with others in the industry, keeping up on…
Increasing the Value of Your Time
Jul 28, 2016 • 51 min
Others value of your time such as bosses, coworkers, friends, and family is determined by the value you place on your time. Find fulfillment in what you do by living purposefully and better contribute to the world around you. By increasing the value of…
Knowing When to Automate
Jul 21, 2016 • 50 min
Automation helps to get rid of repetitive task and allows you to do things even when you are not present. You are able to react to changing conditions when they occur and make sure systems stay up when the cost of failure is high. This could include…
Seven Don’ts Your First Week
Jul 14, 2016 • 40 min
The second half of starting a new development job talks about what not to do during your first week of a new job. You want to come in and make a good first impression. These are seven things that will hinder building a good first impression.
Seven To Dos Your First Week
Jul 7, 2016 • 40 min
Going in to your first week of a new job you need to have a plan. It makes you look more experienced and helps boost your confidence. Also you will build a good first impression. In addition establishing rapport early helps keep you from losing motivation.
Improve Your Nonverbal Communication Skills
Jun 30, 2016 • 50 min
“A “majority” of the meaning we attribute to words comes not from the words themselves, but from nonverbal factors such as gestures, facial expressions, tone, body language, etc.” ~ Edward G. Wertheim We use non-verbal cues to reinforce our…
Behavioral Design Patterns
Jun 23, 2016 • 49 min
Closing out the series introducing design patterns the guys discuss behavioral design patterns. These deal with communication between entities. They provide easy and flexible communication between objects.
Writing Better How To Content
Jun 16, 2016 • 52 min
From tutorials to ReadMe to product instructions producing How To content creates challenges not found in other content we write as developers. Choose your content carefully and have a clear and succinct title. Write a clear introduction and use a step by…
The Role of Recruiter with Lena Mills
Jun 9, 2016 • 57 min
“Java is to JavaScript as Car is to Carpet” This week Will and BJ invited their friend and the only recruiter Will works with to join as a guest host as they discuss the role of recruiters in finding the right position for developers. Lena Mills is a…
Structural Design Patterns
Jun 2, 2016 • 58 min
Continuing the series on design patterns with structural design patterns. Design patterns are a way of thinking about abstract concepts in Object-Oriented Programming. Structural design patterns deal with the relationships between entities. They make it…
Improving Your Listening Skills
May 26, 2016 • 57 min
Much of this outline comes from We highly recommend looking at the site. Will and BJ start by talking about why you need to improve you listening skills by explaining the differences in hearing and listening and the benefits of being an…
Why Your DBA Hates Your ORM
May 19, 2016 • 59 min
An ORM integrates a unit of work pattern that allows you to modify multiple objects then push the changes back to the database as a unit. This returns a chunk of data known as an aggregate root. The ORM pulls the data from the database and allows the…
Creational Design Patterns
May 12, 2016 • 50 min
A constructor is a function that is used to build an object and it is part of that objects definition. Calling a constructor causes cohesion between the code and the object being instantiated. Making changes in the objects can cause problems when calling…
The Value in Not Working
May 5, 2016 • 57 min
You wake up at 5:30 in the morning. Get showered, brush teeth and hair, dress, walk the dogs, get the kids ready and fed breakfast and out the door by 7. After dropping the kids off at school you remove the Frozen Soundtrack and put on a coding podcast…
How Cognitive Biases Affect Developers
Apr 28, 2016 • 58 min
“Critical thinking is an essential skill in our age of constant information (and misinformation), but our own subconscious biases don’t help matters much when it comes to sorting out truth from viral nonsense.” ~ Alan Henry Alan Henry created a great…
An Introduction to Design Patterns
Apr 21, 2016 • 55 min
In this episode Will and BJ begin a four part series on design patterns. This week they introduce design patterns giving a brief history and overview of the different sets of patterns. In the subsequent episodes they will be discussing each of the three…
Learning Styles
Apr 14, 2016 • 56 min
“Some people may find that they have a dominant style of learning, with far less use of the other styles. Others may find that they use different styles in different circumstances. There is no right mix. Nor are your styles fixed.” ~…
Writing Effective Documentation
Apr 7, 2016 • 58 min
“There’s a particularly pernicious anti-pattern in documentation where tutorials are provided for free but the real documentation is only available for purchase.” ~ Jacob Kaplan-Moss BJ was recently consulting on a WordPress site and the theme…
Lessons From The Trickster
Apr 1, 2016 • 59 min
Tricksters are found in the mythology and stories of almost every culture. From Coyote to Prometheus to Loki, today is April 1st or April Fools Day a day we as a culture celebrate tricksters and pranksters. In cultural stories, or myths tricksters play…
Web Development Skills to Get the Job
Mar 31, 2016 • 58 min
Finishing the two part episode on skills web developers need to know the guys tackle the skills needed to land a job along with advanced skills to set yourself apart. The episode closes with a list of honorable mentions that do not directly apply to web…
Skills Every Web Developer Needs
Mar 24, 2016 • 56 min
The question was asked on Quora: What are the five essential skills every web developer should have? There were 91 different answers to this question, though most could be broken down into one of three categories: technical, personal, and interpersonal.…
How to Identify Technical Debt
Mar 17, 2016 • 58 min
The term technical debt can be misleading and confusing. It is generally referred to as a metaphor referencing the consequences of system design or software architecture in a codebase. Technical debt can be difficult to identify directly so developers…
A Gentle Introduction to Refactoring
Mar 10, 2016 • 53 min
“I want to reconfigure my code to best survive the environment it lives in, it’s an evolutionary process.” ~ Will Refactoring is the process of making the internals of an application less painful to code without affecting the functionality of the app.…
Becoming a Resilient Coder
Mar 3, 2016 • 46 min
Resilience is the ability or capacity to quickly recover from difficulties. Systems that are resilient have less risk, a lower cost of ownership, and the ability to build upon the system. The CAP theorem of Consistency, Availability, and Partition applies…
How to Use Feature Flags
Feb 25, 2016 • 56 min
“Flags allow us to restrict features to certain environments, while still using the same code base on all servers.” ~ Ross Harmes Feature flags offer an alternative to maintaining multiple various branches of source code. Continuous deployment requires…
Developers vs Managers
Feb 18, 2016 • 55 min
This episode is highly influenced by Paul Graham’s essay on maker’s vs manager’s schedules. He points out they are inherently conflicting in priorities. The biggest issues come from developers not being able to handle interruptions and managers not being…
5 Tips For Resolving Conflict
Feb 11, 2016 • 53 min
A few weeks ago when recording the mood was hostile. Both Will and BJ were on edge but could not define the problem. Finally after over an hour of recording BJ says, “I’m getting frustrated and angry” to which Will responded, “Me too, let’s figure out…
Family: The Myth of the Work-Life Balance
Feb 4, 2016 • 53 min
Whether a single coder like BJ or one with a spouse and a child like Will this week’s discussion focuses on the myth of the work-life balance. Work and life are intermingled and to imply a balance is to imply that one outweighs the other. A better…
Coding Faster and Better
Jan 28, 2016 • 56 min
Faster coding does not equate to better coding. This week Will and BJ put together five tips for faster and better coding to improve performance on the job and in personal projects. From continuing to drill basic typing skills to learning your IDE’s…
Getting Better At Technical Specifications
Jan 21, 2016 • 59 min
The episode begins with BJ detailing his recent experience writing his first technical spec for a client and what he learned from that along with questions about the process. Will then leads the conversation into a discussion of best practices for writing…
Asking Questions and Giving Advice
Jan 14, 2016 • 58 min
This week the guys broke the episode into two parts. BJ starts out with a study from Harvard University on the perceptions of asking for advice. The first half of the episode then outlines good question asking strategies for newbies and junior developers.…
Predictions for 2016
Jan 7, 2016 • 54 min
Being the first episode of 2016 the guys give their predictions for the tech world this year. Some optimistic and some not so optimistic predictions from both. Will and BJ give six predictions each for 2016 five in the development or technology field and…
Reviews and Resolutions
Jan 1, 2016 • 57 min
The guys start off the episode with a year in review of their journeys this past year as well as a brief description of setting up the podcast and how it all started. Following this they each give their resolutions for the new year. Links Bowtie Beej Blog
Take Control of Your Life Take Control of Your Life
Dec 24, 2015 • 56 min
As we approach the end of the year BJ and Will discuss strategies for setting goals to take back control of your life. Actively setting and reviewing goals helps to maintain focus and motivation. It gives significance to our long term improvements. The…
Using a Time Tracker to Improve Your Career Developer Power Techniques
Dec 17, 2015 • 54 min
This week starts a new series titled Developer Power Techniques. The series will not be in back to back fashion as the Health Series though each episode in the series will be announce and the series in general can be followed on the Developer Power…
Death Marches
Dec 10, 2015 • 54 min
In project management, a death march is a project where the members feel it is destined to fail, or requires a stretch of unsustainable overwork. The general feel of the project reflects that of an actual death march because the members of the project are…
Why Developers Hate Distractions
Dec 3, 2015 • 58 min
Coming out of a holiday week the guys full on turkey and dressing discuss the impact that distractions have on developers and productivity as well as ways for both developers and management to minimize the amount to distractions faced by developers in a…
Substance Abuse Among Developers
Nov 26, 2015 • 46 min
This being a holiday week the guys chose to air a special episode on substance abuse. This was originally part of the Mental Health episode but BJ went “Full Med Student” on the notes and produced a few shows. As many of us gather with our families this…
Finding What Motivates You Finding What Motivates You
Nov 19, 2015 • 45 min
This week the guys discuss ways to find motivation and self motivate in times when developers are down and discouraged. They begin by looking at Frederick Hersberg’s study on the two factors that influence employee satisifaction: hygiene and motivation.…
Ten Reasons You Might Not Want To Go Into Development Ten Reasons You Might Not Want To Go Into Development
Nov 12, 2015 • 52 min
In this the tenth episode Will and BJ discuss ten reasons a programmer or hobbyist might not want to go into full time development. It is best to know early on in your career or training if this is the life for you. The guys are not out to discourage…
The Customer is NOT Always Right The Customer Is NOT Always Right
Nov 5, 2015 • 58 min
But They Are NEVER Wrong! In Episode 9 Will and BJ discuss a common misconception in the workplace. The idea that the customer is always right. They begin by looking at why this attitude is hurtful to employees, other customers, and management explaining…
Managing Perceptions: Sales
Oct 29, 2015 • 56 min
This week BJ keeps his promise and brings an episode on understanding the roles and relationship of sales to development. The guys begin with a discussion on the importance of sales and what they do for the company. Next BJ takes us through an abbreviated…
Episode 7: Nine Beliefs Developers Have That Aren’t True
Oct 22, 2015 • 56 min
In this episode the guys discuss beliefs that developers hold (or act as if they hold) that simply are not true. They delve into commonly held yet erroneous beliefs that developers tend to have about work, employers, other departments, and more. While it…
Episode 6: Surviving Boring Meetings
Oct 15, 2015 • 58 min
In this episode of The Complete Developer Podcast, the guys discuss strategies for getting through boring meetings, which are the bane of software developers everywhere. Packed into this episode are a number of strategies you can use to turn boring,…
Episode 5: Financial Health Concerns for Developers Financial Health Concerns for Developers
Oct 8, 2015 • 55 min
Finishing out our series on Health Concerns for Developers we delve into the realm of financial health. In this episode, we discuss a number of issues that can derail software developers from effectively managing their finances. We start out with a…
Episode 4: Mental Health Concerns for Developers Mental Health Concerns for Developers
Oct 1, 2015 • 63 min
Continuing our series on health concerns for developers we delve into the mental health of developers. Originally this began as one episode but the information and conversation extended so we divided it into three separate episodes. This first mental…
Episode 3: Social Health Concerns for Developers
Sep 24, 2015 • 42 min
In episode 3, we continue our four part series about health concerns for software developers (part 1 can be found here). The series will examine multiple aspects of our lives and provide some stumbling blocks and dangers to watch out for as well as tips…
Episode 2: Physical Health Concerns for Developers Episode 2: Physical Health Concerns for Developers
Sep 17, 2015 • 35 min
In episode 2 we begin a four part series on health concerns for developers. The series will examine multiple aspects of our lives and provide some stumbling blocks and dangers to watch out for as well as tips and tricks to avoid them and stay healthy. We…
Episode 1: How to talk tech with non developers
Sep 10, 2015 • 24 min
In this episode we discuss how to talk about technology with non developers such as bosses, customers, or coworkers. We provide seven tips for how to explain yourself and your ideas to those that don’t speak geek. These are: 1. Use of analogies 2. Be…
Episode 0: ‘Hello World’
Sep 10, 2015 • 18 min
In this preview episode we use a question and answer format to give some insight into our individual backgrounds and where the show gets its origins. The audio quality is not the best as we were learning to use the equipment and figuring out how to best…