

Develpreneur: Become a Better Developer and Entrepreneur
Rob Broadhead
This podcast is for aspiring entrepreneurs and technologists as well as those that want to become a designer and implementors of great software solutions. That includes solving problems through technology. We look at the whole skill set that makes a great developer. This includes tech skills, business and entrepreneurial skills, and life-hacking, so you have the time to get the job done while still enjoying life.
Episodes
Mentioned books

Nov 20, 2020 • 22min
Implementing An Incremental Approach - Small Progress is Still Progress
We have often touched on the idea of an incremental approach as one that builds to great achievements. Let's look closer at how that works. There are many arguments against these concepts as "not enough." However, it is inarguable that small steps are forward progress, and they can build up habits. Those habits can build great achievements and even become lifetime habits that never fade. A Few Minutes A Day There are many skills that we can build in minutes a day. Vocabulary is an example we see in daily calendars. There is a flurry of something-a-day calendars that show up at the end of each year. Try one of them out, and you will see it does work. You can build your vocabulary a word at a time, learn history a fact a day, or other skills and knowledge. Schools typically use forty-five minutes to an hour each day to build skills but do not underestimate the value of shorter time investments. Use Reflection Time The end of the year often provides us a little "downtime" where we can think about what we want in the year ahead. This year, skip waiting until January first to consider your resolutions. Instead, start thinking about how to direct your life a few weeks sooner. You can start today with a little work towards a goal. Do a few pushups, walk for a few minutes, read an article that teaches you about a new skill. These little investments grow to impressive achievements just as saving a few pennies a day can add up. That is the value of an incremental approach. It has little risk, with a small investment per day. However, the return on those investments can be life-changing. Everything Is An Incremental Approach When you look back on your life, there is no skill we learn that was not built a step at a time. We talk a word at a time, learn math a rule at a time, and build muscles a workout at a time. Our challenge is to accept that even a little progress is still good. Yes, there are situations where the gain dissolves before we next test a skill. On the other hand, we do not know until we try. Take the risk of a few minutes a day towards your favorite goal and see how it helps. More Value From An Incremental Approach

Nov 18, 2020 • 21min
System Backups - Prepare for the Worst
Sometimes it is important to get back to the basics when we plan for success. One of the most basic tasks to address is the idea of system backups. Many modern organizations build this into their daily processes. However, we may not be able to take advantage of that for our personal work. Moreover, side hustles need to include some of these standard processes to avoid data loss. Side Hustle System Backups A full backup is the most direct approach to solving this problem. While we have more reliable systems today than in years past, there are still problems that can arrive. You do not want to be one spilled coffee away from losing your life's work. Therefore, we need to create a procedure that backs up our data regularly (weekly or more frequently) and stores it "off-site." The other site can be the "cloud," and many services make this easy. Synchronize Your Work It is not uncommon for us to have different machines that we use for work and home. We might even have multiple machines at home or work that we use regularly. One of the benefits of a good strategy for system backups is that we can synchronize across environments. When we do this, our turn around time after a system crash can be negligible. All we have to do is move to another machine or environment. When you combine this concept with virtual machines and related automation, you may be able to suffer a system crash without missing a beat. This benefit does not even require a full backup. You can take advantage of services like box or DropBox to quickly synchronize data across many machines. I personally have seen a substantial increase in productivity once I embraced these cloud services. Make The Most of Version Control

Nov 16, 2020 • 24min
Setting Work Boundaries And Separating Your Life
The holy grail of full-time work from our home has several challenges. One of the most impactful snares is a blurring of the lines between work and the rest of our life. Therefore, we need to consider how some work boundaries can be set and enforced. Slave labor is never a goal, and we need to be aware of whether we are being taken for granted. Quality Or Quantity There is always a trade-off in accomplishing a goal. We can do it fast, cheap, or of quality. You get two of the three. Thus, fast and cheap products will lack quality. High quality requires either more resources (time, money, etc.) or takes longer to complete. Our boss or manager is making that decision for us, whether they recognize it or not. We are part of that decision whether we recognize it or not. When we start our careers, there are limits to those three pillars. We are not going to be fast, and quality is more costly than later in our experience. Therefore, it is not uncommon for people to start their careers with many long hours poured into the job. There is nothing wrong with that. We are saying that investing time helps us get to the value and quality expected of our work. As we gain experience, our time should be reduced as our pay and quality are more on par with our typical work. Lack of Work Boundaries Can Lead To Free Labor One of the benefits of hourly work is you get paid for each hour. There are modifiers like overtime or holiday pay. Nevertheless, we are trading time for money. That means we know what our worth is. On the other hand, a salary can gloss over hourly worth and depreciate our value. When you are on salary and work eighty hours a week, there is no difference in your compensation when you work for only forty hours. That equates to essentially working for free when you exceed the expected workload. Likewise, when you got a flat rate for overtime work, there is less quality returned per hour and a greater cost to you. For example, a project requires eighty hours of work. It is easier to do that over a period of two or more weeks than one. You will also be more likely to produce a quality result when those hours span a longer time. When we blur work boundaries, the time spent per week can be hidden and cause someone to make ill-informed decisions. Nine Months For a Baby There is a bit of wisdom that says a baby takes nine months to be born no matter how many helpers you provide the mother. This example is relative to many projects and activities. We can not simply pour on effort or other resources and see a corresponding reduction of time to completion. We need to recognize when we can put more effort into a project with impact while distinguishing the times that an impact is not possible. It is part of our job or role to provide that wisdom. We have experience and wisdom to lean on that helps us properly plan out a path to success. That means it is our duty to push back when expectations are unrealistic and inform decision-makers when making a choice that will reduce product quality. Making Effective Use of Your Time

Nov 6, 2020 • 24min
Work Boundaries and Constraints For Greater Success
We are moving to more and more remote options for our job and career. However, we need to set work boundaries if we are going to enjoy long-term success. These constraints on our schedules will help us find a balance between work and other areas of life. Your family will thank you, and so will your general health. Physical Work Boundaries Our work environment is an essential ingredient in our success. There have been numerous studies on ergonomic environments and how they help us. Our physical comfort is important at home as well as in the office. Unfortunately, we often give up true comfort at home for ease and other reasons. For example, many of us will sit in bed or on a couch, trying to do some work on a laptop. This is not often a comfortable way to sit for hours. That can lead to all manner of physical pains and long-term issues. We need to think about being comfortable in a position for long stretches of time. Time Constraints It is easy to blur our workday into the entire day when there is no official start or stop time. Remote work makes it easy for us to start when we feel like it, take random breaks, and wrap up when we feel like it. There are tasks to be done. However, it is easy to stretch out our day, lose focus, and generally get less done. When we give ourselves designated start and stop times, then we have constraints on our day. We can focus on work during those work hours and then get away outside of that time. There is a benefit to firm work hours even when you are at a home office. Balancing It All The elephant in the room is notifications. We have far too many ways to be notified that someone has a question, text, or email for us. Those can be minor interruptions or derail a quiet evening. We need to silence our devices when we are outside of work hours. While there are some exceptions, most of us can perform our job requirements perfectly within normal work hours. There is no need to be available 24/7. Taking Advantage of A Rest Period

Nov 4, 2020 • 24min
Setting a Professional Development Pace For Success
We frequently look for ways to become better. One part of that approach is steady (daily) forward progress. However, this approach can be exhausting and even lead to burnout. Therefore, we need to be aware of our professional development pace and avoid allowing it to drag us down. Daily Pacing The Pomodoro technique is a well-known approach to setting a pace through our day. This creates periods of focused work and then rest. The specifics of the focus and rest periods vary from person to person. Some people do better with longer periods of focus, while others need more regular breaks. This timing of focus and rest shows in many educational situations, including conferences. We typically limit educational presentations (focused learning) to an hour. Grow To A Weekly Pattern The same work-rest scheduling pattern suggested by Pomodoro translates to days on and off as well. We rarely have a full day of focus. Nevertheless, we do have days that are filled to the brim. Many of us call these days a weekday. However, modern society seems to be spilling over that work to the weekends as well. We are not built for all work and no play, so the seven-day workweek is not sustainable. We also have to worry about handling times where we need to "turn it up." We can not squeeze more out of our days when we are running at 100%. Crank It Up To 11 The old cliche of giving 110% is not possible. We can only give all we have. However, we can turn up our effort when we have an aggressive pace that is not maxed out. We need to pace ourselves as marathon runners do. We may be able to do more or be more productive for a time, but that should not be the norm. There has to be a time where our body and mind can recover from being pushed to the limit. If you want a graphic example, then sprint for one hundred yards and then keep going. You will run out of energy. If you instead sprint, then walk for a while, you will recover and get more out of that second sprint. A professional development pace is no different. Give yourself some time to recover so you will be more effective in the next sprint. Taking Advantage of A Rest Period

Nov 2, 2020 • 20min
Hard Work Pays Off - You Get Out What You Put In
There is an old saw that hard work pays off. It may seem to be a truth that only holds in some cases. However, things tend to work out for us when we put in the time, effort and have some patience. A recent "pay-off" reminded me that overnight success is seldom overnight. The 10000 Hour Rule There is a book that talks about how it takes ten thousand hours to master something. That is a focus on developing a skill. On the other hand, we develop soft skills and recognition around areas we focus on. That is easily seen in areas like blogging, videos, and other content production. The more you research and talk about a topic, the more you become a perceived expert. I am not saying the expertise is not warranted, just that it is more likely to be observed by others. Visible Practice We are multi-tasking when we take some of our spare time and invest it in skills or a side hustle. These tasks include learning that comes from doing. Also, letting others know the area of focus through marketing or sharing content. Better yet, we tend to do things we enjoy, which makes it easier for us to share that content in a way that entertains others. Patience One of the most substantial challenges in becoming better every day is keeping up the effort when no visible change has occurred. This situation is similar to the guy that works out at a gym to become visibly muscular. The day-to-day change is almost impossible to discern. On the other hand, looking back over longer periods of time show substantial change. We often get too focused on the present and recent past while ignoring long-term benefits. When you avoid an attitude of "what has this work done for me lately?" you will be able to stay on track and enjoy the journey. When you take this path, you will find that hard work pays off in more ways than you thought. Pros and Cons of a Side Hustle

Oct 30, 2020 • 24min
Agile Principles Summary - Our Next Steps
In this final episode of the Agile Manifesto season, we look at the key takeaways we should have. These items have been a focus throughout the season. However, we can not ignore these critical aspects of "doing Agile right." This agile principles summary will give us some items to consider as we try to improve as developers. Satisfy The Customer The final judge for any product is the customer. You may try to provide the example of movies that have critics and reviews. Nevertheless, the bottom line is always the essential indicator as to whether a product is successful. We will not get our customers to use a product that does not properly solve a problem (or problems). We must at least satisfy the customer to achieve this goal. Therefore, it should always be our primary focus and the final arbiter of whether a decision is the best one. Agile Is Not Always The Best Fit We spent a lot of time reviewing how the Agile process is driven by the team and teamwork. When a team is insufficient for a task, this process will not save them. It might even make things worse. When a team has one "weak link," we can overcome that obstacle and strengthen it. On the other hand, multiple weak links make it too difficult to strengthen one without putting more burden on another. One ends up trying to stop a flood by fixing one leak when many other leaks are apparent. The Customer Is Always Right This maxim is first and foremost in the world of Agile. We implement solutions to satisfy them and use the team to do so. The customer does not care about the process. Thus, when you place constraints on the team or try to make them follow a process, you are missing our "why." Make decisions based on how it will benefit the customer. The only other excuse is an investment in getting better as the development process moves forward. Learn More About Scrum Challenge of The Week: What did you take away from this season? How will you use this agile principles summary to improve your team or self?

Oct 28, 2020 • 24min
More Agile Development Patterns - Swarm and More
We are nearing the end of the season on the Agile Manifesto and more. However, we have several agile development patterns left to consider before wrapping this up. The themes of teamwork, communication, and satisfying the customer continue to pop up as part of this series of patterns. Swarm Agile assumes that things will happen that require us to change our approach. These challenges may be new features that are critical, bugs, or highly underestimated tasks. We all have seen these sorts of obstacles that threaten to derail our best-laid plans. The swarm pattern is one way to handle such issues. We use this pattern to assign all resources to a single item or task with the goal of "knocking it out" and clearing the way for overall progress. We use this pattern when we see an obstacle causing continued damage or delay to our plans as long as it remains. Think of this as removing the highest pain-point first so other needs can be met. Test-Driven Development Testing has traditionally been done after the implementation. That is not a requirement. We can create tests that need to be passed as part of a successful implementation. Then the implementation is done with the tests as a goal. We see this in education when teachers "teach to the test" instead of a more comprehensive educational approach. In this case, we also can free up test resources to define tests throughout the sprint and avoid a flurry of testing at the end of the period. We can even set up tests via TDD to deploy features as they are implemented because the testing is already in place and run. Pivot, Co-Location, Time-Boxing, and Refinement The are several terms and concepts that can be seen as agile development patterns even though they are also traits identified. We see this in patterns such as pivot or time-boxing. These are methods for implementing Agile that can easily be overlooked as a pattern. They are not buzzwords and are instead well-defined methods for addressing agile principles. We want to communicate, set expectations, and get better as we advance through sprints. Learn More About Scrum Challenge of The Week: How well do you implement these patterns?

Oct 26, 2020 • 25min
Key Agile Patterns - Set Your Team Up For Success
We continue a review of key agile patterns with more ways to make sure it all goes right. Each pattern is possibly overstated. However, we need these to be a part of our process to get the benefits of an Agile approach. As always, when we veer away from these patterns, we increase our odds of failure. Product Ownership We have mentioned the product owner as a role in Scrum. We need this person to provide decisions. That may seem trite or simplistic. Nevertheless, an Agile project often requires someone to make a decision. That may be a user experience opinion or a key business direction built into the solution. Analysis paralysis is far too easy to fall into when so many decision points exist as they do in this process. Quality of Service We noted early on that the Agile Manifesto recommends regular and working software delivery. This principle gives us a method for feedback from the client and builds trust with them. That makes the quality of service one of the most essential of the key agile patterns. Trust is built with the customer when we make promises and deliver on them. Thus, we reduce stress and drama by stating what we will do and then following up. It reduces or eliminates discussions around estimations and planning as the team is trusted to give their best effort. The urge to "haggle" items into a release or squeeze estimates is reduced when our estimation skills are trusted. Relative Sizing We often talked about estimating tasks. This pattern focuses on our ability to estimate relative differences among tasks. For example, we need to categorize items as easy, hard, and in between. This skill impacts our overall estimates. When we improperly place a task in the wrong "bucket," it can completely tank our velocity. This result is just common sense. Correcting for a 5% mistake of estimation is far easier than 50%. That goes both ways. It may be nice to get a two-day task done in an hour. However, that can completely mess with our velocity. The tighter our estimates, the better, and that means placing tasks in the proper buckets. Servant Leadership This pattern boils down to working for the good of the team or project as opposed to ourselves. That is critical for agile teams that function on the highest levels. We work together to remove obstacles for others while ours are removed as well. It allows all of us to move forward quickly while also building morale and camaraderie. Learn More About Scrum Challenge of The Week: Which of these key agile patterns would benefit you most?

Oct 23, 2020 • 23min
Patterns For Agile - Templates for Success
In this episode, we continue a tour of patterns for Agile. We will see definitions we need to set as well as tools for success. A deeper review of this can be found on the DZone web site. However, this should give you a good start on a checklist of items to include. When you skip any of these, you reduce your odds of a successful Agile project. Increments We have talked about this before. However, it is important to call out as one of the patterns for Agile. We need to set the incremental schedule we will use for things like sprints and the related estimates. The team works better when they can plan based on set time frames. An example would be the length of a sprint. This process's key property is a set amount of time per sprint as opposed to trying to complete stories during varying lengths of time. Think about a sports match. The players will not be happy if you tell them the match will end based on some random factor instead of a set score or time limit. Information Radiator Communication is key throughout this process. The information radiator is our primary means of this communication. There must be a mechanism for providing the current project status to team members. This goal is often achieved through a Kanban board, whether physically in an office or digitally on a team site. The radiator provides information on the tasks, the assignments, and the current status. It should also be kept as up-to-date as possible. Inspect and Adapt The team will not improve if they cannot assess where they are and where they have been. This pattern is an essential step in improving over time. The team inspects what they have done and how they accomplished objectives. Next, they make changes and adapt their processes to get better the next time. This concept leads us to the next pattern. Iterate Iterating, in this context, is a science. The goal is to get closer to the desired objective with each iteration. It will often go hand-in-hand with the Inspect and Adapt pattern to make changes that get us closer to the desired results. When an iteration gets further from the goal, then we need to correct it the next time. This process is sort of like guessing a number via hi-low. You make the first guess to eliminate several possibilities. For example, to guess a number from one to twenty, you guess ten first and eliminate half the options. You then proceed to halve the options again and quickly get to the number. When we iterate smartly, we have a method similar to this. Limiting Works In Progress We want to complete a story with each sprint. There is also a desire to squeeze in as much work as possible. On a sprint level, we want to limit items that are in progress and pushed to the next sprint. Within a sprint, we want to complete the steps as soon as possible. Then, the next step can be taken. A common example is coding a task and marking it complete. Therefore, testing or code review can begin. Learn More About Scrum Challenge of The Week: Are you missing any of these patterns?