Develpreneur: Become a Better Developer and Entrepreneur

Rob Broadhead
undefined
Apr 12, 2019 • 22min

Developer Tool Categories You Should Know

While we have discussed a broad range of tools over the years. There are a lot of good ones out there that are free and even better ones that are commercial. Well, in most cases. It can be incredibly time-consuming and challenging t keep up with all the options out there. However, we can make it easier on our learning schedule by reducing our focus to developer tool categories. What Are Some Developer Tool Categories? When you think about your ability to make use of tools, it becomes obvious that there is a practical limit to usage. For example, it makes little sense to have two IDE's for your Java development. Pick one and use that. On the other hand, there are developer tool categories we should fill with solutions. This approach will help us have the best tool for the job as needed. There are a number of natural categories based on how we write code. However, there are also a lot of utilities we should not forget. Coding Tools We will start with tools that help get our implementation done. These include some familiar categories. IDE Simple editors Specialized editors (XML, CSS, HTML, etc.) Scripting languages Database IDE Testing tools and frameworks Version Control Tools Build Environments and Scripts Move/Copy files Code analysis Helper Tools There is more to our job than writing code. That leads us to these other categories of tools we should cover by having a "go to" option in each. Mail Communication (Chat, Slack, etc.) Office Apps (Word processing, spreadsheets, etc.) Calendar or Task Tracking Issue/Defect Tracking Server administration Image manipulation There may be some more types of tools required for your job. This may include an e-learning platform, time tracking, or more. It is worth your time to think about the tasks in your daily routine and whether you have good tools to get those done. Sometimes even a little productivity boost can add up quickly. Learn more in the book written for Develpreneurs at any stage in their progress: https://www.amazon.com/Source-Code-Happiness-Finding-Success-ebook/dp/B07MKZBF6R
undefined
Apr 10, 2019 • 21min

Increasing Productivity and Quality With Proper Tools

One of the side effects of becoming a better developer is increasing productivity and quality. You literally get more value from time spent on a task. These improvements can come through skills or through using tools. That is the focus of this episode. Part of becoming a better developer is adding to the list of tools available for a task. One Trick Ponies Unfortunately, there are developers that master a tool or two and never advance from them. While they are very productive with what they know, there are advances in tools that will pass them by. An extreme example is the development languages themselves. Think about how hard it would be to create a modern application in machine language. Even the greatest master of writing assembly code will be far less productive than a C# or JavaScript developer. Technology is moving forward at a rapid pace. That translates to the tools we use. Therefore, we need to spend time scouting out new tools and learning them on a regular basis. Our programming skills will fade if we do not use them. Likewise, our productivity will fall behind the competition if we do not stay current with the tools available. You can see this in the industry with developers that are a few decades into their career but are still doing the same work they did when they started. Changing Standards I find that the way tools conform to best practices is highly underrated. When you stay current with the tools you use it helps keep your development in line with the latest trends and concerns. One example is the use of a cloud platform for your server. Most of the Cloud providers start out a new instance with security built in. They sometimes even prevent you from making your server less than secure. These vendors use best practices and the latest tools to provide you a safe server out of the box. It may be a minimum standard, but at least it is better than nothing and saves you some work. Increasing Productivity And Quality All of these little improvements to your development process add up. They will save you time and improve quality by helping you avoid "beginner" mistakes and typos. You will even find yourself falling into line with the latest best practices in conforming to the way tools guide you to perform tasks. As you grow in your career, do not forget to add tools to your toolbox along with all of those cool languages and frameworks. Learn more in the book written for Develpreneurs at any stage in their progress: https://www.amazon.com/Source-Code-Happiness-Finding-Success-ebook/dp/B07MKZBF6R
undefined
Apr 8, 2019 • 21min

Enhancing Your Resume With Development Tools

A big part of advancing your career includes enhancing your resume. There will be new skills you pick up along the way, and it helps to let others know about them. This consists of the tools you use in your daily work. Even those that you use occasionally can be the first step into a new job. Enhancing Your Resume, Not Spamming Key Words First and foremost, this topic is not about spamming your resume with tool names. Instead, this should be an exercise of putting things on your resume that make you who you are. Where languages and platforms are the most valuable aspects of your professional profile, tools are also useful in enhancing your resume. These items tend to be secondary requirements for a position. On the other hand, they can be the difference in you getting a job or someone else. An Imperfect Process We have complained about the recruiting process in the past so we will skip that in this episode. Nevertheless, there are cases where the framework or tools you know best make you a better candidate for a position. For example, there is a big difference in knowing JavaScript or being proficient in Angular. Tools like an IDE or version control solution can also be essential in ramping up at a new position. The challenge is figuring out what might be of value to a recruiter in vetting your resume. Unfortunately, we can not know the essential things in every case. Our dream job may elude us if we do not mention our experience with Maven. Therefore, we should take the "more is better" approach. I find a useful metric for determining whether to put something on your resume is whether you can consider yourself skilled or if you have mastered it. Even applications like Word or Excel can fall in this category if you can create new and useful documents from scratch or are comfortable with advanced features. Investment Equals Value Another rule of thumb to consider is whether you spent time learning the tool. The database application TOAD is common, and I remember spending several weeks getting comfortable with how to use it effectively. That time spent is not needed for a new customer, so there is value in it. Thus, I might list the application on my resume. The possibility of whether I include it is related to how current my knowledge of the tool is. In this case, TOAD is something I have not used in several years, so I have dropped it off of my resume. I may mention it if a customer is looking for someone with that knowledge, but can clarify that the skills are rusty. Learn more in the book written for Develpreneurs at any stage in their progress: https://www.amazon.com/Source-Code-Happiness-Finding-Success-ebook/dp/B07MKZBF6R
undefined
Apr 5, 2019 • 20min

Researching New Tools and Technologies

Learning for our personal purposes is not the limit of what IT workers are asked to do. There are also situations where we need to learn the latest tools or technology advances. Unfortunately, these are not often tasks assigned to junior staff. However, researching new tools is an excellent way to add to our resume and general skill set. Therefore, we should take on these assignments when they become available. Researching New Tools For A Project An assignment to research technology or tools will include a deliverable. Thus, we need to develop a process and approach for accomplishing our goals and reporting the results. Fortunately, we have been doing this for years. Nearly every skill we learn includes a proof of mastery. That may be in the form of a test, a certification, or a summary report. Likewise, each of these options is required in our professional pursuits. Therefore, the key to success in research projects (just as any other) is to understand the requirements and deliver on them. Finding Options Researching new tools often includes a requirement to evaluate whether they are worth switching to. In these cases, the deliverable will include a comparison of features amongst the options. The best approach to these projects is to develop the comparison criteria early on. That will help you know what to focus on while you are learning about each tool. When you wait until the end of your research to determine the evaluation criteria you are more likely to have to review what you covered. It is almost a guarantee that effort will be duplicated. Proof In The Pudding Most of the research projects I have been involved in over the years are a demo or proof-of-concept. In these cases, we are looking for solutions to a problem or evaluating the viability of a solution. Projects like this are personal favorites as they focus on the new solution over proven details. It takes a lot of drudgery out of the development process. Better yet, it is a type of development that is closest to pure learning. The things you already know are almost ignored by design. Thus, we focus on the new. Learn more in the book written for Develpreneurs at any stage in their progress: https://www.amazon.com/Source-Code-Happiness-Finding-Success-ebook/dp/B07MKZBF6R
undefined
Apr 3, 2019 • 23min

Career Advancement Through Training and Conferences

There are many ways to add to our skills and advance our career. While on-the-job learning is essential, formal learning situations can move the ball forward at a faster pace. Training and conferences fit this bill perfectly. However, the cost of one of these options can be more than our employer (or we) are willing to take on. Plan For Training and Conferences Budgeting is critical. This is true no matter if you are paying the bill or you are asking your boss for the company to cover it. There is often a suitable return on investment for taking part in a conference or training. Thus, the challenge is freeing up the funds for it. First, building these educational opportunities into a budget goes a long way towards success. Then, understand that signing up early can often provide discounts and allow for lower cost travel options. You might even be able to build one of these events into your non-work life. You can travel to non-local events as part of a vacation or find friends and family near the location that can help with housing costs. The event is often just a portion of the costs. Reduce Overhead Part of the benefits of planning for these events is the option of lower cost options. Therefore, do some searches for local opportunities or ones that have timing more suitable to your needs (spread over fewer days, out-of-season rates, etc.). There might be remote or virtual options you can take advantage of as well. As with most things in life, the further out you plan it, the more opportunities that will be available. Alternatives You do not have to pile your learning into a few days or week. It is often better for your retention if you can spread the content over a more extended period. That means that options like online courses that are self-paced are more likely to "stick" with you mentally. Thus, these prolonged periods of learning can be done in smaller chunks where mastery can be achieved before moving to the next section. Think about your grade school days. You approached education by spending an hour or less a day in a subject over months instead of a week of cramming. We have to learn and keep up with the changing IT environment. Fortunately, training and conferences provide us a way to optimize our time in those pursuits. Learn more in the book written for Develpreneurs at any stage in their progress: https://www.amazon.com/Source-Code-Happiness-Finding-Success-ebook/dp/B07MKZBF6R
undefined
Apr 1, 2019 • 23min

Learning New Tech Skills On The Job

An IT career demands that we include learning new tech skills as part of our regular routine. This requirement often leads to a lot of time spent on career development. However, there are ways to make progress on this goal in our daily work. Thus, allowing us to kill two birds with one stone as the saying goes. Learning New Tech Skills - Startups The best situation for drinking from the firehose is a startup. You will have more to do than you can handle and that equates to learning. Yes, it is not the easiest way to advance your career. On the other hand, it may be the fastest way to get ahead. There is a reason so many Internet millionaires come out of areas that are full of start-ups. You are not guaranteed to be learning new tech skills in these environments. Nevertheless, it is highly likely and you will be adding to your resume at a torrid pace. In these situations, you will want to take some time every so often to absorb your gains. These jobs can be a blur of activity if you are not intentional in driving home the learning that goes with them. Stay Mobile No, this is not mobile in the sense of a small device. You can learn a lot by moving around within your company or area of focus. This approach is one that often utilizes complementary and similar skills. For example, you can shift from front to middle tier or change to build management from development. These roles may not all appeal to you but they will be valuable in the long run. As in most careers, doing the hard work no one likes can help you stay ahead of the competition as you progress. Opportunity There are all sorts of opportunities that arise in our day jobs. There may be a one-off project or something we can script. We might even be presented with the chance to build a product for our company that can become a side hustle. These opportunities are not always obvious so keep a close eye out for them in case they cross your path. When in doubt, ask around. You never know what opportunities exist in the department next to you. Learn more in the book written for Develpreneurs at any stage in their progress: https://www.amazon.com/Source-Code-Happiness-Finding-Success-ebook/dp/B07MKZBF6R
undefined
Mar 29, 2019 • 22min

Playing Your Professional Role as An Employee or Consultant - Career Intangibles

We all have seen situations in our career where we are asked to play a role. The role is sometimes a broader one than we are used to. However, we can also be asked to play a role that is only a piece of what we can provide. In either case, we need to fulfill the desired role and add value without overstepping our boundaries. Employees are often given more freedom in this area which can make a large challenge as a consultant. Playing Your Professional Role Is About Expectations Every member of a team (whether in sports, business or otherwise) is expected to play a role. That is the function of a team. We bring together disparate skills and experience as a cohesive unit. That is important to remember when we feel stretched or under-utilized. Our lack of comfort is not a personal slight. Instead, we are being asked to fill a gap the team needs. The challenge in properly filling a role is stepping up to a request or setting our ego aside to get the job done. We all can see how moving out of our comfort zone for the team is admirable. However, it is not always clear to see the value of such actions when we are in the middle of it. A Hired Gun I find that the most important factor to remember as a consultant is that we are expendable. The value a consultant brings to the table often revolves around the temporary nature of that relationship. A company does not have the same investment in a consultant as they do an employee. That allows them to hire more experienced workers for projects (rent a resource) or to increase their resources for a short time (staff augmentation). Thus, the role of a consultant is much more at the whim or desire of customers than an employee. Whatever we did in our day job as an employee may not be exactly what a customer (or new employer) desires from us. The expectation a customer has is that you are good at playing your professional role. Note, that this is not your ability to use all of your skills, it is using a subset of them. On the other extreme, you are expected to be able to step into a new role or set of skills because of your track record. Communicate The bottom line in these situations is to understand what is expected of you. It is much better to ask questions than overstep boundaries. That is what to remember when playing your professional role. Your employer or customer has requirements and they expect you to fill them. Learn more in the book written for Develpreneurs at any stage in their progress: https://www.amazon.com/Source-Code-Happiness-Finding-Success-ebook/dp/B07MKZBF6R
undefined
Mar 27, 2019 • 23min

Best Practices For Travel and Related Expenses

A side hustle does not preclude travel. Thus, sooner or later you will face the question of how to handle travel and related expenses. You might not have to wait. Your employer may send you away for your day job and you will be faced with the same challenges. Where large companies often have highly detailed processes, procedures, and limits for travel, smaller ones often do not. Therefore, we are left to use our common sense and set expectations. Common Travel and Related Expenses We have to eat and expect a place to stay along with transportation when we travel. These are all standard expenses. However, we can cover these needs on the cheap, or we can live like a king. Although we should not live like a pauper while traveling, we also should not take advantage of the situation. There is a happy medium we should pursue. I have found that typical meal patterns work well while traveling. That means that you should avoid eating at high-end establishments for every meal and you might even skip a few. If your travel includes the need to have some business lunches or dinners then they should be at places typical for your company. You should avoid expensive things like a bunch of adult beverages or the surf and turf. You can also eat better than mac and cheese or small salad meals. Set Expectations Billing, while you are traveling, is something that everyone seems to handle differently. I find it is best to treat others as you would expect to pay them. Thus, if you bill travel time and are not productive, ask yourself if you would do the same for someone in your employ. I prefer to work while traveling if at all possible. That allows me to bill for time that is productive to the customer. I may tack on an hour or two around a trip as time lost to me due to the travel interruptions. The important thing is that I will discuss my typical approach with a customer before I submit a bill. Better yet, do so before the travel is undertaken. That allows us to agree on how to proceed and avoids surprises. The costs related to travel may even change the approach taken which is not an option after the fact. That makes it a win-win and allows me to provide the best service to a customer. Plan Ahead There are a lot of details that can lead to expenses when we travel. Think through all of the requirements beforehand and be clear on them with your customer. As always, set expectations and tackle these travel and related expenses questions before the fact. That approach will avoid a lot of headaches and can keep your customer relationship from suffering. Learn more in the book written for Develpreneurs at any stage in their progress: https://www.amazon.com/Source-Code-Happiness-Finding-Success-ebook/dp/B07MKZBF6R
undefined
Mar 25, 2019 • 21min

Consulting Intangibles - Building Relationships

An excellent measure of long-term success is how much your customers like you. Thus, building relationships are a critical part of your job. You may have the skills to be able to stay busy without the "personal touch." However, life will be simpler when you create some advocates along the way. Building Relationships Organically Your primary focus should be solving problems. When you do this, it is hard for people to not be positively biased towards you. We have a hard time disliking those that remove our pain points. On the other hand, a doctor with a bad bedside manner may end up being an alternative decision rather than a primary physician. The good news is that your normal schedule will include a lot of opportunities for building relationships. Meetings are a perfect example. That "dead" time at the beginning of meetings, while you are waiting for everyone to join, is great for small talk. You can ask about recent events or even play it safe and talk about industry news. When you show yourself to be approachable it will make it easy for others to be affable. These sort of little connections can help you build a relationship over time. Get To Know Your Customer The process of gathering requirements can be a way to learn how your customer ticks. The design phase and related feedback will be even more so. These tasks include a lot of discussion with your customers that is centered around their likes and desires. This information is an excellent foundation for building bridges. I am often surprised at the ways a design decision teaches me about the people around the table. Simple things like color choices may lead to discussions of alma maters or favorite sports teams. Regular Contact Any marketing book or tutorial will bring up the idea of staying on the mind of a customer. That is why a brand is so important. You can build a brand and stay current with customers by sending them regular (useful) content. For example, a monthly newsletter is a common way to "touch" customers and try to stay in front of people's minds. Relationships are critical to sales and growth. Take advantage of "quality time" with your customers to build a rapport early and often. Learn more in the book written for Develpreneurs at any stage in their progress: https://www.amazon.com/Source-Code-Happiness-Finding-Success-ebook/dp/B07MKZBF6R
undefined
Mar 22, 2019 • 22min

Explicit and Implicit Project Deliverables

We have touched on the idea that there are explicit and implicit project deliverables in most cases. These may be due to our customer simplifying a solution or general prerequisites and best practices. Some common implicit project deliverables include documentation, test scripts, demonstrations and the like. We need to take all of these into account for our estimates and risk calculation. A Complete List I have found that one of the most significant contributors to bad estimation in software is missing requirements. We spend time on designing the explicit features and let the implicit ones fall through the cracks. Then those missed items pop up during the project and add a little (or a lot of time) to the schedule. These "oops" items add up and can be significant to the point of long hours or slipped dates. You may point out that experience should reduce or eliminate these missed items. That is correct. However, it is easy to forget about these items unless we follow a detailed process in planning out the project. Estimating Implicit Project Deliverables The other problem with these assumed requirements is estimating them. They tend to be dependant upon the overall requirements and system complexity. My favorite examples of these are testing, documentation and general project management or meetings. Each of these items is part of almost every project. However, they are easy to estimate incorrectly due to their reliance on the project as a whole to determine size and effort. Documentation is the easiest to evaluate. We just need to be clear about the packaging for the end solution. This should include answering the questions about the user, installation, administrator, technical and other guides. Testing and general project management (status updates, creating tasks, assigning them, and tracking progress) are often underestimated. The challenge with these is the cost per "cycle." For example, when you have weekly meetings to plan, share and discuss progress then that overhead will increase as the project timeline grows. Test cycles work in a similar fashion. When we add a partial or beta release to a project then we need to include testing impact with that estimation. The explicit and implicit project deliverables are not hard to determine. However, we need to be intentional about including all of them in our planning. Sometimes it is best to slow down, take a deep breath, and review our plan to catch all of these critical items. Learn more in the book written for Develpreneurs at any stage in their progress: https://www.amazon.com/Source-Code-Happiness-Finding-Success-ebook/dp/B07MKZBF6R

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