In December, I once again spoke at the South Hills School of Business and Technology for their Local Hack Day. I shared some of the lessons I learned throughout the year, and would like to share them here on my blog as well.
Throughout the year, I encounter people who would like some development work on the side. They may be experienced developers looking for additional work, recently graduated noobs, or people just trying to find a place to start on their software engineering journey. As a small business, I don’t have the bandwidth to take them all on. But when I see potential, I try to see if I can plug them in. This year, I learned three valuable lessons about staff. First, inspect what you expect. Just because someone says they possess a particular skill does not mean they actually do. Finding this out late in the game can be very costly. Second, I would encourage noobs to check their attitude at the door. If you’re just starting out, don’t assume you know more than me. You don’t. Third, friends don’t always make great team members. They may be great to hang out with, but mixing personal and professional relationships can be dangerous.
As a software engineer, learning to deal with customers is a new challenge for me. This year, I learned the value of contracts. While I have always preferred to do business with a handshake, I’ve learned that customers may not always think the same. Without a contract, you have no recourse when your customer relationship goes south. On the flip side, when you do have a signed contract, treat your customer like the girlfriend (or boyfriend) that you’ve always wanted. Show them how much they matter as a customer. Otherwise, they’ll find a service provider who will!
I started this year doing a lot of work that yielded no value. As a business, I must focus on those things that generate revenue for my organization. Some of that work is obvious – such as billable customer hours. Others tasks are essential, but don’t generate revenue directly – such as advertising efforts. Still other tasks are utterly useless – stop doing them. For things that are essential but don’t generate revenue, find ways to automate them or to lesson the workload. I use Hootsuite for my social media, for example, because it optimizes my social media workflow.
As a developer, it’s important to have the right tools available to not only be in a position to exploit future opportunities but also to be able to meet current business demands. I have been telling people for the last year to learn OpenCV and Artificial Intelligence. The future will undoubtedly involve computer systems doing work previously only done by humans. In the meantime, learning how to create PDFs is a far more practical business need for everyone. I’ve also found LaTeX to be a very useful tool for creating business documents. Not only can I easily check the documents into source control, but I have 100% control over the layout without my software injecting the style it thinks I want.
In the tech world, you can never be left behind. You need to always be learning new tools, frameworks, and languages. Go to sites like Udemy or Coursera and further your tech skills. Seek out valuable certifications and read books. Louis Pasteur famously said “luck favors the prepared”. In the tech world, that’s typically the programmer with the broader skillset.
Each year of our lives, we should strive to be more than we were last year. The starting point for that is to reflect on the last year and learn from your successes and your mistakes and then to apply those lessons to the coming year. Look back on your last year and take note. This year can be the best year ever if you put in the effort to ensure you’re on the right path.