Develpreneur: Become a Better Developer and Entrepreneur

Rob Broadhead
undefined
Apr 30, 2018 • 22min

Logging Your Work - Best Practices in Learning From Mistakes and Reproducing Success

There are a broad range of reasons for logging or tacking the work we do.  In technology work, we have such a varied bunch of tasks we perform that this becomes a crucial habit for avoiding re-inventing the wheel.  At a high level, logging your work is a good habit.  Thus, let's look at the ways this can be a benefit that more than pays for the time spent. Trial and Error There are times that we fall into the trial-and-error approach to solving problems.  We know that this is not the best practice.  However, sometimes the brute force approach is the only one we can think of.  These times are the ones where logging your work is critical to a successful solution.  Yes, we might find a solution but if we do not have a trail of what we changed to get there then we will be hard-pressed to repeat the solution the next time we see the problem. Take Advantage of Tools This practice can be very time-consuming.  You can easily add ten percent or more to the time spent on a task by creating a log or story to track your progress.  The good news is that there are a lot of tools that provide this feature to some level.  It may be something as moderately useful as code commit logs.  On the other hand,  sometimes you can see change history and track your every command.  For example, Linux and UNIX users can look at the shell history file.  This provides a step-by-step log of what they did on the system.  This can be useful for tracking down what hackers have done but it is better used as a way to ensure you can reproduce the steps it took to get that tricky problem solved.    
undefined
Apr 27, 2018 • 25min

Thinking Big - When The End Overwhelms The Means

Hope is a critical factor in a happy life and, in my opinion, that includes thinking big.  The challenge is in remembering that any goal we set is a journey, not a "beam me up, Scotty" teleportation to that end.  This can crush our hopes if we see that goal as too big to get to from here.  Do not throw out your goals for being too big.  Find a waypoint (or several) to help you avoid being overwhelmed. Can't Get There From Here There are cliches shown at times where someone is lost and asks for directions.  The first answer is that the destination is not reachable from the current location.  Technically, that is impossible, but a very similar obstacle to the one we face with big goals.  The solution is the follow-up response to the lost parties.  Instead of stopping with an answer of the destination is unreachable, the local continues by directing the individual to somewhere more prominent.  This might be a downtown area, a major road, or a landmark.  Then they proceed to provide directions from that point to the destination. When we see a goal as too big, find an attainable one that is closer to that goal than where you are today.  Make that your goal for now.  When you achieve it, look at the big goal and repeat the process with another easily attainable journey.  Eventually, you can reach that colossal result.  The route might meander at times but, as long as you keep moving closer, you will ultimately find that big prize to be in reach.  
undefined
Apr 25, 2018 • 27min

Recording Users and Heat Maps

One of the most influential ways to improve your site is through recording users.  When I say record, this is not just noting where they clicked.  This is a recording that allows you to see the site as they do and watch as they navigate around.  It is data that can be viewed on a per visit basis or aggregated to produce a heat map of common destinations. Tools Aplenty The good news for us modern developers is that there are several tools available to perform this task.  They make it easy and affordable.  A few that are mentioned and reviewed include: Hotjar CrazyEgg LuckyOrange MouseFlow Honestly, each of these tools has its target market and price range that make it an excellent fit.  You can see some more information on these in a past post as well or see a more in-depth article on CrazyEgg. Large and Small Improvements It is important to note that these tools provide incredible value for substantial, trend-related fixes while also being helpful in finding hard-to-reproduce bugs.  The power is much more than one might expect at the entry-level prices of these products as well.  Thus, you can have access to enterprise tools even on a shoestring budget.
undefined
Apr 23, 2018 • 26min

Databases Overview - Laying The Groundwork

In this episode, we continue the series of overview discussions.  This time around we will cover a databases overview.  We looked at SDLC in the prior installment of this series and will discuss databases in a two-parter.  This first part includes definitions and high-level summaries of database engines, types, and terms. Databases Overview - The Engines To the untrained observer, a database is a place to store data.  This definition works well if you do not need to go any deeper.  Unfortunately, we do, and one of the critical distinctions among databases is how they store that data.  This fact is not easier to learn by the abbreviations used in talking about them.  One of the more significant parts of this episode covers RDBMS, OODBMS, ISAM, and other major engines as well as what makes them different.  This is an essential first step in getting us comfortable with the world of data storage. The Moving Parts The other primary focus is for those that want to understand careers in database technology or advance theirs.  We go over some of the critical facets of working in a database as an administrator or developer.  This coverage includes things like SQL, stored procedures, functions, and triggers.  But that's not all.  There are tiers of sorts of database skills, and we look at how these pieces sort out.  Pun intended.  This does not go as far as being a tutorial in these areas, but it should make you much more comfortable in your understanding of them.
undefined
Apr 20, 2018 • 24min

Free Advice and Paid Advice - What Are You Paying For?

It is not uncommon to hear some give you free advice and follow up by saying you get what you pay for.  Sometimes that is true.  Unfortunately, bad advice can cost a lot if you follow it.  On the other hand, paying for advice does not guarantee its value either.  It is important to consider the pros and cons of the source before taking action in any case. Paid Advice is More Thoughtful The biggest difference between these two types of advice is the time put into providing it.  When you ask someone for their thoughts as you pass them in the hall, they will provide something off the top of their head.  That is assuming you even get a response.  If you pay someone for their advice then they will spend time considering your question, evaluating options, and crafting a response.  Freely given opinions are rarely going to include any time spent crafting them.  Even an expert may not give useful input when pressed to do so without proper consideration. Seeking an Expert The point of all of this is to consider bringing in expert help at times.  Your team may have all the skills they need to make a decision or drive a project but maybe not.  In a similar way, you might have the right decision made but maybe not.  Sometimes the advice you are seeking is more of a confirmation of what you know instead of a new insight.  There is a lot of value in this confirmation process as it helps provide confidence in a decision.  Also, it can be a way to "check your math" when you have a big decision to make.  Sometimes the help you seek is returned as the collective recommendation of an expert along with some second and third opinions for confirmation.
undefined
Apr 18, 2018 • 25min

Making a Change to Stir the Pot

There are many ways to improve productivity.  When hockey coaches substitute a goalie for no apparent reason, they are looking to spark a response by making a change.  This same approach can be used in business or with any group you lead or manage.  It is all about the difference you make and the message that is sent. Making A Change Breaks Comfort The best outcome of a change is that it will cause discomfort.  I am not talking about the painful kind but instead getting people out of their comfort zone.  This is a way to get a group out of a rut and produce activity.  Sometimes it helps to explain why the change was made.  However, there are times when you get more from a turn when the reasoning is not clear.  In those latter situations, you might scare members away, but more often you spark the team to come together.  The members all experience the change and itis natural for them to gather to discuss what it means.  Of course, making even a tweak can cause distractions, so it is crucial to manage the message it sends. A Familiar View If you have ever spent time on a trip or in a waiting room staring at a view that is static or at least staying primarily the same, you know where that leads.  Sleep.  It is easy to drift or even fall asleep when the scenery is unchanging.  Our daily grind can be the same way when it feels unchanging.  Thus, even a little change can spark us back awake and get us back focused on the job at hand.
undefined
Apr 16, 2018 • 27min

SDLC - The software development life cycle simplified

A few years ago we created a one day course to teach IT to those that were not technical but still needed a general understanding of it.  We covered six main topics, and the first was SDLC.  Short for Software Development Life Cycle, this topic is much more mysterious than it needs to be. SDLC is a Set of Steps The life cycle boils down to steps that are taken to create software.  Let me say these are steps that should be included.  That is not always the case.  Although this topic covers the technical concept of building software, I think it is easy for the non-technical student to grasp.  The typical steps of SDLC are: Gather Requirements Design Implement Test Deploy Maintain They make sense to anyone that thinks a little about the process.  Thus, much like any project you take on, you follow roughly steps listed.  Figure out your goals, plan, execute, verify you are done, declare victory, and execute any follow-up (maintain). An Overview This episode is part of a series of technical overview episodes that will be added in the coming weeks.  If you want more, you can see the original material on this page.  However, these episodes will summarize and update the content for that class.  Also, if you would like us to teach this class to your group, let us know via email, and we can find a way to get it done.
undefined
Apr 13, 2018 • 23min

Assumptions and Patience - Reducing Stress in Your Life

I do not know about you, but my most significant challenges in life come from assumptions.  When I am right, I can be ahead of the game and look like a psychic.  On the other hand, mistaken assumptions can make me look foolish or lead to total failure.  I have found that patience plays a part in this battle and that a smarter approach can reduce stress while increasing happiness. Lessons Learned The meat of this episode comes from recent personal experience.  I made an assumption and luckily did not make myself look foolish.  I just felt that way afterward.  The thing about assumptions is that we make them speed up a process.  We could wait patiently and see how things play out instead of jumping to a conclusion.  After all, that is what an assumption is.  It is a leap to action without waiting to observe something. The most significant danger with this is that we can be completely wrong in our response to an event or situation.  The worst of these occur when law enforcement officers assume a suspect has a gun and is about to fire it.  Of course, few of us are ever in that situation, but we do cause ourselves all sorts of grief with incorrect assumptions every day. Yes, life can be hard.  However, it is worth reflecting on how much of that difficulty comes from us making more of situations than warranted.
undefined
Apr 11, 2018 • 25min

Super Stars and Role Players - Building A Team

In my years of managing and coaching, I have found that the most significant challenge is often building a team out of the individuals.  A good team will have a diverse cast of characters.  This diversity is essential for the team to be successful.  However, that means that a leader or manager has to find ways to provide benefit to the members of the group.  This task is not a trivial one as you need to keep them focused while still highlighting a diverse set of achievements that appeal to the individuals. To Each Their Own Although you are running a team, it helps to talk to each member as an individual.  Understand their goals and plans so you can find ways to further their interests.  This focus on members is not a path you choose over the success of the team.  Instead, you look for opportunities to hand to members that exist within what the team is doing.  This may cause some team members to get more out of project or season than others, but that is ok.  The goal is not equality; it is helping every member advance in some way.  Help them grow, and the team will develop as well. No team will succeed without a mix of members.  Building a team that is effective requires a superstar or two as well as a large number of role players.  Do not confuse this with queens and worker bees.  Everyone has a part to play, and everyone has work to do.  It is just that the responsibilities and expectations differ from person to person.
undefined
Apr 9, 2018 • 25min

Selling New Technology To Your Boss

Sooner or later we all face the challenge of selling our boss or team on using the latest tool or technology.  We love our work so selling new technology is a labor of love.  The technology will help us grow professionally, progress in our career, and maybe even bring world peace.  Ok, I went a little too far much like we sometimes do. Selling New Technology As An Improvement The best selling point we can make is that the advance we are pushing is a silver bullet.  If we have something that solves all your problems and leaves your breath smelling minty fresh, then it is a slam dunk.  Of course, our boss will want it.  However, this is never the case.  Even worse, if we try to make the "silver bullet" case we are putting nails in our coffin.  The product will not live up to the promise, and our reputation will take a hit. Instead of going for the kill in our sale of this new thing we are going to have much more chance of success by demonstrating its value.  We can do this through a proof-of-concept project or even a throw-away build on the new tech.  This approach might lead to a fractured approach to technology in your team.  Thus, it is better to throw away the project if the tech is not adopted going forward.  The worst situation in a company is when they have some application to support that no one understands. When in Doubt, Do It Yourself Sometimes your best bet is to build your side project with the new technology.  This project will allow you to test it out without the risk of looking bad in front of your boss.  It also will give you time to work on your expertise in the new tech.  All of this, while figuring out the strengths and weaknesses of your new "toy."  This approach can make you more likely to be successful in selling it as you will be over the honeymoon period and well-versed in the challenges that technology may present.

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