

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

May 10, 2019 • 23min
The Golden Hammer Anti-Pattern
The next anti-pattern we look at is the golden hammer. It is another situation that seems to come up often. Thus, it is one we need to keep an eye out for in order to avoid it. Defining the Golden Hammer Anti-Pattern This time we steal the definition from Investopedia to help highlight how pervasive this anti-pattern is. Note that software is not even implied in the definition. [Click Here to See The Page] "Golden hammer is excessive dependence on a specific tool to perform many different functions. In investing it is when a trader depends on one particular analysis tool or viewpoint to make all decisions. Golden hammers also happen in the business world when a company uses a single demographic or analytics to make strategic decisions. For example, give a corporation’s management team a hammer, and everything around them appears to be a nail." While the label Golden Hammer is colorful, I often see this referred to as Maslow's hammer as well. When you consider his specialty was psychology, this anti-pattern seems more global in application. Good Vs. Golden This pattern is considered a bad habit because of the application and not the tool. That is important to remember when correcting a situation where this anti-pattern exists. A hammer can be the best tool for several problems. However, there are also many where it is less useful or even destructive. The critical point to consider in examining this anti-pattern is whether a different tool is better for the job. There will be a cost to learning or acquiring that other tool. Nevertheless, it will be a worthwhile investment. We Always Did It That Way There are many red flags that a golden hammer exists but none more so than the quote "we have always done it that way." When you are not sure why a tool is used other than "just because" then you should stop and review using it. The cure for this ailment is, of course, expanding the tools at your disposal. That is why we focus on building better developers by pushing an expanding number of skills. When you have more options readily available, you are more likely to choose the best one.

May 8, 2019 • 23min
The Blob Anti-Pattern
We will kick off the new season with a look at the Blob anti-pattern. This is one that is common and easy to fall into. The tendency to kick design decisions down the road is often a slippery slope that leads to a Blob. Defining the Blob Anti-Pattern I like the definition of a Blob found on the SourceMaking site. [Click Here to See The Page] "The Blob is found in designs where one class monopolizes the processing, and other classes primarily encapsulate data. This AntiPattern is characterized by a class diagram composed of a single complex controller class surrounded by simple data classes. The key problem here is that the majority of the responsibilities are allocated to a single class." You might also call this the One Ring pattern. That would be from The Hobbit and the quote "one ring to rule them all." It may seem like a good thing to have most of your code in one class. However, do you think that is a proper object-oriented design? Growing Out-Of-Control The problem with a blog anti-pattern is that it grows as the application grows. The class that started as one of the larger ones in the system becomes all-consuming. At some point, the question of what is not a part of the Blob provides the answer "almost nothing." This is hard to maintain and navigate as lacking security. Therefore, a lot of the critical criteria for object-oriented design are not being met. A Technical "Junk Drawer" In the physical world, we have ideas of storage closets and junk drawers. In many cases, these containers are hard to navigate. You also think an object might be in there. However, you are afraid to look. A Blob class is almost identical. It is most likely that the method you are looking for is in the class. On the other hand, it is probably kludgey and not something you want to touch. This catch-all approach to methods often leads to duplicate code and fragile implementations. It also feeds itself. Thus, every new feature becomes easier to create from scratch in the class. Compare that to tying together method calls across objects as normal OOP provides.

May 6, 2019 • 17min
A General Anti-Pattern Definition - New Season Kick-off
It is time to kick off a new season. Thus, we will set the tone by providing a general anti-pattern definition. Spoiler alert, this season will focus on anti-patterns much like we did software patterns of design a few seasons back. We will drift away from software design and implementation at times due to the more general applicability of anti-patterns. Finding An Anti-Pattern Definition There are a number of functional definitions out there. However, we will go to the source of truth on the Internet, Wikipedia. [Click Here to See The Page] "An anti-pattern is a common response to a recurring problem that is usually ineffective and risks being highly counterproductive. The term, coined in 1995 by Andrew Koenig,[3] was inspired by a book, Design Patterns, which highlights a number of design patterns in software development that its authors considered to be highly reliable and effective. The term was popularized three years later by the book AntiPatterns, which extended its use beyond the field of software design to refer informally to any commonly reinvented but bad solution to a problem. Examples include analysis paralysis, cargo cult programming, death march, groupthink and vendor lock-in." We can see from the above that the modern version of anti-patterns is still young. It spun off of the gang of four book that gave us patterns. However, anti-patterns have been with us since man made his first mistake. The simplest definition is that these tell us what to avoid. Laugh or Cry You might find bits of humor mixed in with the topics we cover. This is intentional. We will be looking at examples that fall under the category of those that you can either laugh or cry at them. You are more likely to laugh at those you have witnessed. On the other hand, you should grab a tissue for those you have lived through. Nevertheless, there are concrete examples for each of the warnings we address. Language Specification We found that software patterns often were supported in every modern language. These anti-patterns go beyond languages and even software in many cases. Thus, we will not even bother going down to a technical level except in those cases where specific examples help our understanding.

May 3, 2019 • 30min
Success vs. Successful
Some recent pondering has me considering the whole idea of being successful. I think we can find success and happiness without worrying about being successful. To the contrary, a focus on success alone is more likely to lead us to short-term goals and fulfillment over the long run. Success Is Tactical The beautiful thing about determining success is that it is well-defined. We either achieve a goal (and thus success), or we do not. This is often a black or white situation. I either complete my tasks to find success, or I do not. The length of time required to find success varies, but it is often a single cycle or short period. For example, a team can win a championship in a season to find success, or you can find it in your current project. These short bursts (for success) are easy to manage and evaluate. The black or white nature makes it this way. Therefore, you either push and find success or you do not. That allows you to regroup after the attempt to recharge and plan for your next success. This is true even for things like a marathon. You run the race and then can recover. This not only allows you to maintain a higher level of productivity, but it also gives you time to enjoy your successes. Those periodic highs from that enjoyment along with the shorter time spent dwelling on failure allow us to maintain an even keel. Being Succesful Is Strategic The problem with being successful is that it is not well defined. There are no real parameters you can use to measure achieving this lofty goal. That means you can experience success a hundred times without being successful. On the other hand, you can find success once and decide to be successful. That is also known as quitting while you are ahead. While we often try to compare ourselves to the idea of being successful, that is a fool's errand. It is meaningless in the grand scheme of things. Therefore, focus on success and ignore the concept of being successful. The Right Answer Let's think about that all so western goal of being successful. When you reflect on your life or asked whether you consider yourself to have achieved that goal, there is only one answer. That answer is affirmative. Decide that you have gained enough success to stop worrying about it on a macro level. Our friends in the twelve-step programs have it right. While it can be fun to celebrate a long string of successes, keep your focus on a day at a time. In the end, that will lead you to a higher chance of achieving your goals no matter what their nature is.

May 1, 2019 • 26min
Creating a Podcast - Not Just a Lot of Talking
There are a vast number of tutorials for creating a podcast. These cover the technical issues and often include some suggestions to help you be successful. In this episode, I explore your attitude, desires, and whether a podcast makes sense for you. It often needs to be a labor of love. Thus, we start by examing that. Creating A Podcast Topic It is probably stating the obvious when I say a podcast starts with a topic. However, that does not always seem to be the case. A general concept or theme exists, but you will often see podcasts wander and even flounder in the early episodes. While it is usually recommended to launch a podcast with three to five episodes ready to go, you are not likely to find your rhythm until you have a dozen or more complete. That does not mean you will have it mastered that soon, just that you will have a solid idea of the podcast topic. When considering topics for creating a podcast, there are a few things to keep in mind. It must be a topic you enjoy talking about and researching. Is this a topic that is evergreen or will it be quickly dated material? Is the topic too broad to keep a listener's attention from episode to episode? Does the idea of seasons make sense? Who is your audience? These suggestions will seem familiar. That is due to these sort of questions being critical to answer for starting almost any enterprise. You will see a variation of these questions in any book on starting a business, podcast, or blog. I include them here not because it is redundant information but because it is essential to your success. More Than Talking and Recording A podcast may seem simple and easy. The best podcasters out there make it look that way just as an expert makes hard tasks seem effortless. However, there is more to cranking out episodes than setting up an interview or riffing on a topic. Interviews are popular with podcasts for a variety of reasons. You are not required to come up with material for each episode The interviewee brings a community and followers to be introduced to your podcast It is a way to keep each episode fresh (more voices than yours) I prefer to avoid interviews due to scheduling challenges but otherwise, they are less intellectually demanding and I find them fun. Every interview has taught me about the person I talk with and insights into new ways to view a situation. Whatever option you choose (both is an option), there will be editing and review required before you post the podcast. The amount of effort involved in the edit and review process varies broadly and often gets better as time goes by. You will learn to speak clearly and more in line with your editing process while mastering the tools involved. The Cost of Time The best question to answer before launching a podcast is "what am I giving up for this?" There will be the time required to prepare each episode, record it, and post-production. While the amount of time can vary, it still requires you to not do something else. The cost may be your "free time," or it may impact your job, friends, and family. Understand the cost before you start and ensure you are comfortable with it. Personally, it often costs me some of my professional billable time and has reduced my ability to spend time doing fun things like playing on the PS4 or pursuing other hobbies. The Voice A benefit of podcasting is that you will get better at speaking and presenting ideas. The time spent is an investment in yourself. Your "radio announcer" voice may improve, or you will find listening to yourself less painful. In any case, do not let your voice be the thing that stops you from podcasting. There are all sorts of voices out there, and it is rare that the voice breaks a show with excellent content. While a superb voice can gain you a following while you read from the phone book, the topics you cover are a better recipe for success. The best thing about creating a podcast is that you can invest several hours and see if you like it. I recommend everyone go through the exercise of starting one. You never know, it may be the key to a lifelong hobby or even unbridled success.

Apr 29, 2019 • 27min
Writing A Book - What You Should Know Before You Begin
One of the popular suggestions for passive income is writing a book. There are some pros to doing so. However, it is not a project to be undertaken lightly. Whether you are aiming for a fiction or non-fiction work, there is a lot of effort beyond putting words on paper. Here are some things that will help you decide whether this is something you genuinely want to do. Writing a Book Includes a Lot of Writing It will come as no surprise to you that a book requires a lot of writing. In my experience, this goes beyond what most of us experience. I have blogged for years, written white papers, produced a vast array of term and research papers, and produced countless e-mails. While this helped me practice for undertaking a book, there was still more writing than I expected. Therefore, you need to be open to writing before launching into a book. I suggest you start with a regular task of writing. It is best to do this very day. Start with fifteen or thirty minutes each day to work on your eventual book. If that is comfortable and enjoyable after a few weeks, then kick up the commitment. Now I say all of this to those that are not dead set on writing a book. There are stories of people spending a weekend or several days locked in a room somewhere to knock out a book. The goal was to get the painful part of writing completed in as short a period as possible. While this is a possible approach, I recommend you avoid it. How often do you equate fast with high-quality? Oh The Technicalities You Will Experience I admit I was not a fan of grammar when I was in school. Language arts was never a class that was fun or easy for me. I could spell and enjoyed reading, so my vocabulary was excellent. However, the challenge of adequately organizing words and proper punctuation tended to be more than I wanted to invest. That being said, there is no way to write a book without diving into these things. There are different ways to approach grammar and punctuation that provide consistency to written work. A writer needs to have at least a passing knowledge of these and which one they prefer. A writer does not need to be a grammar geek, but they also cannot ignore it. What Is Your Goal? There are a couple of ways to make money with a book if that is your goal. Sales are rarely one of them. There are people that write professionally, prolifically, and make a living from book sales and tours. They are rare and highly skilled. The rest of us are more likely to make money by using a book as an introduction to products or services that provide us a suitable income. As always, the best reason "why" for your book is the pure enjoyment of it. If that is not you then make sure you have a good business plan to make this effort worthwhile. It is easier to become a number one bestseller on Amazon (with the appropriate qualifications) than to make a suitable income from that writing. Writing a book is a sizeable endeavor. Do not take it lightly as you might find yourself wondering where the year went.

Apr 26, 2019 • 24min
Habits, Roadmaps, and the Value of Career Momentum
When we think of our professional lives, the result is a marathon, not a sprint. Thus, there is a need to develop a form of career momentum that can get us through those long years. There are a variety of ways to accomplish this goal. That means we can look at several approaches to keeping our career on a forward path even in light of all that life throws at us. Career Momentum Is Key I have found that momentum is the most significant contributor to keeping my career on track. This has been the case even when things appear to go off the rails. There have been periods where all of my goals came to a complete stop. Nevertheless, once life got out of the way, the momentum reappeared as old habits kicked into gear. Our tasks are easier to make progress with once they have started. That momentum can give us the energy to move ahead rather than see things stall out at every little setback. In a similar sense, we can build professional development habits to help us stay on track. This can come from as little as fifteen minutes a day or an hour a week. These habits are also easy to work into our daily lives. Instead of playing a little candy crush in the grocery line, listen to a podcast or read a blog post. These small tweaks to your life create big pay-offs. Reward Yourself The old carrot and stick approach works for our personal development as well. Set goals and then give yourself a reward for completing them. A prize may be a night at the movies, a special dessert, or more substantial things like a car, vacation, or home. The rewards of positive momentum can be sizable when you consider the value of a higher salary and monetary bonuses. Why not spend some of those earnings on yourself? Ignore Bad Days We all have bad days, weeks, and months. Sometimes everything clicks, and we see success after success. However, those days and periods where we get the sense of running in quicksand pop up as well. The key to consistent career momentum is returning to our work on goals when we get a chance. That does mean we need to keep those goals in mind. Write down what you are working on and track progress. These simple organizational habits are time savers when we do have good days and time to work on our long-term objectives. Career momentum will ebb and flow. Sometimes it will carry you forward at an incredible speed, and other times it will be an overwhelming headwind. Try to stay on an even keel through these times and keep focusing on one step at a time. This simple habit will lead you to times where you can look back and see that you have come a long way. Learn more in the book written for Develpreneurs at any stage in their progress: https://www.amazon.com/Source-Code-Happiness-Finding-Success-ebook/dp/B07MKZBF6R

Apr 24, 2019 • 23min
Adding Soft Skills To Advance Your Career
It is probably not going to shock you to find that soft skills are an essential piece of success in your career. Technical skills are your primary asset. However, soft skills will help you apply those technical ones is the most effective way. It also seems that the technical side becomes less a factor in advancing as you move into the advanced stages of a career. Oh No, Sales Skills The natural introversion of many technical professionals goes against the classic idea of sales. We tend to equate good sales skills with a big and extroverted personality. That is not the case. The best salespeople build relationships. That is not an area relegated to the extroverts. On the contrary, I have found that introverts are more biased towards deep or focused relationships with others. It is a quality over quantity situation. That leads to stronger relationships and a higher likelihood of a sale. Think about it. Are you more likely to close a deal with your best friend, or someone you occasionally meet for drinks? Stick To What You Know Soft skills are often maligned are having a lot of hyperbole. We think of the sales or marketing guru that is a little bit slimy or the pointy-haired boss of a manager from Dilbert. That is an unfair way to view these skills. While hyperbole and over-the-top aspects of soft skills are useful at times, the best applications are the ones that are closest to reality. For example, someone may be able to sell ice cubes to Eskimoes, but that is not required to be considered as having sales skills. A better case to consider is selling a glass of water to someone dying of thirst. We have a unique perspective to bring to many situations that can help us in utilizing and developing our soft skills. We do not have to "fake it till we make it." Instead, we often have a genuine zeal for our technologies and solutions that translate into being a better salesperson, manager, and communicator. Lead By Example Leadership and managing people has many nuances. Thus, we have volumes of content that tell us how to be better in these areas. Nevertheless, it is beneficial to be authentic. This is where technicians can shine. The best among us are detail-oriented and have an impressive work ethic. While that does not make us better managers on their own, they do make others want to be us the benefit of the doubt. We just need to add a bit of trust and delegation to our typical approach to work to start down the manager path. Our technical skills need to be addressed and advanced to keep up with advances. That can consume a vast amount of time. However, we are doing our career a disservice if we forget about the soft skills. Learn more in the book written for Develpreneurs at any stage in their progress: https://www.amazon.com/Source-Code-Happiness-Finding-Success-ebook/dp/B07MKZBF6R

Apr 22, 2019 • 23min
Advancing Your Career Through New Challenges
As you move through the years, you might find that advancing your career becomes a more significant challenge. There was so much to learn when you started. However, you now have a lot of knowledge under your belt. Never fear, there is still a world full of opportunities for you to advance to that next level. Expand Your Reach No one learns without stepping out of what they know. If you find yourself overly comfortable in your current position, it is time to move. That does not mean you have to move to another country or even change jobs. It does say you should look for new areas to explore. That includes new forms of interacting with your peers. There are ways to grow by looking for solving problems on a larger scale or address the same kind of issues in a new vertical. For example, you can take your CRM skills to building a solution for a fortune 100 company, or you can move from CRM in the medical world over to the land of warehousing. These sort of moves are ideally suited to someone with a substantial amount of experience. The work required is not the same as someone new to the topic, and it provides you a way to apply lessons learned "out of the box" in a new area. Your odds of success are likely higher than you think and you will bring a lot of value to the team. Prove Something The most fun way to grow your career is solving problems no one else has. These sort of opportunities are going to become available more often as your career progresses. The natural breadth of knowledge and personal networks give you a way to learn about these opportunities and take advantage of them. Giving Back Through Presentations We have talked about this before. However, it is essential to reiterate the value you receive from creating and presenting a presentation. There are several soft skills involved with these tasks, and it provides an avenue towards becoming an expert. Let's face it, presenting on a topic automatically gives one some gravitas on that subject. You can teach old dogs new tricks. Therefore, advancing your career is a choice to make over and over, not just one you make for a few years and then coast to the end. Learn more in the book written for Develpreneurs at any stage in their progress: https://www.amazon.com/Source-Code-Happiness-Finding-Success-ebook/dp/B07MKZBF6R

Apr 19, 2019 • 23min
Giving Back As A Mentor, Coach, and Lead
We have looked this week at how to get the most out of mentors and teammates. However, we also should think about giving back. There will be opportunities to teach, lead, and even mentor others. I have found these situations are as much a blessing to us as they are the recipients. Therefore, we should embrace these sort of opportunities where we can. Learn By Teaching The first point to consider is how teaching someone is a way to learn. In the simplest form, we ask someone to say back to us what we just said. This is a test of whether they learned what we desired. If they can repeat it back to us, then they learned it at least enough to repeat it properly. Teaching is a further progression of this sort of regurgitation. Instead of repeating the idea verbatim, teaching is repeating a concept in our own words. There are even examples and teaching tools that we use to help us make our point or share the concept. That means we have to spend more time learning a topic in order to teach it. If nothing else, repetition is an excellent teacher. The more you repeat the content you are teaching, the more you will be able to recall it. Even better, when we are asked questions about a subject then we are pushed to solve a problem by thinking on our feet. Of course, we may have the answer memorized. On the other hand, how often have you heard a question asked that was completely new to the teacher? Stay Current There is so much new technology content out there that we can stay busy all day keeping up. Instead of attempting that impossible feat, make it a point to read a few articles a week. The odds that it is new to those around you is pretty high due to the sheer amount of sources available. That means you will have a few "nuggets" of information you can share with others as a method of giving back. These will be helpful to those you share with and also will keep you advancing your knowledge every week. That is a win-win in any book. Giving Back Through Presentations One of the best ways to give back while honing your skills is to present to your team. This can be a brown-bag session, a deliverable from a research task, or even a proof-of-concept. These presentations are effective ways to educate those around you while also improving your related skills. While this may be an uncomfortable approach to take it is one that can improve your resume and your ability to sell ideas. That means the value you receive will likely be more than anyone in the audience. Learn more in the book written for Develpreneurs at any stage in their progress: https://www.amazon.com/Source-Code-Happiness-Finding-Success-ebook/dp/B07MKZBF6R