Develpreneur: Become a Better Developer and Entrepreneur

Rob Broadhead
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.
undefined
May 13, 2020 • 22min

Surge Effort and Just In Time Work

The steady effort we put in to become a better developer can be redirected when needed.  This surge effort can provide us the extra steam we need to get a project done.  Likewise, it can provide a steady flow of effort that allows us to avoid the usual ebb and flow of IT work.  All of that can lead to less exhaustion, more productivity, and a generally better mood.  Happy and healthy are traits most of us prefer to have. The Surge Effort There are horror stories about the "pointy-haired boss" that decides to cancel vacations, weekends, and even going home to hit a deadline.  While these are sometimes a reality, it is more common to be asked to work longer hours to get a schedule back on track.  We may not even be asked to put in that extra time.  Sometimes we just find ourselves putting more effort into work than others.  This extra time can come from our non-work life and, while not lasting long, can still be a negative impact.  We reduce the negative impact by planning for the new high level of commitment and make it a surge effort that pulls from better developer hours instead. Personal Relationships A common victim of our increased time requirements is our personal relationships.  A "date night" gets cut short, or we miss out on a game with our sports team.  That is a negative impact that can hit us immediately when the boss needs more effort from us.  When we have already incorporated time in our schedule for professional development, we can pull from that instead.  It is time we were already going to "work" so it can be a buffer for our personal life.  A surge effort may never even be noticed by others in this situation. A Temporary Measure While we can withstand life's emergency deployments and bug fixing sessions, these still should not be the norm.  The impact of halting our professional improvement will not be a problem in the short term.  We may fall a little behind, but that is something that can be caught up.  The problem is when a short term push turns into a death march, and our professional development grinds to a halt. Episode Challenge: What is the best average work hours for ou to put in each week and maintain a good quality of life? Read more about advancing your career.
undefined
May 11, 2020 • 20min

Giving Back And Building a Brand

We have often looked at ways to provide content as part of a side-hustle.  Thus, we will skip that topic this time around.  Instead, let's look at giving back and providing things for free.  However, before you move to the next article, we will focus on how free to others does not mean it lacks value for you.  We might even see situations where an altruistic approach is very beneficial to us and our brand. Start With Giving Back Before we look at the benefit of this type of action, we should focus on what we are doing.  The goal for tasks like we discuss in this episode is to share our experience with others.  This process is how we show appreciation for those that came before us and give back to the cause by educating others.  It is important to note that we are not claiming superior knowledge in this case.  Nevertheless, we are assuming our experience can be a lesson for others (whether positively or negatively). Accountability Yes, I know.  Accountability is a word that appears throughout our content and presentations.  Nevertheless, it is a fact of life that we are more likely to do something when we feel accountable.  We are also more likely to do a task well in those cases.  We can use this common trait to our advantage.  Instead of doing something to "scratch our itch," we can use giving back to drive us to produce something of higher quality.  Whether this is a product or a presentation, it will provide practice in one of more skills.  We are providing a service for free, but our desire to be known for quality means we will probably not do slipshod work. Indirect Marketing Just as we want to do good work even when giving it away, people like to feel they have paid for what they received.  This trait can lead to the best kind of networking.  Our brand can become related to "doing good" or giving back and produce a positive view from others before they even meet us. Episode Challenge: Look for a way to take some of your work and turn it into a brief presentation or small application to provide free for others. Read more about advancing your career.
undefined
May 8, 2020 • 21min

Mastering Skills In Under Ten Thousand Hours

There is a well-known book that describes mastery of skills as needing ten thousand hours.  The ideas put forth in the book have many arguments for and against, but that is for another time.  In this episode, we look at ways for mastering skills in under the ten thousand hours mentioned in the Outliers book.  This theory is critical for our daily exercises in getting better because we do want to reach mastery at some point. Complementary Skills We can assume that there is some amount of hours typically needed to master a skill.  Likewise, many skills are related in ways that allow us to learn multiple skills in less time.  The whole hours required are less than the sum of the parts.  We refer to these related skills as complementary. For example, learning a third language (spoken or coding) does not take as much time as the first two).  We can essentially skip ahead on some of the required time by leaning on previous topics.  This benefit can come from identical tasks like the math skills needed in Chemistry were learned in prior Math courses or similar ones like the concept of language genders seen in many Romantic languages. Reduce The Time For Switching Gears There are many ways that complementary skills can work to our advantage.  We can also shift more quickly to similar tasks.  We can flip back and forth, writing Java and C# code or balancing our checkbook and our business ledgers.  Compare this to the time to switch from working a crossword puzzle to doing Algebra problems or even writing business emails and personal chats on Facebook. Include The Pareto Principle I have more good news for you.  We do not need to completely master most of the skills that we have in our quiver.  We can move from comfortable or strong to mastery when a skill becomes one used daily.  Foundational skills and concepts like object-oriented design, working with loops or collections, and boolean algebra require mastery to advance our career.  Specific knowledge like memorizing syntax for a language or which C# collections are best for a task do not need to be mastered for most jobs.  This approach is not a fake til you make it, think of it as an MVP approach to mastering skills.  Episode Challenge: How long did it take to master your last skill?  Apply that to your roadmap and mastering your next skill. Read more about advancing your career.
undefined
May 6, 2020 • 22min

Mixing Side-hustle Tasks With Your Daily Job - Overlap Benefits

Time is arguably our most valuable resource.  We can not buy extra time. We can only spend it as wisely as possible.  That means we need to be mindful of the cost of our daily tasks for getting better.  Fortunately, that time is not a loss.  We can plan out our daily steps to improve in ways that allow us to get more done with little or no additional time spent.  One way is mixing side-hustle tasks with your regular job. Killing Two Birds with One Stone We have examined how our side-hustle work and a daily job can overlap.  Those tasks we do to improve may help our career while our day job can provide some experience that translates to a side-hustle.  These can even overlap when you focus on mixing side-hustle tasks with your daily job.  Sometimes the overlap will also be a one-to-one mix-in. Fill Dead Time The approach for mixing side-hustle tasks with your daily job is through the use of "dead time."  There are things we do each day that require us to wait for a while.  This waiting goes beyond things like waiting in line at a store or restaurant.  We have meetings that start late, downloads, and uploads that need to complete, over even reports to run.  All of these tasks can take minutes or longer and provide opportunities to use that time wisely.  I do not want to imply this sort of micro-filling your time is easy, but it can be done if you plan properly. The Cost of Switching Gears The most difficult challenge in mixing side-hustle tasks with your daily job is in finding large enough granules of time.  There is a cost to mentally switch gears even from reviewing reports to reading a blog article.  You probably need at least ten to fifteen-minute blocks of time to be able to fill in some gaps.  The good news is that modern operating systems and tools make it easy to keep something up in the background so you can switch to it quickly.  You can use these little chunks of "free time" to do things ranging from entering your latest expenses to building a new application.  Just make sure you avoid getting carried away. Episode Challenge: Review your daily tasks and look for opportunities to automate and free up a little more time. Read more about advancing your career.
undefined
May 4, 2020 • 21min

Prior Work As a Starting Point For Higher Quality

Our daily work to get better is not without positive side-effects.  One of the most powerful of these is the ability for us to build on prior work.  These tools can be a huge productivity boost.  That is the case whether we are starting with an application baseline or working from a document template. Prior Work Is An Investment Our daily steps to improve and become a better developer will generate deliverables at some point.  These may not be highly polished production items we would send to a customer.  Nevertheless, they are a start on that type of work.  Therefore, our daily work on improving can also be seen as an investment in some yet-to-be-determined future projects.  There is no guarantee we will be able to re-use that work.  Thus, consider it a bonus when you do. An Improvement In Quality We have to be intentional about how we do our daily tasks to make the best use of them.  However, the return on investment is substantial.  We can take the work we initially did, refine and extend it, and then have a better product to build on in the future. Think of a login form as an example.  The first time we do it, maybe we just check an email and password stored in a database.  Then we come back and use that as a starting point but are asked to encrypt the password and provide several checks for a strong password.  Then we later are asked to do all of that in another project but need to add a forgot password option.  Each time you build, you will re-test the prior code and be able to improve on the quality and your confidence in it. Avoid Writer's Block A little considered benefit of using prior work is that it gives us a starting point.  We do not have to spend a bunch of time thinking through the problem or figuring out where to start.  The starting work has already been completed for us (and by us).  This prior work can be a huge advantage when you are trying to get something completed before a deadline.  That just happens to be a common situation in my experience. Episode Challenge: When did you last find a use in your prior work?  Should you create a way to find that material easier? Read more about advancing your career.
undefined
May 1, 2020 • 15min

Self-Confidence That Comes From Incremental Improvement

A big part of a good interview is self-confidence. Those that answer questions directly and confidently are more likely to impress than those that waver or seem unsure of themselves.  While interpersonal skills are often downplayed for technology positions, they are still essential for getting a job offer. Hard Work Equals Self-Confidence One of the complaints we hear that leads to imposter syndrome is a lack of "earning" the respect or position one has.  A possible cure for this is the knowledge that you have put in the hard work and "earned" your position.  I can think of no better way to do this than to take daily steps towards becoming better.  Since we do this as part of our better developer path, you should also see your self-confidence grow and strengthen along with your steady improvement. If It Has Been Done Before, It Can Be Done Experience gives us many benefits.  One of the most concrete is the idea that something we have done before can be done again.  The path and circumstances may be different, but we know we have achieved the outcome.  Therefore, we can do it again.  We may even be able to do it better the second (or subsequent) time around. Look Back To Look Ahead When our head is down, and we are focused on change from day to day, the big picture can be missed.  It is worth your time to occasionally look back at your progress over the last month or even years.  That daily effort has lead to you being a better developer.  You may not feel that every day, but look back to see how far you have come.  This review should help you be more confident in moving forward. Episode Challenge: How far have you come in recent months?  Assess your progress on your roadmap. 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