Episodes
As security concerns have become more and more important on the web, there has been a growing movement to make sure that communication between the client and the server is ALWAYS encrypted. There are many reasons for this. For one, encrypted communications are more difficult to spy upon, and more difficult to tamper with in transit. It also means that people feel safer dealing with sensitive data online, including financial transactions, medical information, and private conversations. To...
Published 02/09/23
Mike Acton gave a talk at the Game Developer’s Conference back in 2019. In that talk he detailed behaviors that he expects from developers he works with regularly. They are positive statements that he then discusses the problems arising from a lack of each behavior. In a previous episode we reacted to the first half of Mr. Acton’s list. We gave ourselves a time-box to keep from going over and better facilitate discussion. As with the first set, sometimes we’ll agree with him and sometimes we...
Published 02/02/23
At work, your boss probably (hopefully) has a pretty good idea of what needs to be accomplished in the next few months. Many business owners have found that productivity frameworks, like the twelve week year, help considerably with productivity. There is a good reason for this – Parkinson’s law specifies that the work will expand to fill the time allotted to it. Systems like the 12 week year help reduce the amount of time available, meaning that (within limits) things get done in a more...
Published 01/26/23
In a talk given at the Game Developer’s Conference, Mike Acton discussed what annoys him about most of the developers he’s worked with over the years. He lists them as positive statements and then discusses why a lack of that particular statement annoys him. While they were written for game developers they are generic and apply across the development landscape. This will be a little bit different from other episodes. We will go through Mr. Acton’s 50 things expected of developers reacting to...
Published 01/19/23
While this year’s theme is time management, there are some things you should get in order before you start trying to structure a productivity system to help with your time management. In particular, you need to actually be able to track tasks that you need to do, whether they are on your most critical projects or not. You need to be able to focus on a single tasks or similar types of tasks effectively for a period of time. You need to be able to manage useful documentation, as well as more...
Published 01/12/23
This is one of the most fun episodes we record each year. Both Will and BJ look forward to reviewing their predictions from the previous year and creating new ones. It’s important to stay up to date with the changes in technology, especially in your particular field. While this year was less unpredictable than some other recent years, it did see a lot of interesting developments both in tech and outside of it. For many people, it has been a tough year and nearly everyone has had to make...
Published 01/05/23
The theme for 2022 was resilience. Over this past year most of us have gotten at least one lesson on the importance of resilience, whether it was because of a job loss, a major change in a relationship, a death in the family, or because their entire social life was upended. However, the fact is, life changes, and sometimes changes a lot in a very short period of time. Fragility is the natural state of things – it takes systems, planning, and preparation to set things up so that they can be...
Published 12/29/22
Time management is hard to get right. While you (hopefully) don’t want to be a jerk to everyone in your social circle, you have work to do. Not only do you have the day to day stuff, but you probably career aspirations and personal goals too. And there really aren’t any goals worth doing that don’t take a substantial investment of time and attention over a long period of time to achieve. That’s just the way it is. And if you’ve ever tried to achieve something big and failed, odds are good...
Published 12/22/22
One of the first behaviors learned in becoming an influential leader is to be a good follower. This involves a change in perspective for many from trying to constantly be in charge or take control to letting others have the reigns and instead following their lead. It can be relaxing to not be the one making decisions, though it can also be stressful if you don’t always agree with those decisions. Becoming a good follower is just as difficult, maybe more so, than being a good...
Published 12/15/22
The terms ‘habit’ and ‘routine’ may be used interchangably by some, however they are not the same thing. A habit is a piece of a large routine. Habits require a cue to get them started, for example washing your hands after going to the bathroom is a habit. This hand washing habit is cued by you going to the bathroom, whereas other handwashing habits may be cued by chopping peppers, handling raw meat, or food being ready to eat. Washing your hands is not a routine, though it may be part of...
Published 12/08/22
If you are working with integrations in a large software project, you are probably aware that the complexity of these projects often leads to additional errors that are harder to predict and troubleshoot. It’s very similar to the situation many people encounter when dealing with complex object models – it takes forever to dig through the mess to find the problems. As a result, object oriented developers have a set of heuristics for finding areas that are potentially problematic. These are...
Published 12/01/22
Job changes are stressful. On a list of major stressers in life, such as moving, the death (or birth) of a family member, marriage, and divorce, you’ll also see a job change on the list. Many people get a large portion of their identity and sense of value from the work they do every day. For many others, the majority of their social interactions are with coworkers. Your schedule and all the other bits of your life that have to BE scheduled are tied directly to your work hours as well. When...
Published 11/24/22
Hustle culture is defined by the idea that there is always more to achieve or attain. It’s the work hard attitude that when combined with working smart can lead to great success. Hustle culture is a lifestyle of continuing to push and only take minimal breaks to rest. If you aren’t careful can lead to overwork and burnout but if done correctly will drive you to go further than those around you. While full on hustle culture may not be the best fit for everyone we can still learn from some of...
Published 11/17/22
Some people claim they procrastinate because they are lazy, whereas others claim they do better under the pressure by waiting until the last minute. Still others say they enjoy the rush of getting things done at the last minute. Procrastination is rarely about laziness, while it may be true for a few when it comes to procrastinating for the majority of us it is about motivation and prioritization. You may be overworked, on the verge of burn out and put off starting something to give yourself...
Published 11/10/22
There are a lot of different types of developers in the field. Some will be your basic 9-5 workers who are the backbone of most development shops. They are there to get a job done and when their day is over they go home to their own lives. On the other extreme are the ones to live, breath, eat, and sleep coding. When they aren’t working on at their day job they are building side projects, attending or giving lectures, or hosting development podcasts. Both extremes, and everyone in between...
Published 11/03/22
You can make a lot more money as a self-employed software developer. It can really help you build a better life, where you pick the kind of work you do, the kind of people you work with, and can even set the hours you want. While all of this is true (and is said endlessly to developers), there are some downsides to being self-employed. None of them are things that should make you completely avoid self-employment, but they are things that you need to consider if you are thinking about being...
Published 10/27/22
“Only when the tide goes out do you discover who has been swimming naked.” – Warren Buffet Downsizings happen. While most mentally healthy individuals don’t like firing people and upending their lives, sometimes it can’t be avoided. There can be many reasons for this. When times are good, people forget how bad things can get and during their optimistic planning, they assume the good times will continue. And even during good times, major disruptions to industry can obliterate thousands of...
Published 10/20/22
It’s very hard to build a large software project without having to undergo major refactorings every so often. Whether it is due to changes in your platform, changes to the market, team growth, regulatory changes, or just dealing with an ever-increasing amount of customers and their data, at some point your current approach will become insufficient. When that happens, you may be tempted to “just rewrite the application”. This is nearly universally a mistake however, pulling off a solid rewrite...
Published 10/13/22
At some point in your career you will have to initiate a difficult conversation. You may be a senior developer who has to address issues in the code with another developer or you may be in a lead or management position and have to address an issue between employees. Whatever the situation that prompts the conversation it’s not one that you look forward to having. These conversations are ones that must take place, though you don’t want to deal with it and wish it would just go away. While...
Published 10/06/22
Many developers are rightly nervous when dealing with databases. Not only is the database absolutely critical to proper functioning of the system, but its inner workings can often be very mysterious to people who aren’t constantly mucking around with it. And worse still, the database and the data within it are often the most valuable part of your application. Making things even more difficult, changes to the database can be difficult or impossible to roll back, especially if data was altered...
Published 09/29/22
People can be motivated externally through money, grades, even likes on social media. Extrinsic motivation is doing something because the reward comes from outside of yourself. Intrinsic motivation on the other hand is a behavior or performing a task because it is personally or internally rewarding. Extrinsic motivation is behaving in a certain way to receive a reward or avoid a punishment whereas intrinsic motivation is behaving a certain way for it’s own internal rewards. Self...
Published 09/22/22
Single page applications are becoming increasingly common and for good reasons. Not only are they often more responsive, but they offer a more seamless user experience by changing only part of the screen instead of the entire screen. In addition, they use the client machine to build the page, rather than server resources, can make better use of caching, and can be more responsive to mobile and occasionally connected environments. However, like all technologies, there are tradeoffs. While...
Published 09/15/22
“Success is a lousy teacher. It makes smart people think they can’t lose.” – Bill Gates Success is accomplishing your goal, it’s getting to the finish line first. Success is getting an app to production on time and under budget. Success is having a start up or building an app that brings in revenue. Success sets us up for failure. Failure is where we learn and grow. Failure is where we find out what doesn’t work, what needs to change, and what needs to be completely removed from our...
Published 09/08/22
Given enough time, every application ends up with two things, email functionality and dashboards. While we’ll probably talk about email in a later episode, dashboarding is something we all encounter from time to time. It has a lot of the irritating features of reporting (and sometimes, your reporting engine has dashboarding capabilities), along with at least some of the annoying bits from developing an application. Not only do you have to worry about multiple devices, potentially widely...
Published 09/01/22
While many developers are lucky to work on systems that don’t take online payment, nearly every application developer needs to deal with sensitive data at some level. While your application may not be as attractive to hostile parties, it is unlikely that there is nothing of value in your application. If you are stuck with dealing with online payments, you are probably already well aware that there are a LOT of stringent requirements when you are dealing with credit card data, no matter what...
Published 08/25/22