Career Advice From a Unicorn

Since leaving Snagajob one month ago I've thought a lot about what I've done in my career – what's worked, what hasn't, what's truly important to me, and what I want from a job.

I've been fortunate to be in the right place at the right time with the right skill set surrounded by the right people. In looking back I realized the path I've been on is one I purposefully created. It is my belief that you can have a similar experience, and blaze your own path to success.

In this post I'm going to lay out the lessons I've learned over the past 17 years in the tech industry. While these lessons can be applied generally my experience is in tech, specifically IT and software development. To that end my goal is to share the lessons I've learned in the hopes they will help you have a long career in tech, an industry full of rapid advancement and continuous change.

As with many things in life, it starts with a solid foundation.

Create a Solid Foundation

The first thing you need to have is a solid foundation to build on. That means gaining proficiency in one programming language, and being able to work with a few different types of databases. It means being able to deploy applications you write to a cloud platform like AWS. It means being able to explain the choices you made when building and deploying your applications, and the trade-offs that led to your choices.

I've always contended that any developer worth her salt can pick up another programming language, as the core concepts remain relatively the same between languages; it's the syntax and semantics which are different. Having a solid grasp of at least one language can help you quickly pick up others. The same is true with databases and cloud platforms.

With a solid foundation in place you can look ahead to the future.

Look to the Future

Over the past months I attended a lot of meetups and met a lot of people. I've heard the difficulties of finding a new job from people older than myself. They talk about learning more about “the cloud” or picking up another programming language so they can get a new job. They also speak of the difficulty of finding tech work at an older age.

The fact is this – the tech industry is continuously and rapidly evolving. To stay relevant you need to keep up, regardless of age. Keeping up means staying on top of the trends and positioning yourself to take advantage of them by constantly updating your skills.

Complacency and comfort bring death.

Now I'm not suggesting you spend all of your free time learning the latest javascript library or web framework. What I am suggesting is you look at the industry trends and place yourself purposefully into their path, learning whatever is necessary to move forward and stay ahead.

As an example, I had a web development firm for 9 years. It was quite successful and took advantage of the popularity of Ruby on Rails and the desire for startups to rapidly iterate on ideas and get products out quickly. I would not, however, start a web development business today.

In 2013 I noticed the growing popularity of data science, and set out on a path of being able to build large scale, distributed data processing systems for machine learning. It wasn't luck that I figured it out – it was purposeful action.

To identify the trends you need to get out from behind your computer and go talk with people.

Get Out From Behind Your Computer

As much as I love automating everything possible and creating systems that identify trends for me, I've found it much more productive to simply talk with people. Collectively people know much more than I do. They can provide a wealth of information in the form of their experiences. They can help point out the trends.

When I moved back to DC in 2013 I started going to a wide variety of tech meetups. I noticed the growing popularity of data science, and also that there was no meet up on the so-called 80% of data projects – getting the data into an analysis-ready format.

I started Data Wranglers DC, which over the course of two-and-a-half years grew from nothing to over 2,500 members.

A few months in I saw that by joining Data Community DC I would get more exposure in the community, work with a group of very smart people who knew what I wanted to learn, and would get access to amazing opportunities. Data Wranglers ultimately led to me being recruited for a job where I got to work on handling data at scale, which led me to the book I'm currently writing.

In addition to starting Data Wranglers I reviewed data science books for Packt Publishing. This gave me access to information on popular data science topics before others, and later led to writing a book for them.

None of that would have happened had I not gotten out from behind my computer and started talking with people, a lot of people, and asked for their advice.

Here's the thing though – people will tell you all sorts of things, so ultimately, once you've gathered all the information, you need to figure out for yourself what you want and go for it.

Figure Out What You Want and Go For It

I was fortunate to get involved with the Jack Canfield organization years ago as a customer and a vendor. Something Jack said will stick with me forever; he said:

We make the best decision we can with the information we have at the time.

This applies equally to decisions made by anyone at any point in time.

To me this means if you've done a thorough-enough analysis and make a decision to act don't second guess yourself – go for it! You'll never have perfect information, so make the best decision you can and take action. Now here's what I mean by a “thorough-enough analysis” in terms of career:

  1. Determine what is important to you.
  2. Figure out what you're good at.
  3. Talk with others to discover how what you want and what you're good might align with what's out there.

By way of example here is what I'm telling people I'm interviewing with:

Due to my past employment experiences I am trying to decide if there is a company where I will be a good fit or if I should work for myself again. I'm looking for a job where I can:

  • Work remotely so I can spend more time with my family and less time commuting, or travel no more than 20 minutes one-way.
  • Work with a very smart team of people who share my philosophy of “make it work, then make it better”.
  • Leverage my experience building distributed, scalable data processing systems, leading teams and knowing how to communicate.
  • Gain more experience with machine learning at scale.
  • Above all work with a high-integrity team.

By telling employers what's important to me, what I'm good at, and what I'm looking for we can determine if there's a fit. If so great! If not that's okay too. Some might call this radical honesty. I call it being very clear and not wasting anyone's time.

I'm taking my time to find a good fit. Having said that, it's much easier to take your time if you have a safety net in place.

Have a Safety Net

I started my first business when I was 23. I didn't yet have a college degree, any business experience, or money in the bank. Despite all that I hauled off and quit my job to do my own thing.

I don't recommend doing that. If it wasn't for my parents bailing me out I probably would have had to declare bankruptcy, not good for a 24-year-old. However I did learn the important lesson of always having a safety net.

A safety net can take many forms; I've seen two. The first is working a full-time job while you start something on the side. The second is saving enough money to live for one year without income.

Whatever your situation, I suggest saving enough money to live for 6-9 months without income in case something happens. Companies once expanding can contract and you can be laid off due to no fault of your own. Or you could (unintentionally or perhaps intentionally) say the wrong thing to the wrong person and be fired. Or you may decide to quit for personal reasons.

In life nothing in certain, so as the saying goes hope for the best and prepare for the worst. However all the preparation in the world cannot help you if you're missing a crucial ingredient – integrity.

Always Act with Integrity

Integrity is defined as, “the quality of being honest and having strong moral principles”. It does not mean being inflexible and sticking to your guns no matter what. It also doesn't mean telling everyone everything all the time. What is does mean is standing for something and not lying to people.

You can act with integrity and stand up for yourself and your beliefs while being diplomatic. There is a level you can go to before you appear rigid and unwilling to change. Be aware of the feelings of others and how your words and actions can impact those around you.

For instance, let's say you observe a behavior that's negatively impacting your team. You've spoken in confidence with other team members, and they feel the same as you do; however they are not saying anything.

You could go to the boss and tell them how “everyone” is upset with this person and their behavior, naming the team members you've spoken to and sharing your conversations. Or, you could act with integrity and tell your boss about the behavior you've observed, how it's impacting you, and how you believe it's impacting the team as a whole.

Always act with integrity. It will serve you well and you'll maintain a good reputation. The world is small and a good reputation is important to have. Acting with integrity will keep your reputation intact.

Above All Make Up Your Own Mind

With all that said, you are your own person with your own mind, and determine the direction you head in. Take all advice, including what I've said here, for what it is, the experience of one person.

My sincerest hope is what I've written here helps you chart your own course to success, however you define it.


  1. Ultimately, after spending many hours on the internet at last we’ve uncovered somebody that surely does know what they are. Thank you for sharing wonderful article. Great post. I will be your regular visitor.

Speak Your Mind