Develpreneur: Become a Better Developer and Entrepreneur

Rob Broadhead
undefined
Oct 11, 2019 • 21min

3 Habits For Every Day and a Happier Life

We take a turn away from technology in this episode to focus on life. It is hard to be a better developer when your daily life is miserable. Therefore, it is vital for us to look at some steps for a happier life. These little habits are easy to start and can be a significant impact in positive ways. Daily Progress Makes for a Happier Life It may be my personality, but I think one of the worst things is being stuck in a rut. There is nothing like a rut to make every day seem like a repeat of the previous one. Thus steady progress is key to a happier life. Note that our progress does not have to be substantial each day. Small steps in the right direction still get us closer to our destination. Take advantage of that fact and look for little ways to make progress on your goals every week, if not every day. You will avoid feeling like being in a rut and see those goals get closer every day. Use The Value of Steady Improvement to Achieve Big Goals Smell The Roses This recommendation is such a cliche. Nevertheless, it is entirely correct. Your particular roses may take many forms. However, some things make us happy, and we should embrace these when we can. The simpler the source, the better. You may find pleasure in the smell of fresh coffee, watching a sunset, or going for a walk. Make sure you set aside time to do these things regularly. Those breaks can relieve stress and make you happy. That will do all sorts of things to make you healthier and lead to a happier life. You will also find that burnout is not as common and might be able to avoid it altogether. Show Your Appreciation Appreciation and affirmation are falling out of everyday discourse. We seem to think that any positive comment about others somehow detracts from us. Ok, maybe it is not that bad. However, it looks like giving compliments of any kind is a dying art. This step will not only make you a little happier, but it can also make your work environment better. Your co-workers will appreciate the positive attitude and often will repay your affirmations in kind.
undefined
Oct 9, 2019 • 25min

Three Suggestions For Better Meetings

There are some activities that are part of any job. While not all of these are also a common concern, it does seem that one often bubbles to the top. That bad boy is the meeting. Whether we are talking about a team, organization, or planning version of these activities, we all have bad experiences with them. Thus, we can all improve our productivity by tackling ways to have better meetings. An Agenda Leads To Better Meetings The old cliche of a map is required to get to our destination holds in the case of an agenda. One of the quickest paths to better meetings is to create (and share) an agenda. This step provides a map for us, and the attendees, to follow so the meeting can stay on track. While this may seem like just another bit of busywork, it is far from it. Think about every high-end meeting you have attended. These examples include classes, conferences, and guide-led vacations. There is always an agenda. That is such a staple that you likely question the professionalism of the leader when one is not available. When you acknowledge that it is a crucial indicator of a professional meeting, then it should be obvious what you should do. Set, And Respect, A Time Schedule The most common complaint about a bad meeting is a lack of respect for the attendee's time. We sum this up with the statement that it was a "waste of time." Therefore, we can see that a path to better meetings is finding ways to respect, and not waste, the time of the attendees. This step is easy to take. Set a schedule, start on time, then end on time. Yes, I understand that some groups are used to starting late or chatting before getting to business. You can either put that on the agenda, (e.g., Introductions and general discussions) or launch into the meeting on time and call the room to order. Once you do this a few times, you will see that the attitude in meetings will change to honor the schedule. There is nothing magical about this, just set expectations, and make sure you help everyone meet those goals. Time Tracking Solutions – Free and Low Cost Provide a Recap or Summary When you have better meetings, then you will want to advertise the fact. The best way to drive home the point of how well the time was spent is to provide a recap. This report does not have to be a detailed minute-by-minute document. It can be a high-level summary that documents the decisions made, key discussion points, and action items that came out of the meeting. When you do this, you provide a way for the attendees to see the value of the time spent as well as a forum for clarification if anyone walks away with a different understanding of the results. This recommendation is not just a CYA tool. The goal is to ensure everyone walks away from your discussions on the same page and agreeing on the outcomes. Business Communication - Critical For Success
undefined
Oct 7, 2019 • 25min

3 Ways to Embrace and Improve Unit Testing

Quality Assurance is an art as well as a skill. We all can randomly break things. However, testing is not just about breaking things. It is also done with the goal of providing a sense of quality and stability. Thus, we need to be intentional with our plans. This process starts at the smallest level so let's look at three ways to improve unit testing. Create and Test For Exceptions, Notifications, and Messages One piece of the user experience is messaging and notifications. These may appear to confirm a step, show success, or point to errors. When we build a unit of code, then we need to include ways to provide feedback for these messages. This functionality provides a way to improve unit testing. Unit tests are often built to show the "happy path" and then an invalid path or two. A better approach is to walk through the code for every possible category of failure and ensure it handles each one correctly. The notifications and messages are indicators of these failure categories. You can see them in the requirements. However, the code provides a perfect level of granularity for us to exercise each logical path. When we are done writing our tests, there should be a validation of every error or success code and message the unit can produce. A General Approach To Testing Strategies For Developers Improve Unit Testing Through Edge Cases This suggestion is a common one in our past discussions. Nevertheless, this is an essential piece for us to improve unit testing. Code tends to break as we get to the edges. This trend is due, in part, to that being where details become critical. Also, it comes from how many test values are not on the edges. We tend to test around the happy path more than edges. It is easier to randomly pick values closest to the happy path in many situations so that should be expected. The details are a critical part of high-quality code. Thus, those are what we want to center our tests around. Provide unit tests that are just inside, just outside, and precisely on the limits of acceptable values. The majority of bugs live here so match that knowledge to your testing approach. Build And Test As You Code When we test and find a bug, the amount of potentially broken code is critical to a fix. The faster we narrow down the scope to the lines that cause the bug, the shorter the time to start on a fix. Thus, it is only logical to reduce our testing to small and well-known units of code. While unit testing should focus on small chunks of code, those are not always stand-alone n nature. There are often system-level rules and data that provide assumptions for our functional piece. When we are unsure of the quality and validity of those other units, then we might see a false fail for our code. Therefore, we are going to be able to tests and fix better if we are building on pieces that are known to be correct. We will see this when we test as we develop. This approach also helps to create a good habit of writing unit tests for all of our code. In the end, we should not consider a unit as "done" until there are unit tests for that code as well as the source itself. Simple Guide to Testing: Don't Forget To Test Your Code.
undefined
Oct 4, 2019 • 25min

3 Quick Ways To Manage Email

It is impossible to provide modern productivity suggestions without including a way to manage email. This form of communication has done so much for us in shrinking the world. On the other hand, it is also a substantial use of our time. There are several important conversations we want to track. However, there is also an endless stream of spam. Here are some suggestions to help you with this modern struggle. Manage Email By Checking Less One of the most overlooked ways to reduce the time spent on email is to reduce how often you check. Many of the mail clients are configured by default to check every minute or so for our latest email. This approach makes it hard to maintain any form of focus. Even if the email itself is pointless and we merely glance at it, we still stop to check that notification. Pavlov's dog would be proud of us. Set the mail server check on your devices to hourly or less. You will find yourself more productive almost immediately. There is a common misconception that we need to check and respond to an email immediately. That is what a phone call (or even a text) is for. We should not expect a near-instant response to an email, nor should we provide one. When we rush to respond to an email, we are more likely to make mistakes, and we tend to miss out on the strengths of that mode of communication. Use Filters or Rules Spam filters are commonly used to reduce email in our inbox. However, that is just the first step. Most mail clients include rules and filters to apply to the mail that gets to that inbox. These tools can sort, forward, reply, and even delete messages. This approach is not necessarily for beginners. However, most of the rule creation tools are pretty easy to understand. Thus, you can start simple and grow up to complex rules and actions over time. I took this path and grew to hundreds of rules and hours of saved time over a period of a few years. Store, Save, and Search The most intimidating part of a desire to manage email is a huge inbox. We can easily decide there are so many messages in there it is a lost cause to manage them. Sometimes this even leads to people refusing to read a large number of their emails. This refusal can also extend to potentially critical messages. When you have a way to categorize and store emails quickly, this situation can be averted. Instead of a scarily full inbox, you can manage smaller groups of messages at a proper time. For example, you might push notes about your kid's sports or school to a "bucket" for reading at night. You might also find it useful to throw all of those funny emails from your crazy Aunt to a bucket for reading when you need a laugh. The end goal is to manage email by reading messages on your schedule rather than as they come in. This step alone will be significant in your attempt to tame this electronic beast. Cross Platform Mail Client – Free and Low Cost Five Things To Take Off Your Plate and Streamline Your Work
undefined
Oct 2, 2019 • 21min

Desktop Security - Three Ways To Turn Aside Hackers

There are many areas where our three suggestions can make a quick improvement. Desktop security is one such topic. The subject of security comes up every day in the news and our work. It is all around us. However, we can use tools wisely or not. Here are three you should use properly. Strong Passwords The list of typical passwords is laughable. Of course, it also should bring tears. A password of "123456" or "password" is not going to stop anyone that has a little desire to get to your system. While a stronger password is the first step, that is not enough. You should also avoid reusing passwords and change them regularly. The less time a hacker has to guess your password, the harder it will be to gain access to your systems. Also, if you use a password somewhere that gets hacked, that becomes compromised. Whatever the value is, throw it out and do not use it again. A Strong Password Generator Virus Scan For Desktop Security Virus scan tools are everywhere. Use them. This recommendation includes non-Windows machines. While Windows has been historically a target of viruses, nasty things are showing up on other platforms now. You also want to be sure you do not pass on an infected file even if it did you no harm. The only thing worse than being hacked is being the person that others trusted when they got hacked. Some Free Virus Scan Tools Use A VPN A VPN, or virtual private network, is like creating your tunnel to the Internet. Your data will be encrypted and harder for others to "sniff." This used to be a tool for those that wanted to avoid being tracked for nefarious purposes like pirating software or content. However, that is not the only reason to keep others from spying on your data. To the contrary, these days, it is vital for us to think about security when we jump on any public network. This action is one that occurs daily, so the sooner you adopt a VPN, the sooner you will be a harder target for hackers. VPN Tools You Can Try
undefined
Sep 30, 2019 • 22min

Three IDE Options For Improved Productivity

Our tour of three things you can do to make your life easier will look at IDE options in this episode. We all have our favorite IDE within the first year or two of professional development. That usually falls into either the Eclipse or Visual Studio camp. However, there are a lot of other options available. While your primary tool is useful, these additional tools may provide a better choice in specific instances. JetBrains IDE Options This family of tools may be your primary source for IDE options. While they have a flavor specifically targeted at a broad range of platforms, they also have a "feel" that is maintained across each of them. This suggestion may be the most expensive (i.e., not free) of the IDE options we look at in this episode. Nevertheless, there are free download trial options, and I think you will find them worth the money. I have done so, and I often return to the Jet Brains site to keep up with their latest offerings. The Jet Brains Home Page Visual Studio Code Visual Studio is a large and full-featured product. It should be among the first considerations when you are considering team development IDEs that can be used to build enterprise systems. However, all of that functionality and power comes at a cost in size and resource utilization. When you want a simple, yet powerful and extensible IDE, then Visual Studio Code is a good fit. The user experience with this tool is not the same as its full-blown brother. Instead, this seems to fit smaller projects and individual file editing needs in a comfortable way. I use it on an almost daily basis to edit configuration files, text files (small and very large), and any task that is helped by a macro. I do not view this as a competitor to the other tools out there. Instead, this is a helper tool you will find useful to install on your development machine. By the way, do not let the Visual Studio name dissuade you. While the Visual Studio tools are Microsoft products, they do have versions that run on non-Windows platforms very well. Check out the Visual Studio Code Home Page Database IDE Options This is another bucket item with several options. While there are some excellent IDEs for databases that work with several engines, there are some good ones that are platform-specific. Instead of trying to match a platform to a tool, we just kept this a general point. You will spend a lot of your time working on and in databases. That goes with the territory. Although you can always fall back on command line query engines, these tools will make you more productive. They often will teach you a few things about advanced features as well. Is there anyone that does not like to save time and learn new stuff? Learn More: Database IDE's you should check out
undefined
Sep 27, 2019 • 24min

Three Tips For Writing Better Code

In this episode, we look at a favorite topic. Here are three ways to write better code. We create a lot of source code during our career. Thus, this is an area where the ROI can be huge when you take these steps early on. These will not only help you write code that is easier to maintain, but it will also reduce your bugs and improve stability. Use Static Analysis Tools For Better Code One of the best ways to improve your code quality is to find another set of eyes to provide a sanity check. This step can avoid blatant bugs, reduce code duplication, and ensure you conform to standards. The best set of eyes is an automated process like these tools provide. They often draw from best practices and industry standards. Therefore, you can also learn a significant amount about the language from these results. They will point out common flaws and can assist you in creating good code writing habits. Some Static Code Analysis Tools Unit Testing It may seem self-evident that testing improves quality. However, that is not the focus of this suggestion. When you spend time walking through how the code should work (aka design), it is always worthwhile. We learn how to build a better solution during this process as well as often thinking through exceptions in greater detail. The practice of building unit tests pushes us to take each of these design steps thoroughly. We are forced to consider the "happy path" and the exceptions, as well as expected outcomes, for each of those cases. When you spend time on this, you will often find yourself creating a more complete solution that is resilient. Your users will be happier for it. Code Reviews Yes, this is very similar to the first item. However, it shows how important reviewing your work is. There is a lot to be gained from both static analysis tools and a human review. The details are more likely to be caught to the automated tools, while style and readability are more often the focus of your team members. They will also be able to tell you if your solution "makes sense" or is hard to follow. There will also be business rules and terminology they can catch that is hard to configure into a tool. This step is one that gives to all involved. You can learn from reviewing the work of others as much as from their input about yours. That adds up to a highly valuable team activity. Learn More: Learning From Code Reviews
undefined
Sep 25, 2019 • 26min

Three Ways To Improve Your Ability To Pass Certifications

Our season of threes continues with a look at three ways to make it more likely for you to pass certifications. These tests vary a lot in style and content detail. However, there are three steps I have found that make your success far more likely. These are not as quick and easy to do as some other items in our series. On the other hand, certifications are not simple nor easy in themselves. Use Study Guides To Pass Certifications This item may seem like a self-evident step to take. It is. However, there are a few things these guides give you that are invaluable in taking the tests. Technical certifications, in particular, are often broad in their topic. Think about all that can be known about a programming language. There is a lot of material available for creating a test. The study guides help you see where to focus your attention. While these are not always all-inclusive in the document, they do at least show you where the focus should be to pass certifications in the topic. Amazon List of Certification Guides Exam Simulators and Flash Cards The best way to pass certifications is to practice, practice, practice. These are not different from any other skill or goal. The more time you put into it, the more likely you are to master it. The challenge with certification exams is that they are not a measure of pure skill. Yes, you need to learn the technical skills or topics. However, there is a way to state positions and ask questions that can make it difficult (or easy) to take a test. Once you understand the style and temperament of a test, you will be more likely to understand the question and correct answers thoroughly. Kaplan Training Site Release Notes Most Vendors or certifying organizations provide a syllabus or outline covering the expectations for a certification. In short, this information is what you need to know to pass certifications. Nevertheless, it is incredible how many people skip looking at this direct information about the content of a certification. These sources provide you with precisely the areas you need to focus on for the certification or test. While the above items (study guides, simulators) help in taking the test, this content enables you to master the topic. That is, after all, the goal of taking a certification exam. You will have a certificate that shows you have mastered the subject. Learn More: Certifications and Improving Your Value
undefined
Sep 23, 2019 • 21min

Season Kick-Off, Three Things You Should Know To Get Better

We jump into a new season and a new topic. This season will bounce around a bit as we tackle three things to know about a subject in each episode. Our focus will be more technical than entrepreneurial as we look at how to get better. However, we will cover a broad range of topics as we walk through this season. Get Better Actions Each episode will provide a list of three ways to get better related to the given topic. This approach may feel like a clickbait season. Nevertheless, each of these items is intended as a way to take action. The goal is to provide quick and straightforward steps you can take to improve today or this week. The typical suggestions that require a lot of time and effort to implement will be skipped. Review Your Site This episode includes some things you can do to be a little better. The first suggestion for getting back on track is to update your personal/business site. This step is not just a review of the content. Review your technology stack and update it where applicable. We all know that technology is continuously advancing. Take advantage of this progress with your tech stack so you can provide the fastest, smallest, most user-friendly experience possible. This goal may take several hours or days to complete. At least work on building a plan to get these updates completed. Update Your Resume Most people wait until they are looking for a new job to update their resume. It is far easier to update it periodically. This process can lead to a resume that has a more helpful format and one that is thorough. Your journey to get better at a subject will be easier to validate. It is particularly hard to remember what you did a few (or several) years ago when you are trying to provide specific content. Those little projects you work on can easily be lost in the shuffle of big road maps. However, those small tasks can also provide an essential experience that helps your resume pop. Try this out for some hints: https://careersidekick.com/how-to-improve-your-resume/ Review Your Roadmap We often leave roadmap planning and reviews to the end or beginning of the year. That is ok, but why not check up on your progress so far? You still have some time to make progress on those goals you set months ago and get better in your desired area. That can mean the difference between a year-end review that is disappointing and one where you can see progress. This task is also suitable for considering an adjustment to some of those goals in case your circumstances have changed. If you need to create a Roadmap, this may help: Creating and Pursuing Your Career Roadmap
undefined
Sep 20, 2019 • 20min

Vending Machines For Passive Income

One of the oldest methods of passive income is the use of vending machines. They even found some example in the ancient Egypt pyramids (no, they did not). These are perfect passive income devices. They are roughly a salesperson sitting at a specific location and working twenty-fours per day. Better yet, advances have made these an even better option for those of us interested in generating passive income. Vending Machines Are Smarter Than Ever The whole concept of the Internet of Things is made to order for this area. Think about it. You can ping your machines via the Internet for all sorts of information including current inventory levels, whether a feed is jammed, and even the cash on hand. This technology reduces your need for visiting a machine (or machines) and even can provide you incredibly detailed data. You might even be able to get ahead of a rush on a certain product by looking at past data. These features may add up to more cost, but maybe that is worth it in the end. Meeting a Need The ley to a successful vending business (or any other) is to be there when customers need you most. Think about a situation where a large need intersects customers with a lot of cash. This approach is why cigarette machines worked well in a bar. People wanted a smoke and were already freely spending money. That is event eh thinking behind the checkout aisle in your local grocery. People are spending a lot of money so why not spend a little more and get themselves a treat? There are some challenges to this passive income approach. You will have to maintain inventory, repair machines at times. You might even need to do a late-night visit to a machine in order to fix a broken part or replace a popular item. This can be a headache, but once you can get to a large number of machines you can possibly even corner a market.

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