Local Hack Day 2019

Learning

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.

Team Members

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.

Customer Relations

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!

Productivity

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.

Valuable Tools

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.

Education

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.

Conclusion

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.

Drive & Success

Drive

Most people would say that I’m a successful person. I’ve started my own business, enjoyed 20+ years of a happy marriage, raised a wonderful daughter, earned a third degree black belt, and done so much more. Of course, each of us may view success differently. To some, success may be earning their first million before 30 or to earn their MBA. Success may be marrying the woman of your dreams or buying the car you’ve always wanted. Regardless of how you define success, the formula is pretty much the same.

Drive

The relationship between drive and success is well defined. Tommy Hilfiger said: “The road to success is not easy to navigate, but with hard work, drive and passion, it’s possible to achieve the American dream.” Chuck Norris also recognized the connection: “I’ve always found that anything worth achieving will always have obstacles in the way and you’ve got to have that drive and determination to overcome those obstacles on route to whatever it is that you want to accomplish.”

But what too many people seem to ignore, is that the opposite is also true – without drive, you will have a very difficult time being successful. When I look around, the people I most often see struggling to get by are the same people who have little – if any – drive. They buy their next lottery ticket and hope this is the one. They put their money into fad diets because it’s easier than working on the body they want. They rely on whatever easy method or get rich quick scheme they can find. And where does it leave them? Exactly where they started.

My wife has often says I’m driven by a rubber band. She says that I never stop, and that she believes I could achieve anything if I set my mind to it. I’m thankful to have that drive. It has served me well. But to those of you who have not achieved the success in your life you have wanted, why do you think that is? Are you driven to success, or just driven to the couch to binge watch the next season of your favorite show? Are you as interested in learning Italian as you are sitting on the deck all summer? If you’re not getting where you want in life, what do you intend to do about it?

It’s never too late to change your life to be what you want it to be. However, you need to start by taking charge of your life and focusing on the things that will drive you toward the success you wish to achieve!

Scheduling & Planning

Schedule

Last January, I made a decision that profoundly changed my life – I started scheduling and planning my time. Most people are subjected to schedules and plans at the workplace, but few take their life so seriously. As a consequence, we all end up in a place we never intended to be. We all have hopes and dreams, but we fail to plan the steps necessary to get there. During the last year, I started my business full time, completed 61 college credits in 6 months, read four books in Chinese, and accomplished more than I have in years. None of these things would have happened without planning and scheduling.

Pen & Paper

Many people may use electronic tools like Google Calendar or their iPad Reminders. While these are both great tools, they are way too easy to ignore. I have found that using a written planner is so much more effective. Every night, I plan out out the most important things I need to accomplish the following day. On Sunday, I plan the big items I need to accomplish throughout the week. I take notes of what happened in any given day so that I can reflect on my progress later and see where I can improve. I nearly always have my journal nearby so that I can capture anything important to me.

Electronic Tools

While I prefer to do my scheduling and task lists on paper, there are some things that simply work better via electronic scheduling. For instance, when I write a blog post, I schedule it to be published at a future date. That way, I can write several posts during one block of time and have them go out during the upcoming month. For my social media, I use HootSuite for the same purpose. I can schedule all my media for the week or the month and not worry about it during the week. This ensures that my blog and my social media are constantly fresh and updated without the necessary worry about posting every day.

The End Result

Through the use of scheduling tools, I have found that I am able to be substantially more productive than ever before. Tasks get accomplished on time, more gets done, and I have more free time to focus on the things I enjoy in life. Even more importantly, I know where my life is headed. I have a plan, and I know where I’m going. Do you?

Hack Day

In December, I participated in the MLH Local Hack Day. Hack Day is an opportunity for tech nerds of various disciplines to get together and collaborate on projects or to simply attend lectures presented by various people and organizations.

During Hack Day, I was invited to speak to the students of our local tech school – South Hills School of Business and Technology – about my experiences as a programmer and an entrepreneur. One of the topics of my presentation was advice for aspiring developers.  Below is some of the advice I gave.

Never stop learning.  The people who get ahead in life are those who are educated. They read daily. They are always learning the skills needed for tomorrow’s workplace. Those who are left behind – particularly in tech – are those who have antiquated skills.

Shut the TV off. At the end of your life, you will never look back and say “I wish I had watched more television”. TV can provide entertainment, but it will never help us achieve our goals. In fact, TV will derail our goals and dreams by preventing us from acting to achieve them.

Learn Linux. It’s sad the number of techies out there that don’t know their way around a Linux server. Given the number of things that run Linux such as Android, Docker, AWS, and Google Cloud; knowledge of Linux is crucial to your tech career. If you’re stuck in a Windows-only world, it’s time to diversify!

Master JavaScript. Like it or not, JavaScript is becoming the dominant language of development. Not only is JavaScript the defacto language of the web, it is increasingly being used for server side development (Node), build automation (Grunt), robotics (Johnny5), and has become the standard language for passing data between systems (JSON).

Master Web Development. Along with the growth of JavaScript, web technologies are exploding too. Cordova and Ionic allow web technologies to be used to create mobile applications and Electron allows JavaScript to be used for cross-platform desktop applications.

Write Code Daily. A weight lifter gets stronger by lifting weights. A runner gets faster by running. A coder gets better by coding. Reading books is great, watching videos is cool too. But if you want to write better code, get in the habit of writing code every day.

This is just a short list of the advice I provided. Nonetheless, it’s a pretty solid checklist to start down the path to becoming an expert software engineer.

Change is Good

Yesterday, I took the Myers–Briggs personality test online. I’ve done this many times in the past, and I always come up INTJ – “The Architect”. This is a great personality type to be – listed as being imaginative and strategic, independent and decisive, hard working and determined, and having high self confidence. But as I began my journey into entrepreneurship, I realized that being an introvert wasn’t such a great idea. So, I decided to work to change myself to be more extraverted. After all, if I can’t comfortably talk to people and sell my services to clients, it’s going to be difficult to run my own small business selling software services. To make this change, I started reading books a year ago on small talk, communicating in social settings, and similar skills needed to be an extravert. I also read books on sales and leadership. After all, being an extravert isn’t going to get me far if I can’t sell myself or if I can’t project myself as being a leader in both business and software development. So, when I took the personality test yesterday, I was pleased to see that I have changed to ENFJ. Not only have I become more extraverted, but I have learned to rely more on my feelings instead of just logic. As a software engineer, that’s tough, but the world of people is rarely a world of logic – it’s a world of feelings. If you can’t relate to someone on that level, logic won’t get you very far.  Now, instead of being “The Architect” I’m “The Protagonist”.

Are you growing and changing? Is You 2.0 going to be better than you are today? What are you doing to get where you’re going? Are you willing to work to change the most basic elements of your own self to move your life in the direction you want?

Carpe Diem!

Today, my daughter and I ran the first of three 5K runs this summer. We decided to participate in the Disney Virtual 5K this spring, and have spent the last few months training. Today’s race wasn’t great. We didn’t break any records, but we accomplished our goal for this month. Next month, and again in August, my daughter and I will run another virtual race.

As I was running today, I remembered something I read this spring. “Today I will do what others will not so that tomorrow I can do what others cannot.” This simple idea applies to just about everything in life. Today, I will show my wife that I love her so that tomorrow I have a marriage others look to as an example. Today, I will study Spanish for 30 minutes so that when I travel to Mexico later this year I can get around. Today, I will learn a new technology so that tomorrow I will be more marketable.

To achieve any goal in life, effort must be exerted day after day. I see people everyday who want to own their own business, or write a book, or run a marathon. Yet, rarely do these same people have any plan to get there nor are they exerting any energy toward their goals today. They are hoping that, by some miracle, they will wake up one day and it will have happened. But it never will. My business, my profession, my 5K run today, and everything else I have ever accomplished have taken untold amounts of effort and energy. But never once have I looked back on those efforts and regretted my decisions. Can you say the same about the things you have put effort into?

A leadership conference I attended this spring talked about the importance of self-leadership. About how we can never lead others if we can’t lead ourself. How do we lead ourself? By setting goals and working toward them. The leaders we wish to follow are those who have a record of achievement. They are people we aspire to be like. Are you putting in the effort today to be the leader that others will look to tomorrow? If not, are you willing to put in the effort today so that tomorrow you can do what others can’t?

Sieze the day! Make something awesome happen!