Develpreneur: Become a Better Developer and Entrepreneur

Rob Broadhead
undefined
Nov 6, 2019 • 23min

Interview Better With These Three Tips

One of the ways to achieve your dream job is to interview better. That allows us to impress decision-makers and win the positions we are suited for. However, a good interview requires time and practice as well as being intentional about the process. Here are three tips to prepare for that next position and win over the interviewers. Research The Position and Company Nearly every interview starts with a "let us tell you about us" introduction. This can sometimes drag out deep into the interview time slot. Avoid this theft of time you can use to impress by driving the introduction. Talk about what you know about the company and direct the conversation by asking for clarification or insight from them. This allows you to take control over the process a bit and shows the others in the room that you care enough to "do your homework." That can be impressive at any level. However, the less expected from an interviewee, the more important this step can be. Glass Door Another User For Glass Door Ask Questions Be an active participant in the process. Ask questions about the company, job, and role that show your industry knowledge, desire to serve, and that you are engaged in the discussion. There is nothing that can sink an interview faster than someone that only responds to questions in terse ways. Make the interview a dialogue where applicable and use that time to "win over" the interviewers, so they are more likely to like and trust you. "I Do Not Know" Is A Valid Answer In talking about asking questions, I mentioned the "T" word. That word is trust. Your likelihood of an offer improves dramatically when the interviewers like and trust you. When you try to talk your way through something you do not know it can destroy credibility. On the other hand, admitting a lack of knowledge shows your desire, to be honest, and direct. Therefore, admit to a lack of expertise when you hit those snags. This step also allows the interview to move on from what you do not know to the areas where you do. That focus on your strengths and positives never hurts your chances of an offer.
undefined
Nov 4, 2019 • 22min

Win Projects And Jobs Better With These Three Tips

Our career path will inevitably require us to try to win projects or land a job. There are simply no ways to avoid that. That means that almost every time you apply for a project or position, there will be others to compete against. Here are three ways to put your best foot forward and separate your proposal from the others. While these do not guarantee wins, they will help you stand out and get you in the door (literally or figuratively). Win Projects By Addressing Details The easiest way for someone to throw out a proposal is when it does not address the requirements. Boilerplate applications and responses that skip over the details will almost always be ignored before reading even half of the proposal. The more you can focus on listed (and implied) requirements, the better. This step allows you to highlight how well you are a fit and that you have shown the author respect by thoroughly reading the request. A detailed response also shows a thoughtful and professional approach to work that can often move you way ahead in the line against the competition. It is depressing how many applications for important roles and projects show almost no forethought. That also happens to be a leading reason for projects to fail. Why hire someone that does not show much concern for your project? Landing a Project for Your Side hustle Remove Fluff - Focus On Needs There is a time and a place for marketing materials. Yes, your proposal should include some of this material to sell your case. However, that tends to be "fluff" and not pertinent to the reader in making a decision. Limit the marketing and general content. Make an introduction, provide a little background, then dive into how you can address their request. Consider how much time is required on the other end to read numerous proposals and dig through for details to compare vendors. The easier you make their job, the more likely you are to start on the right foot with them. References, Examples, and Suggestions Words are great, but concrete examples are better. Include references and examples of past work where applicable. Also, the closer your previous work is to the type requested, the more that helps those that will decide on a winner to see how good you will be. You lower or remove risk when you can show that you have done the same work before. Finally, do not be afraid to include some suggestions among the references and examples. You can throw out ways that past solutions you have provided will be a good fit for them. It may be even better to show how adjustments to previous solutions can provide a better end-result for this new project.
undefined
Nov 1, 2019 • 20min

Three Tips To Avoid Writer's Block And Find Content Topics

Writer's block is a nasty situation when you are trying to crank out regular content. This may be for a blog, a podcast, or a brown bag lunch session. In all of these cases, we want to get straight to the work of creating the content. When we lack a topic or direction, that is not an option. This situation can lead to a lot of lost time while we try to find a subject. However, there are some areas where we can explore and often get past that block quickly. Recent Events The first area to explore is recent events. Although technology moves fast, the other areas of our life tend to be dynamic. That means any area of focus is going to have new events to work with. Your unique take on a situation is always a potential topic for an article. If not a personal view, then try to find someone you can interview or query for their thoughts. When that does not work, you can move over to item two on our list. Something Learned or Experience Much like recent events, we are always learning and experiencing things that can prove attractive to others. We can also reach back to things we learned months, years, or even decades in the past. Even everyday learning experiences like riding a bike or tying a shoe can be a lead-in to your topic. The more recent events will be more likely to erase that writer's block. However, you may want to consider older lessons learned when you are desperate for a topic. New Technology Always Breaks Writer's Block We often talk about how fast technology moves. That makes it a perfect source for information and ideas to break through writer's block. Check out some of the popular blogs and news sites for ideas. You can also visit vendor sites for the tools you use. Whether you find a new announcement, a beta to play with, or the latest general availability release, you can often find a series of articles around these areas. An Excellent Technology News Blog
undefined
Oct 30, 2019 • 22min

Three Tips for Faster Debugging

It is time for honesty. There is a dirty little secret we need to discuss. It might be surprising even. However, we need to talk about the bugs in our code. We all would like to think about writing error-free code. Unfortunately, we also all know that we code bugs more than we want to admit. Therefore, we spend a substantial amount of our time debugging errors ranging from typos to logical flaws. That leads to the topic of this episode. Here are three ways to approach your mistakes that will lead to faster debugging. Verify The Source is Correct The most common source of errors is not logic or even typos. It is an out-of-date piece of source code. This stale code may either be due to a failed save or cached source that needs to be cleared. Think about it. How often do you hear about or encounter a bug on a web page and your first response is to clear the cache? This issue extends out to properly saving and deploying files. It is incredible how often a simple fix like saving, deploying, or clearing a cache fixes the problem. That all points to the most famous approach to fixing broken software; turn it off and then back on again. The IT Crowd Examples of Support Isolate The Problem For Faster Debugging The idea of fixing a problem where it occurs seems obvious. However, the complexity of modern software can make that a challenge. We often deal with several layers of logic and nested calls. This architecture can make it easy to miss the step that creates the error. That means we need to be intentional in tracking down the code that is broken. When we do not, we run the risk of applying duct tape to a symptom instead of correcting the core error. Verify Assumptions When I look back on the most common mistakes I have made in debugging; assumptions are the bane of my existence. Whether it is an assumption that my code works or that third party sources are correct, the result is the same. We can spend hours chasing down phantom issues when assumptions point us in the wrong direction. This recommendation is similar to isolating the problem. However, assumptions can often lead us away from identifying the real issue. Do not be afraid to peel all of the layers of your logical onion in an attempt to chase down that bug.
undefined
Oct 28, 2019 • 23min

Build a Better To-Do List With These Three Tips

Steady progress is an essential step in becoming a better developer. One tool for achieving this is to create a good set of tasks to complete. A daily list is an excellent starting point for building this habit. However, not all approaches are the same. Keep these three items in mind so you can create a better to-do list each day. Simple/Actionable The central idea of a to-do list is to provide a simple plan for getting things done. Thus, these tasks must be well-defined and easy for you to understand. We want to be able to hold ourselves accountable for our list. That is where the simple requirement comes in. We are listing items that will either be "done" or not at the end of the day. If the task is not defined in a way that is easy to assess for completeness, then we are missing the point. Yes, this approach may require us to think about our tasks in a little more detail than we want. However, "design" or planning time will be a good investment while helping us move more smoothly from task to task. https://psychcentral.com/lib/top-tips-for-setting-goals-and-priorities/ Realistic Software developers (among others) are famous for underestimating their tasks. This weakness often spills over to daily task lists as well. I personally run into this problem and have had numerous discussions with others in properly setting daily goals. When you create your list, make sure there is a lot of "wiggle room." Things happen that take us off course. That is ok. We can adjust and work with an incomplete list at the end of the day. On the other hand, a list that never gets completed will tend to lose its value. Think about it. If you ask someone to do something and they tell you day after day that it will get done "tomorrow," when will you give up on it ever being complete? Eat The Frog/Set Priorities We have agreed that putting a task on a list does not mean it will get done "today." Therefore, we need to order our tasks in a way that gets the most important ones done sooner rather than later. Better yet, when we get the things we dislike done first, the other tasks seem easy and enjoyable. There is no reason our tool for accountability can not provide us some victories and endorphin boosts along the way. Habits, Roadmaps, and the Value of Career Momentum
undefined
Oct 25, 2019 • 22min

Three Key Skills For Database Developers

Relational databases are an essential piece of many modern solutions. Thus, most developers have some exposure to SQL within the first few years of their careers. Nevertheless, there are a few skills that separate database developers from others. These three areas make a significant difference between those that want to stick out from their peers. Understand Joins (Inner, Outer, etc.) Relational databases are all about the relationships among data. That means you are limited in how you can utilize these tools until you can leverage the relationships as part of a query. Database relationships, at their most simple, will be among tables. That leads to joins. If you are struggling to understand how to join data from two (or more) tables, then you will struggle to retrieve the desired results. Thus, the best first step in mastering SQL and queries is to get comfortable with how joins work. A Summary of Join Types Complex Queries - The Where Clause Once you understand table joins, then the where clause is next. At its most basic, joins gather data for your query and the where clause filters that down to the exact desired results. These two areas are critical to your understanding to craft high performing queries. The where clause is more complicated though, as it tends to have more options and variations. A where clause boils down to a logical expression. That seems to be why many people that struggle with where clauses hit a mental block. The full spectrum of and-or combinations and throwing in inner select statements can quickly overwhelm even the stoutest logicians. However, you can learn where clauses in steps. There are levels of complexity that will provide you the tools required for higher levels of data extraction. The good news is that these tend to have a reduced level of impact. Those first few tiers of where clause understanding can provide all you need for eighty percent (or more) of the requirements out there. A Where Clause Tutorial Stored Procedures and Functions It is possible to do a lot of work with a database and never write a stored procedure or function. However, this is a skill that all database developers have. You cannot honestly call yourself a database developer if you lack the skills to code within the database. That means stored procedures and functions. These tools are not needed for every solution. Nevertheless, they can make a significant difference in the maintenance, scalability, and performance of an application. They are easily underestimated by those that do not understand them. DBVisualizer How To – Easy Database Administration and Usage Database Job Roles and Vendors – Databases Overview Part 2
undefined
Oct 23, 2019 • 21min

Productivity Habits To Start Your Day Right

One of our often stated goals is to make progress on our goals every day. That leads us to look for ways to create daily habits that promote progress and productivity. In this episode, we look at three productivity habits you should adopt for a proper mindset before getting into the craziness that many days become. These are easy to do and highly recommended among modern productivity gurus. List Your Goals For The Day The simplest thing you can do to start your day is to make a plan. Likewise, the simplest plan you can make is a list of tasks. This habit can end your day or start it, but in either case, the goals are to set priorities and reasonable goals each day. Think of this as your roadmap for the day. When things get hectic, or your mind wanders, you can return to this list to regain focus. As a bonus, this also provides a way to claim small victories each day. That may seem trivial. However, we all have days where we are ecstatic to have any good news in our life. Use The Value of Steady Improvement to Achieve Big Goals Review Your Schedule Planning is a great way to start your day. That includes looking over your prior commitments. Give your calendar a once-over at least and make sure you have a high-level view of where you need to be and when. An appointment you forget about or that you scramble to fit in (because you forgot about it) can be a substantial negative impact on your productivity. Of course, it also can cause you to annoy or lose the respect of others. Our lives tend to be very busy, and that makes it easy to overlook or forget an appointment. Therefore, a habit of starting each day with a review of your schedule is needed and will reduce the risk of that embarrassing situation. Quiet/Reflection Time Taking time out is one of the better productivity habits you can create. We see this in many situations. A little time to "take a deep breath" is a key step in thinking outside of the box or other epiphanies. When we start our day in some style of reflection, it helps us positively set our attitude. The return on investing a little quiet time is rather amazing. However, do not take my word for it. Try it out for a week or two, and see how effective it is for you. Mindfulness Tools
undefined
Oct 21, 2019 • 23min

Three Everyday Applications For Developer Productivity

We live and breath technology. Thus, most of us have several everyday applications for developer productivity. While each of us has our way to work and preferred applications, there are three options you should look into. These are personal favorites and great ideas to up your game in a short time. Codacy Static code analysis is one of those areas where developers do not do an excellent job of using the tools available. That can be a significant problem in our goal to become better developers. Therefore, I chose my favorite as our first application. Codacy is more a site than an application in the traditional sense. Nevertheless, this SAAS solution can help you improve your code quality in minutes. Try this site out for any language you code in. The only extra work needed is to link your git repository to the site and wait for the analyzers to run against your latest commit. The value is incredible, and worth your time to try it out. https://codacy.com Code Review and Analysis Tools (Free and Low-Cost) Grammarly Whether you are an avid writer or someone who hates putting together an email, Grammarly can help you. This plugin and desktop tool gives you spelling, grammar, and usage checking all in one simple interface. It can run alongside whatever editor you are using and is like having a professional reviewer on hand for even your most insignificant communications. Thus, while this is essential for your professional communications, it is one of those everyday applications that can make you seem smarter while improving productivity. The less you like writing and grammar, the better. This solution takes all of that off your hands and can serve as an educational tool by providing suggestions and explanations for the same. Trust me; you will see your writing quality improve overnight. https://grammarly.com Evernote The last of our developer productivity applications is one that is useful seven days a week. Evernote provides a note-taking tool you can access anywhere. It has become more than a simple editor over the years and offers ways to track and edit emails, attach documents, share content, and more. The ability to share that content effortlessly across devices is ideal for the modern connected society. Instead of trying to remember what device held that document or where you stashed a note, Evernote can be a one and only stop. There is also a search feature to help you quickly retrieve multiple notes on a topic. https://evernote.com
undefined
Oct 18, 2019 • 21min

Three Technical Certifications To Advance Your Career

There are many ways to advance your career and earning potential. A degree is one path. However, technical certifications tend to be easier to earn and equally as valuable. The process of going through a certificate track is an excellent way to learn new skills and validate them for others. The challenge with this path is to select the technical certifications that are best for pay and the latest jobs. AWS Solution Architect/Google Cloud Architect Everyone has heard about the Cloud. Unfortunately, that does not equate to a lot of highly-skilled resources being available for the needed work. While there are several Cloud vendors in the industry, the Amazon and Google platforms are the most popular. There is a lot of work out there for those that pursue it. On the other hand, there are a lot of people that desire those jobs. That combination makes these perfect areas to acquire a technical certification. The more advanced your certificate, the better. The positions you win can be long-term and high-paying, along with being cutting edge. These technologies are also here to stay. Therefore, the time and resources you invest in these certifications will have plenty of time to provide a return. https://aws.amazon.com/certification/certified-solutions-architect-professional/ Scrum Master The "Agile" methodology and scrums, in particular, are prevalent. Thus, certifications related to them are in demand. This area is one where a lot of people think they can do the work. However, they do not completely understand what needs to be done. The argument against these sorts of technical certifications is that the underlying concepts are not that hard to understand. Nevertheless, it seems few people spend the time doing so, and that makes certifications valuable to employers. Rather than building some form of technical evaluation, a hiring manager can fall back on requiring a certified scrum master. That provides them the comfort of having someone that knows what they are doing to run the ever-increasingly necessary scrum process. CISSP/CRISC Security is a huge topic. It even spills out into the non-technical world on a daily basis. This fact makes the security-related jobs highly visible, and they have commensurate pay. While any security certificate is useful, these high-end technical certifications can kick-start your career. They are becoming similar to technical degrees, six-sigma, PMP, and other niche certifications that are often requirements to even apply for a position.
undefined
Oct 16, 2019 • 21min

Three Important AWS Services Developers Should Know

We spent an entire season going over Amazon AWS services at a high level. That shows how many options you have available in that world. However, there are some options that are more important AWS services to know. These are the core offerings upon which many other services are built. Thus, it provides a good foundation for growth. Elastic Compute Cloud (EC2) The first of our important AWS services is the Elastic Compute Cloud. The short name for this service is EC2. This service provides a virtual machine. While the size, power, and storage can all vary, at its core, EC2 is a virtual machine. There is a free tier option for this service that will allow you to create a UNIX server and work with it for a year. The power will not allow you to run a highly popular web site. However, you can create a little development server, run a web or application server, and get familiar with all that you need for such a device. While this may not seem very valuable to a software developer, it is an excellent secondary skill and experience to have. EC2 is also a unique way to play around on a UNIX command-line and work with security. Installing WordPress on Amazon AWS EC2 Launching Your Apache Web Server on Amazon's EC2 Simple Storage Service (S3) While EC2 is a foundational service for processing, S3 is a foundational storage option. This service is used by a lot of applications and sites to store data securely on an enterprise-grade platform. Thus, you can backup files here, treat it as a CDN, or even as a file server of sorts. The S3 administration tools are easy to learn, and you can get up and running in minutes. Also, the API is easy to learn and provides several examples to kickstart your development. Cloud 9 This service provides a cloud-based IDE you can use for coding on your EC2 (or another vendor VM) server. While this is useful for making adjustments to server-based code, this has grown to be good enough for creating virtual development environments in the Cloud. Even better, this tool and its features are regularly improving. Therefore, keep up with the latest developments here as the tool that is "not quite there" today may be your tool of choice next year.

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