

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

Mar 14, 2018 • 26min
Build Or Buy - Deciding What Is Right For You
In a simple way of looking at solutions, the decision comes down to build or buy. We run into this a lot in planning and running a business. Time after time we are faced with the decision of either doing something ourselves or finding someone else to handle it. Yes, even the decision to outsource boils down to a build or buy conundrum. Build Or Buy - Common Themes Although very situation requires reflection, there are similarities in these options that can help us with our decision. Thus, we can look at pros and cons of each approach that are nearly universal. This may not get us to an easy answer. However, it can get us to a decision sooner when we have to make one. The bulk of this episode looks at some common pros and cons to each approach. These may seem obvious, but it is often easy to forget about some of these features and challenges when we are focused on a new or difficult situation. Doing It Right Nothing in business is a simple decision. Once we have chosen our path we need to implement it. Each of these options have some best practices that can help us improve the likelihood of success whether we do it ourselves, hire a vendor, or buy something off a shelf.

Mar 12, 2018 • 28min
Code Generation Or Manual Coding as a Learning Tool
It is hard to imagine how different software development was even a few decades ago. We used to have to write our applications manually. Heck, even copy and paste was complicated. Luckily, code generation is becoming common no matter which language you use. This may be in the form of direct generation of code or tools that make the process easier. However, that is not always the best way to get the job done. Frameworks and Generators The biggest bang for your buck comes from generators and frameworks. These tools can get your application up and running in minutes. Even when that is not the case, the time saved by using these tools can add up to weeks and even months. There is a cost in using these as you need to embrace their methodology. However, the value you get out of it can often make that trade worthwhile. Snippets and Less Invasive Helpers For those of us that do not like to embrace the methods of others, we have other options. There are code snippets (ours and from others) and other ways to find solutions to smaller problems than a framework or generator handles. The good news is that these also require less buy-in to the creators' methodology. These options allow you to "dip a toe in" for code written by others. A Learning Tool This episode also looks into how these "cheat" tools can be a way to help you learn. These tools are built to do things the "right way" and often include some best practices as well. Do not underestimate the value of such things when you are ramping up to a new platform or environment.

Mar 9, 2018 • 28min
Stay True To Yourself For A Happy Life
The good and bad news about being truly happy is that it comes down to individual taste. We are only going to be truly happy when we are doing the things we enjoy. That means that focusing your success on what others want will not bring happiness. You must be true to yourself, and a little honesty does not hurt either. Know Yourself The scary thing is that we do not always know what is best for us. We listen to others and gauge our happiness on what we are told should lead to happiness. This happiness may be money, success, friends, relationships, or a good haircut. That leads to frustration and wasted effort. We end up chasing someone else's dreams instead of our own. A critical point in this episode is that the means can be as necessary as the end. We can reach our goal and still be unhappy if we do not feel right about how we got there. For example, we can win a championship, but if we cheat to do so, our conscience might prevent us from enjoying the victory. Review and Assess Your Goals The problem is not just other people. We might change our tastes over time and might get stuck in a rut that was once enjoyable. It pays to periodically review what we like and dislike about our job, our roles, and our friends. We are stuck with our relatives, so I can only hope you like yours. Take a close look at what you enjoy in these activities. You might find that a task you thought you liked is not very enjoyable. Maybe there is a piece of it that truly brings you joy. A building contractor may think they love building structures, but maybe their true love is building walls. If you are feeling less than joyful, maybe it is time to simplify or refocus.

Mar 7, 2018 • 27min
Raises and Compensation For Your Employees
When you start a business, the idea of proper compensation of employees is not often a primary concern. There may be a budget and a business plan. However, compensation is just a number at that point. The challenge changes once you put people into those positions and the discussions of compensation come up. Fair And Balanced Compensation Fair and balanced is not just a phrase for Fox News. This also should be your goal for compensating employees. It would be awesome if we could just pour money on our employees, but that is just not reality. Instead, we have to balance to value brought to the company with a desire to compensate our employees in a way that makes them feel valued. Of course, we could talk for hours about non-monetary compensation. That is an excellent way to handle a situation where finances are tight. However, money talks. We look at ways to increase the impact of a bonus or a raise. Timing is Everything Timing is a critical factor in how a raise or bonus is received. In fact, when combined with expectations and communication I think you have the three most important factors in determining the impact of these actions. A bonus that is handsome, but well under expectations can go so far as to lead people to quit. On the other hand, a "surprise" bonus can be a large morale booster. However, the "wow" factor is not all to consider. The message you send about work ethic, rewards, and expectations all need to be part of the mix.

Mar 5, 2018 • 28min
Building Your Personal Code Repository
Of the countless tips and tricks I have learned over the years, none is more valuable than a personal code repository. We put so much time and effort into our source code it only makes sense to reap the benefits as long as possible. That is made possible by keeping track of what we have done and how to grab it for future use. Personal Code Repository Challenges One of the most significant challenges for a personal repository is maintaining access to your code. When a project wraps up, or a job is left, the source often ends up behind walls. Those are walls we might be able to overcome with a request, but that takes time. We do not want to wait very long to grab past snippets. Instead, we want them at our fingertips. To achieve this, we need to have that code readily available. Fortunately, this is becoming easier to accomplish with the wide availability of USB drives and cloud services. Improve Quality and Productivity Code reuse has been a favorite goal for decades. A personal code repository is not the cleanest way to achieve this goal. We are not looking at extending code as much as copy and pasting it. However, we can reuse our past code through this method and improve its quality with each use. Every cycle that includes that code will consist of at least some testing and clean-up. We may even gain time to enhance comments and documentation as well. These incremental changes will prove to provide a reliable and quick solution for future projects. Thus, we deliver better code faster. What further arguments are needed to start implementing this today?

Mar 2, 2018 • 26min
Keeping Things Light In a Hectic World
We spend a lot of time talking about how to squeeze every drop out of each day. That includes ways to stay driven and avoid distractions. Although all of this is important, we also need to focus on keeping things light where possible. We have too much that is unquestionably serious to not take advantage when things can be casual. Keeping Things Light Requires Perspective The hardest part of keeping things light is avoiding the crushing weight of our goals and responsibilities. Let's face it, we pile a lot on our backs and then feel bad when we struggle under the load. The simple answer is to stop putting so much pressure on ourselves. However, that is not very realistic. Instead, focus on the positives more than negatives. Do not dwell so much on what is still to be done without mixing in what has been accomplished. You still need to look forward but use a look back on how far you have journeyed to buoy your confidence in future success. This perspective is why athletes that are in a championship match for the second or third time are often calm and collected. They have been there before. It is not new to them. In the same way, look at where you have been to build a positive view of what is ahead. Time Heals The saying that time heals all wounds is a vital part of keeping things light. We can spend a little time to put distance between us and losses that will reduce the sting. We have to process our mistakes, but dwelling on them is not the solution. Instead, look for ways to avoid repeating those mistakes. I do not think many entrepreneurs dwell on the past; it is not in their nature. However, sometimes we need to be reminded of what has worked for us in the past.

Feb 28, 2018 • 22min
Passive Networking and Building Trust
The type of networking where you shake hands and pass out business cards has its purpose. However, passive networking is a far more valuable tool for building your brand. This is where you build your network by offering help and support to others with no strings attached. Let's look closer at how this can work for you and how to avoid being taken advantage of. Passive Networking Is A Relationship The "friends" and "links" that you have on a social networking site are often a form of traditional networking. You have contact information or at least a way to contact someone; you also may have a few details about that person. However, there is no real relationship, and you might even have "friends" on these sites that you have never interacted with outside of accepting an invite. When we talk about passive networking, we are on the opposite end of the relationship spectrum. This is our path to building a network of people that we know and like instead of a list of names. Lead With How You Can Help As we will discuss, passive networking starts with an offer to assist someone else. In a traditional "direct" networking environment this is where you dig deeper than taking a card and listening to an elevator speech. The kind of questions to ask are along the lines of "what sort of problems do you face?" Get to know people on a deeper level. This is how you will become more than a name on a card no matter how fancy that card may look.

Feb 26, 2018 • 26min
A General Approach To Testing Strategies For Developers
Testing strategies for developers are often seen as lacking import. To be honest, developers are in their role to write code, not provide quality assurance. However, that does not excuse the implementers from being part of testing and sharing that work. Simple Testing Strategies For Developers The strength of developers is creating solutions, not testing them. That is not a knock on developers, we all tend to be weak at verifying our work. Thus, effective QA work by developers requires a methodical approach that overcomes any biases we have towards our solution. The methods that work tend to be easy to understand, implement, and repeat for any environment. In this episode. we look at a common sense approach that will help the coders on the team be more helpful in the QA phases of a life cycle. Useful Unit Tests Unit testing is a challenge to implement, but it is becoming less of one. Automation and simple to use tools like JUnit make it easier for developers to test as they write or even use tests to drive implementation. However, the approach to testing is often the simplest path (happy path). Thus, the areas of an application that need the most testing are not in scope. As a developer, it is important for your productivity to catch errors early in the implementation phase. Better yet, catch them before they get released to others. The time spent on developing meaningful tests is not a waste for a developer. This practice will help you dig deeper into the expected effects of code as well as the potential errors and exceptions. So, even though we may not enjoy writing tests, doing so makes us better developers.

Feb 23, 2018 • 26min
Stop and Smell The Roses
Life is a busy thing for those of us in IT and pursuing entrepreneurial goals. Nevertheless, we still need to find some time to "live" life while still pursuing those areas. The act of stopping to smell the roses is not only important to our quality of life, it is also a way to be more productive in the long run. Smell The Roses Equals Fun Although the original intent of this phrase was likely more about the finer things in life, in our case I think we need to know what is "fun." Getting through a Mario Brothers level may be a fun pursuit for you or painting a portrait or something else. The goal we discuss in this episode is to do that thing or things that you call fun. Better yet, spend some time exploring what life has to show you and try out some new things. Spread Your Wings I have found that some of the greatest fun in life comes from those things that you discover later rather than sooner. I think it is the idea that you "missed out" on that joy earlier on in your life combined with the newness of those things you discover. Thus, while you want to make sure you get in some fun along the way, you should also keep an eye out for new pastimes. Make it a part of your goals and schedule to try something new with the goal of adding to your list of things that are enjoyable.

Feb 21, 2018 • 27min
When to Give In When To Hold Your Ground
There comes a time where you have a difference of opinion from your customer. This may be due to personal taste, or it may be a misunderstanding. There are even cases where a customer insists on a path that goes against your experience, morals, ethics, or is otherwise non-negotiable. There is not one answer for all of these situations so let's look at reasons why you should hold your ground. You Are The Expert, But They Sign The Check I think the toughest of these situations is when you are a paid consultant or expert. The customer has come to you for expert advice. However, they decide to ignore that information. When this occurs, do not take it personally and remember that you are an advisor, not a decider. The customer may not always be right in a technical sense, but that does not mean they are prohibited from being incorrect. In fact, a consultant that cannot accept customers going against recommendations at times will not be successful. Your role is to advise not to be all-knowing. Time, Effort, and Compensation When the disagreement moves away from advice and into how you do your job, then things change. This is a common challenge of IT projects. Customers want the best deal and sometimes will push to get a fixed bid or low rate based on their estimation of scope. When your experience tells you their estimates are wrong, it can be a tough call to make. Do you pass on a project that may not pay what you want or do you lock in some work? In my experience, this is where it is best to hold your ground. You always want to be flexible but giving in too much can be a lose-lose situation. They get less than they wanted while you feel taken advantage of.