Develpreneur: Become a Better Developer and Entrepreneur

Rob Broadhead
undefined
Jun 19, 2020 • 20min

A Positive Look At Scope Creep

When you look at statistics on software development, the success rate is disappointing. Many factors contribute to this negative trend. However, scope creep is a stealthy form of derailing even the best-planned projects. Nevertheless, there is a bright side to this common obstacle. We can find a silver lining for even this black storm cloud. Filling a Release Scope creep can be managed in a way that makes it desirable. There are opportunities during most projects to slip in a little work here or a tweak there. These small changes can be accomplished without impacting deadlines and the big picture goals of a project. When you have these items, they are the best use of scope creep. You might even plan for it. We see this situation most often in Agile sprints. The team puts several tickets into a sprint and includes some that are "nice to have." These tickets are the ones that are only tackled if the other items get done ahead of schedule. Think of it as a form of buffer. Instead of adding empty time to a plan or estimate, "throw-away" tasks are included that can provide an easy way to adjust the project scope. Scope Creep Allows For Change Most, if not all, of the projects I have worked on included discussions where we saw new features, uses, or needs for the solution as we worked through the creation process. There is just too much that can be missed when you look at a solution on paper. Hands-on experience can lead us to find new needs for even an MVP or almost beg us to make some UX related improvements. If we refuse to allow for scope creep, then we effectively block ourselves from learning as we go. An Agile approach will usually make this a non-issue. However, a waterfall methodology can force scope creep items into a new version. Instant Feedback Whether we implement items requested as scope creep or not, this shows that we received feedback. If no one uses or cares about our project, then we will never see scope creep. When users care and use our application heavily during the development phase, then new feature requests should be expected. It may be a headache. Nevertheless, this is a headache you should be happy to have. Episode Challenge: What did you learn from your recent experience with a creeping scope? Read more about advancing your career.
undefined
Jun 17, 2020 • 20min

Positive Customer Experience - Finding a Win

Our paychecks primarily come from customers, directly or indirectly. That may point to there being no negatives in dealing with them. Nevertheless, supporting users can be a struggle. Developers and engineers do not typically enjoy support and interaction with them. That does not keep us from finding a positive customer experience in the work we are asked to do. Setting The Stage I have often pointed out that those "pesky customers" slow down our development progress. It is not uncommon to be in a situation where the new features or improved performance we are chasing would be available sooner if we could "pause" our customers for a while. Even maintenance windows would be more convenient if our customers did not use the product so much. These statements have a healthy amount of sarcasm. However, working with customers can be a challenge. Stepping Into A Gold Mine Engineers are not known for their love of customer interactions. However, those interactions are some of the most valuable things we can do for our products or company. A "cold call" is the most challenging sales situation. When we have any interaction with a customer, we not only do not have that situation, we can build a relationship to make the next sales call warm or even hot. People buy from those they trust, know, and like. When we help customers and get them to like our company and us, they are more likely to spend more money. This is a situation that is almost literally worth its weight in gold. A New Set Of Eyes Customer interactions are frustrating because they use our products in ways we never considered. However, this is a positive customer experience that can lead to new features and even new products. They provide us another set of eyes for our solution and direct feedback about what we have created. Look at the focus on customer reviews in recent years. While our interactions are not going to be public, they do still provide a wealth of data and information. Did We Solve The Problem? We build products to solve problems. Sometimes we miss the mark. The good and bad news is that these situations let us know how we did. That makes any interaction a positive customer experience. We can learn from our mistakes, find new problems to solve, and sometimes we even get a pat on the back. Episode Challenge: How did your last interaction go? Was it a positive customer experience? Read more about advancing your career.
undefined
Jun 15, 2020 • 22min

The Upside of Challenging Problems

We all face obstacles and challenges in our daily work. However, the IT world is full of extra challenging problems. These are the tasks that we struggle against for days or weeks instead of minutes or hours. We can see a project go off the rails due to one of these obstacles, and they can challenge our sanity. They are never fun to experience. Nevertheless, some positives come from these "dark days." What Does Not Kill Us Makes Us Stronger The most significant positive to come from these challenging problems is the thrill of success. When we get past these types of issues, it shows us we can what we thought was impossible. Our career does not end with that difficult problem, and we gain more confidence in being able to handle anything thrown our way. This situation is not different from success breeding success. The more we overcome incredible odds or challenging problems, the more confidence we have the next time it occurs. A New Approach The challenging problems we face that hinder us are, by definition, outside of our comfort zone. We develop patterns of problem-solving as we move through our careers. That is why experienced developers tend to be more productive than the inexperienced. They have established methods for solving a broad range of common problems. Unfortunately, we can become set in our ways and be slow to try new approaches. This mindset can make the new challenging problems harder to solve if we have not seen one recently. When we are forced to solve a problem from scratch rather than applying a pattern, it enhances our problem-solving skills. It is similar to the difference between knowing how to multiply numbers and doing so from memory. Thus, the more we solve problems from scratch, the better we get at doing so with future obstacles. Deeper Understanding Of The Challenging Problems The time we spend on these extra difficult obstacles equates to us knowing them better. We will often see how the problem is defined, and the solution works down to every detail. This knowledge can open the door to many other solutions or even provide us with a new product or feature. Episode Challenge: What did you learn from your last challenging problem? Read more about advancing your career.
undefined
Jun 12, 2020 • 22min

The Upside of Recruiters

Timing is everything. There are moments where it is easy to list the upside of recruiters. On the other hand, there are times when we have less nice things to say. For example, that call that interrupts our "coding groove" can make any call unpleasant. It is only made worse when we find the person on the other end has a random job to tell us about. A View Into The World I have come across developers that see no positives in working with headhunters. However, a significant upside of recruiters is that they do the work we prefer to avoid. They fill a role like tax accountants. There are just some areas we prefer not to think about, even though they are crucial areas of our lives. It is in the nature and definition of a recruiter to stay abreast of the job market and what is hot. We may spend a lot of time keeping current with technology, but that does not equate to knowing what skills are in demand. A discussion with a recruiter can open your eyes to a world of possibilities beyond your current situation. A Career Advocate I use this word a lot. However, it is one that fits so well and is key to our success. That word is "accountability." One upside of recruiters is that they form a manner of accountability for our career. It is easy to get lost in the requirements of our work and ignore our career roadmap. We simply get too involved in the day-to-day and forget to spend some time at the strategic level. A call from a recruiter can be a nudge that gets us to look up from our work and take steps to improve our career. Inside Trading Recruiters work with all manner of companies and positions. A substantial upside of recruiters is that they can point us to internal postings and other options not available to the general public. They are the epitome of "it is not what you know, but who you know." Episode Challenge: When was the last time your spent time building a relationship with a recruiter? Read more about advancing your career.
undefined
Jun 10, 2020 • 23min

Open Source Software and Tools- A Positive Look

Open Source software is a staple in most modern careers. One reason is that there are essential pros to using it. Some developers would even argue that it is hard to find negatives with this approach. Love it or hate it, Open Source is here to stay. There are too many languages, frameworks, libraries, and tools that fall under this umbrella to ignore them. Removing Barriers To Entry The free factor of many open source tools and products has opened up development to a greater audience. This push has even driven traditional software houses like Oracle and Microsoft to offer "free," trial, or developer versions of their tools. We have seen the developer community grow at a rapid pace over the last few decades. This change has come as the barriers to entry as a software developer have melted away. A Tool That Lasts It can be argued that the most significant positive with open source is that it prevents vendor lock-in. We can use tools and software that we wholly own and can customize. There is no need to worry about whether the vendor will be around in a few years. We have all we need from them. Yes, updates and patches are helpful. However, we can at least create our roadmap when we have the source. It may seem like this is a minor concern. On the other hand, the road of IT history is littered with tools and systems that are almost impossible to use today. That is a critical risk if your company needs that software to run. Building Communities The software side of open source may not be the most significant positive. Many of these projects include a community that is not only helpful; it is vibrant. These situations give rise to excellent opportunities to learn from others, get involved in mentoring, and generally spread your wings. Episode Challenge: Check out an open-source project you are interested in. Consider contributing to it. Read more about advancing your career.
undefined
Jun 8, 2020 • 21min

Technology Changes - Using It To Your Advantage

Technology changes at a fast rate. It might even seem like that speed is increasing every year. This speed of change can be daunting to those that want to "stay current." It requires us to spend hours every week consuming content and working on new skills or with new tools. While this situation can often be viewed as a negative, there are many positives we can find in these challenges. Steady Improvement The most impactful positive of technology changes and advances is in the area of productivity. Not every new version or tool is a step forward. However, most of them are. These enhancements build over time and have made life in the IT world much better than it was a few years ago. Yes, advances in computing speed and memory have helped a lot. Nevertheless, we have also gotten vast improvements from software and processes as well. At a high level, the time required to get a product to market has dropped dramatically. Goals that used to take months or years can now be achieved in days or weeks. A Reset Every time technology changes, it opens up new opportunities. Those that are new to the field can have as much experience as those that are deep into their careers. When this happens, you have an opportunity to become an "expert" almost literally overnight. Someone that is new to IT can advance quickly past the typically "grunt" work and become a leader in that technology. Thus, your career has many opportunities for rapid advancement. Technology Changes Are Not Mandatory We have to choose our fights. However, we do have the option not to participate in an advance or new version. While we risk reducing our value to employers, there are always new technology changes of which to take advantage. Nothing is stopping us from sitting back for a while to wait for winners rather than jump into every new tool or feature. That allows us to set a pace that is comfortable for us and our season of life. Episode Challenge: What are some opportunities currently for you to benefit from recent technology changes? Read more about advancing your career.
undefined
Jun 5, 2020 • 19min

Testing Challenges - Teach More Than Quality

We will look at a number of obstacles during this season. The testing challenges that are part of quality assurance can be daunting for developers. However, there are invaluable lessons learned. We will see how testing teaches us about our solution and goes beyond its promise of quality improvements. You might even find a new product based on what testing teaches. A New View One of the most valuable outcomes from these testing challenges is a new view of our solution. When we test we are forced to go beyond the "happy path" that we normally take. Developers can get very myopic in their view of the solution and how to use it. This is not a knock against developers. We just create a sort of muscle memory from testing short streaks of steps many times to verify and validate what they have written. This process is in the weeds by definition and can often miss big picture processes, procedures, and general usability. The UX Thing I have mentioned that developers can be lazy. We automate things because we want to make our lives easier. This desire can be a boon to UX when developers are forced to use their tools. The steps they take often will be given shortcuts or might even be completely re-written. That is also why end users are the best testers. Instead of testing how the application is designed to work, they test how it "should" work. A developer may even be led to a completely new product from their desire to make things a little easier to use. A Comprehensive Learning Approach The act of testing software is an incredible learning experience. It may feel tedious and demanding because that is what is required for success. We have to think about how a user will perform a task, how a computer will likely handle the requests, and balance that against the required outcomes. There are multiple players we have to relate to for QA and that requires us to learn the solution to a deeper level than most. Episode Challenge: Review your latest testing experience. What did you learn from that experience? Read more about advancing your career.
undefined
Jun 3, 2020 • 22min

Learning From Debugging - A Positive Viewpoint

Developers have many ways to advance their careers. Our resumes can fill up quickly when we take the right view of our tasks. However, the best results can come from learning from debugging. The ways that this sometimes frustrating task can lead us into career paths we never expected. Thus, what better place to start our positive view of the daily work challenges. Small Bugs And Crippling Flaws The label of "a bug" can sometimes seem about right. A typo we have to correct or a simple logic error that is easy to find fits that label. However, some of the things we struggle through take days or weeks, and "bug" seems like it minimizes the pain and anguish we go through. Sometimes these broader issues come from design flaws and a series of wrong assumptions. Unfortunately, we also can lose hours or days with a fix that takes seconds once we track it down. Forced Learning I think the most valuable outcome of learning from debugging is that it forces us to see as a computer does. We will have our view of computer logic corrected (or verified), and our general approach to algorithms will improve. This improvement applies to how we think and how we approach a broad range of problems. When we have to debug sections of code in detail, we will often see areas of improvement and ways to shortcut complex logic. All of these are indicators of a better developer. Understand Our Creation There is a logical context we have as we write code. It is hard to describe. However, for our purposes, think of a solution you have in your head that may or may not be related to the planned solution. We find ourselves evaluating snippets of code on the fly as we ply our craft. We are building models, after all. Thus, the model in our head is our guide to the source code we generate. Episode Challenge: Are there recent bugs that taught you a great lesson? Or is a lesson waiting when you squash your latest bug? Read more about advancing your career.
undefined
Jun 1, 2020 • 23min

Learning From Challenges - A Season With a Positive Focus

There are numerous obstacles we face in our careers. The day-to-day things that we dread can be a source for complaining and even whining. However, learning from challenges is one trait of being a better developer. In a season with an unlucky number (thirteen), it seems like a perfect time to focus on a glass-half-full approach to the monotony we face. Not Just Drudgery There is a notable difference between accepting that we have tough or "bad" days and taking a positive view of those tasks. While we all have to face activities that we do not enjoy or are downright drudgery, we can change that into learning from challenges. This season is focused on taking that approach. Momentum of Attitude While this season has a focus that is good in any situation, it can also be one that leads to better things. There is a momentum that comes from our attitude. When we are in a positive frame of mind, we are more likely to focus on positives. When we have a negative attitude, we will find ways to suck the life out of the room. These situations are not just about finding a win within a loss. There is a cost to a negative approach emotionally and even physically. On the other hand, a positive attitude and the related lift of spirit can provide a physical boost. Why not start on the right foot? He Who Hesitates Is Lost There is an old phrase that "he who hesitates is lost." This phrase might seem like it only applies to a particular case or only in some situations. However, it applies more often than you might think. Our life is full of "windows of opportunity." Those windows are only available for a limited amount of time, so stepping back and worrying about things (a negative approach) can turn into missed opportunities. We will find more success when we embrace that it is possible than when we assume we will fail. This season is more than a focus on the power of positive thinking. We will see how the challenges we face can help us fill out a highly desired resume. Episode Challenge: Review recent work discussions. Was your focus on the positives or the negatives? What is your tendency in viewing challenges? Read more about advancing your career.
undefined
May 15, 2020 • 22min

Turning Extra Effort Into A Better Career - Season Review

A better career has ben the underlying topic for this season. As we bring this season to a close, it seems like a perfect time to hit the high points. We revisit some tips that are important to utilize in making that extra effort. It takes time and effort to become a better developer, so productivity is a key indicator of long-term success. Stacking Up Effort Our day job, side hustle, and career improvement work will have overlap. That is part of becoming a better developer. Therefore, we can take advantage of where overlap occurs to help us advance in multiple areas at one time. We can work on these areas in parallel at times. That is an essential consideration in being able to stack our effort and do more in less time. Without this option, we will spend more time than we have and sacrifice a full life for a good career. That should not be an acceptable trade-off. A Better Career Through Compliments Along with stacking together overlapping areas, we can advance through complementary ones. There are skills we will be focused on that make it easier to accomplish other goals. An excellent example is the attainment of certifications. When we are hip-deep in a specific technology for our day job, there is a good chance that we can easily pass a certification exam. Nevertheless, that does not preclude studying for the exam. Thus, we need to be intentional and spend a little extra time to prepare for that exam. This situation becomes one of many cases where we can spend a bit more time and effort to achieve a substantial gain. Intentional and Accountable We can not leave this season behind without once more mentioning the ideas of being held accountable and intentional in our approach. A plan for our improvement (intentional) will help us see where we can gain from stacking and complementary skills. Once we put that plan in place, we need to execute it. That is where we need to be held accountable. We can do so via our own goals. However, it will be more effective for us to find mentors, partners, or mastermind groups that push us to follow through on that plan. Episode Challenge: Have the benefits earned from becoming a better developer outweighed the effort? Read more about advancing your career.

The AI-powered Podcast Player

Save insights by tapping your headphones, chat with episodes, discover the best highlights - and more!
App store bannerPlay store banner
Get the app