I spend a lot of time doing two things: blogging and telling other developers the benefits of doing things like starting their own blog. (Occasionally I squeeze in a little bit of time to code as well. And my wife says I spend too much time answering emails and checking my phone—she wanted me to add that to this post.)
So, I can tell you that one of the major pains I am well acquainted with is that of writing when you don’t feel like writing or you just don’t have anything to say.
I experience this frustration myself—heck I am experiencing it right now. I decided to write this blog post because I couldn’t come up with anything else to write about. And, to top it off, I don’t feel like writing either.
But, let me jump ahead and give you a little secret: by the time I’m halfway through this post, not only will I know what to write about, but I will feel like writing.
I know this from experience, and it is part of what keeps me going on days like these.
Writing is difficult
Writing isn’t an easy thing to do.
It is hard to spill your brains onto a blank piece of paper and not make it look like spaghetti.
It’s difficult to constantly come up with new ideas, week after week.
But, by far, the hardest part of writing is just sitting down in front of the keyboard and typing. Even now, as I am typing these very words, a million other things are vying for my attention, calling me away from the task at hand.
Most software developers who start a blog, end up abandoning that blog, because they never learned how to grit their teeth, glue their ass to a seat and write.
Sure, it starts out fun. When you first throw up your blog on the internet, you are full of ideas. You could write a blog post each and every day—not because you are more creative when you first start, but because you are more motivated. The whole process is still very new and enjoyable.
But, fast forward a couple of months—or a couple of weeks for those of us with ADHD—and that shiny-newness of blogging wears off. That little fairy that was sitting on you shoulder telling you what to write is gone—it’s just you and the keyboard.
This is exactly when you have to search deep down inside of yourself and find the grit beneath your soft cushy exterior. You have to decide—that’s right, make a decision—that every week you are going to write a blog post and nothing is going to stop you from doing it.
You’ll want to start over and give up
Even as I write this very sentence, I want to go back to the beginning of my post and delete everything. It’s no good. My thoughts are scattered; my analogies are crap; no one cares about what I have to say on this subject.
I’ve been writing blog posts just about every single week for over 4 years, and I am still smacked in the face with the stick of doubt just about every time I sit down to write. So, I can tell you from experience, that part doesn’t get any easier.
But, you can’t let that stop you. Your face might be swollen, some of your teeth might be missing, you might have to squint to see out of one of your eyes, but as soon as you care that what you are writing is no good, you’ll stop writing—permanently. You’ll fall right off the wagon.
By the time you’ve gotten this far into my own essay, it doesn’t matter if it is good. I’ve got your attention already. I can’t embarrass myself any further, because if you didn’t at least sort-of like what I have said so far, you wouldn’t be reading this sentence to begin with.
I’ve come to the realization that you can’t always hit homeruns. Sometimes, you write crap. Sometimes, what you think is your best blog post turns out to be so terrible that no one makes it past the first paragraph.
But, sometimes what you think is terrible, turns out to be the most popular thing you’ve ever written.
The point is, you can’t know until you hit that publish button and even if you could, it doesn’t matter, because you can’t write for other people, you’ve got to write for you.
Not because you are writing something that you’ll someday read later and say “oh, yes, that is how I solved that problem in the past”—although, that does happen from time to time. Instead, you have to write because you made a commitment to yourself and the commitment wasn’t to string marvelous words into sentence on paper, but instead just to write—it doesn’t have to be any good.
The secret is to keep going
I’m sure you’ve noticed by now that I haven’t really told you what to do when you don’t feel like writing and you have nothing to say, so, here it is: write.
Yep, that’s it. It’s that simple.
Take some duct tape, put it over your mouth, shut up, stop whining, pull up a chair, sit down at the keyboard and start moving your fingers.
You can’t sit there and type and have nothing to say. Now, what you have to say, you might think isn’t any good—and it may be utter crap—but there is no reason that has to stop you from writing. Just do it.
There are a million ideas bouncing in your head, but some of those ideas will only come to the surface when you have decided you are going to sit down and do the work.
Don’t believe me?
Try this exercise on. Right now I want you to close your eyes, and think about nothing. That’s right, think about absolutely nothing—I’ll wait.
How’d that go for you? Were you able to think about nothing?
So, don’t tell me you don’t have something to write about. Of course you do. Your problem—and my problem—isn’t writing, it’s typing it out.
P.S. – By the time this post goes live, I’ll be in the middle of launching my How To Market Yourself as a Software Developer program. If you liked this post, go check out the program. It has a whole video course on creating your own developer blog and making it successful.
For software developers, there is no guidebook that tells you how to advance from one stage of your career to the next.
Many programmers start out quickly in their careers, advancing up the ranks, only to find that they have hit the proverbial glass ceiling which caps their earnings and gives them the choice to either jump tracks to the management career plan or stay stagnant where they are.
It doesn’t have to be this way though.
In this article, I’m going to tell you how you can shatter that glass ceiling and keep on advancing.
Why the glass is there
Before we talk about how to break the glass, let’s talk about why the glass is there in the first place.
The big reason most software developers hit an imaginary ceiling on their income and career advancement is because they stay with the pack.
Most people have what I call the herd mentality. It means that you stick with the herd and you value yourself based on where you fit in the herd. If you are at the front of the herd, you are doing good. If you are at the back of the herd, things aren’t looking so good for you—you are in danger of becoming a hungry lion’s next meal.
The developers at the front of the herd make more money and have nicer offices, and the ones at the back make less and live in tiny cubicles, but they are all part of the herd. So, even though there is a difference in pay from the junior developer to the senior one, there isn’t much of a difference in pay from one senior developer to another one, even if one of the senior developers is more valuable and has more advanced skills.
Now, there are a few developer animals out there that break away from the herd. These developers have figured out that they don’t have to try and compete to be at the front of the pack, instead they can run on their own where they don’t have to worry about their position in the pack, because they can just outrun it.
This is, of course, easier said than done. In fact, I have quite a bit to say about how to go about doing this and what exactly this means, but let’s not get into that just yet.
First, I want to break up this example a bit more and apply it to real life.
As software developers, we are acutely aware of our position within the pecking order. We know which developers are higher up than us and which ones are lower. We have titles at our jobs which help us to know our place.
But, it is important to remember that the rest of the world has no idea about which developers have greater skill and can do a better job, and for the most part, they don’t care—they just see a pack. They see a pack with some developers at the front and other developers at the back.
When an employer hires you for a job, they just want to know where you are in the pack. Are you at the front? The back? The middle? They pay you accordingly based on your ranking within the pack.
If you aren’t explicitly standing out far beyond the pack, you are going to be grouped right in with the pack and paid accordingly. And once you make it to the front of the pack, you’ve got nowhere to go in their eyes—you’re already the best.
So, the glass ceiling isn’t there because someone mandated that software developers shall only make so much money and live in 5 by 5 cubicles. Instead, the glass ceiling is there, because unless you are doing something extreme enough to differentiate yourself from the pack completely, you are part of the pack and the pack is always going to stick together. That means that the average salary of software developers will be used to determine what the developers at the front of the pack will be paid, as well as what the developers at the back of the pack will be paid.
Breaking away from the pack
So, if you want to increase your value as a software developer, your goal should be to break away from the pack. But, how do you do it?
Let’s start by looking at an example outside of the software development world—the restaurant business.
Suppose you are a cook. There are quite a few cooks in the world. In fact, each restaurant in the world, whether it be a fast food joint or an elegant upscale restaurant, needs at least one cook of some sort.
Cooks run in packs. There are low level cooks who don’t make much money at all. Some of these cooks work at McDonalds or another fast food restaurant. Some of these cooks work at more reputable places, and we typically call them chefs instead.
But, you’ll probably find that most high level cooks also cap out around the same level. That is except for a few that end up having their own television shows, write books and make millions.
The same is true for musicians. There are quite a few musicians who are really good and talented, but only a small number of them break away from the pack to become rock stars. The rest are relegated to the pack.
If I asked you why you honestly think Gordon Ramsey, or Rachael Ray, or Wolfgang Puck make so much more money than other chefs, what would you say?
You might be first tempted to reply that it is because they are so much better than other chefs, but we both know that isn’t true. Sure, they are probably in the top tiers of skill level, but the real reason these celebrity chefs make so much money is precisely because they are celebrities.
They are primarily being paid for their names. There are hundreds of chefs in the world at a similar skill level, but those hundreds of chefs are relatively unknown. The same applies for musical talent and even software development.
Now, I’m not saying you need to become a celebrity to break away from the pack and advance your career as a software developer, but what you do need to learn how to do, which most celebrities and famous people already know how to do, is to market yourself.
Unfortunately, there isn’t a guidebook for software developers on marketing themselves either.
But, that is precisely why I wrote one.
Well, more than just wrote one. I put together a complete package on marketing yourself as a software developer.
I’ve been in the industry a pretty long time and I’ve made my share of mistakes. I got stuck for a pretty long time at my own personal glass ceiling, until I started to notice how the developers I would read articles from and see speaking in front of thousands at conferences, had figured out a way to break away from the herd.
I talked to many of these ultra-successful developers, (I won’t use the term rock star here, since it is so overused,) and I found out how they were doing it.
I started applying what I was learning and discovering to my own career, and it didn’t take long before I was able to really break through my own glass ceiling and see that there actually was no limit to the earning potential of a software developer who knows how to market him or herself.
Since then, I’ve been hired for dream projects at my own price. I’ve been on numerous podcasts and publications. I’ve created a successful and popular blog that gets over 100,000 visits a month, and I’ve gotten countless other opportunities.
Now I want to share the information with you.
I’ve put together the guidebook that I said didn’t exist. The one that will help you break away from the herd and put your head right through that glass ceiling.
Only it will be more than just a simple guidebook. I’ve put together a complete package which includes two complete video courses; several eBooks on topics like how to market yourself, social networks, professional resume advice, networking; and even some video interviews with top developers who have already broken away from the herd themselves and will share their secrets with you.
This isn’t a scam or some marketing mumbo-jumbo, it is real tried and tested career advice from myself and other software developers who have figured out how to make their names stand out. The fact that you are reading this post proves that what I am offering works.
After talking with many software developers from all around the world, I’ve come to a pretty startling conclusion: most developers hate their jobs.
I guess it might not be all that startling to you—especially if you are one of them—but, to me, it was kind of a shocker.
I’ve definitely had some jobs I’ve hated, in the past—one in particular. I won’t name names, but I do recall one job I had where my boss was a complete a-hole. I was supposed to be a “programmer,” but he had me running all around a certain big city associated with an apple, doing tech support.
Now, I don’t mind doing tech support—when I am 16 and broke as $#!^.—but, as a kick-ass C++ programmer who just saved the company hundreds of thousands of dollars by reverse engineering some propriety binary format and writing a C++ program to interpret the data, I felt my talents were being… underutilized.
On top of that, I had to wear a tie to the office every day and he monitored—and questioned—my every move. It was like living in prison, only I didn’t get to go out to the yard and lift weights.
Anyway, when the day came that I finally got laid off from that job, I was ecstatic. It was like I was just told that I had won the lottery or my dead dog had come back to life. (Ok, I’m not so sure about the second one, but you get my point.)
What about you? What do you dislike about your current job?
Perhaps you aren’t quite in the same position I was, but you just have some things that annoy you about your present circumstances—or, maybe you do really wish your boss would die in a horrific car accident—either way, I’m going to take a shot at guessing what’s bothering you.
Your work is not interesting—you want to do cool stuff
Let me guess. When you interviewed for the job, they promised you that you’d get to use the latest version of ASP.NET MVC and do test driven development. The only problem is when you actually started your first day of work, you ended up maintaining some legacy VB6 application that you deploy right into production every night?
Ok, so it might not be that bad, but there is a good chance that if you are unhappy with your current job it is because you are doing work that you don’t find interesting. You want to work with the latest technologies. You want to use that new-fangled Angular.js framework and run it on Node—I know, I get you. I’m with you on that one.
Your boss is a jerk
Sometimes the perfect job is ruined just by having a bad boss. What is that principle that causes a good engineer to get promoted up to an incompetent manager? Oh yeah, the Peter Principle. Let’s just pretend, the current douchebag that is barking orders at you and micromanaging everything you do got promoted because he was a brilliant engineer.
Anyway, having a bad boss sucks. And there isn’t much you can really do about it. If you are in this position, I feel sorry for you—really.
You hate the commute
Ugh. Driving. Ugh traffic. Ugh stupid inclement weather making you late.
I don’t commute anymore, but when I did, it sucked. I hated getting up every morning, getting dressed, scrambling to grab my coffee and get out the door and then driving to some dreary office building.
Sometimes the biggest detriment to job satisfaction has nothing to do with the job itself.
Forced to work too many hours
It is easy to fall into this trap. You take a job and expect to work a normal 40 hour workweek only to find this unspoken expectation that you will work 10 hour days and come in on Saturdays. You answer work email from home. You always feel like you are on the clock.
“I’m going to need you to come in on Saturday… mmmmkay?”
Not doing something meaningful
This one is a big one. If you don’t feel like what you are doing matters, it is hard to find the motivation to keep doing it. I’ve been at plenty of jobs where it felt like the work I was doing was not appreciated and didn’t really matter.
If you work for a small company or startup, this probably isn’t the case, but all too often in the corporate world developers are absorbed into the collective and feel like their individual contributions don’t really count towards much.
No opportunity for advancement
Perhaps the worst feeling of any job is that you have nowhere to go. Maybe you are already at the top of the development track, or maybe the company you work for doesn’t really have any kind of career path laid out for technical people.
It is really easy to bump your head against that glass ceiling and feel like you are just wasting away your years grinding out project after project with no rainbow in sight.
What can you do about it?
Ok, so you might be wondering where I am going with all this. My goal isn’t to make you depressed and hate life. No, instead, I want to tell you what you can do about your situation to make it better.
Interested? Good. Read on.
The obvious solution to hating your job is to find a new one—or even strike out completely on your own. But, finding a new job is sometimes a scary proposition. Most of us would rather stick it out in a non-ideal situation than deal with the pain and fear of change.
But, if you are ready for change—or at least if you are considering it—here are some practical things you can do to help you get a better job.
Improve your skills
The first place to start is with improving your existing skills and perhaps acquiring a few new ones.
If you are stuck in a job you hate, try dedicating the first couple of hours each morning—before you head into the office—to improving your skills and learning new ones.
By paying yourself with the first couple of hours of your day, you’ll make sure you are able to devote some quality time to your own personal development, before your soul-sucking job drains you of the will to live.
I’ve found early morning is the best time to get some uninterrupted time to grow as a developer. Sure, you’ll have to wake up a bit earlier, but it is worth the sacrifice. Just trade a couple of hours at night for some in the morning—you’ll be glad you did.
Learn how to market yourself
If you’ve been following my blog, you probably know it is getting close to the launch date for my “How To Market Yourself as a Software Developer” package, so it probably comes as no surprise that I was going to find some way to plug the course in this post.
But, in all seriousness, and awesome courses you should definitely buy aside, you really do need to learn how to market your skills if you want to get a better job and have better opportunities. I know I beat this horse to death, but I only do so because it is so vitally important.
The truth is, most software developers have the skills they need to get an excellent job—to get the job of their dreams—but, the one thing holding them back is exposure. No one knows that they exist and no one knows the skills they posses.
Most developers aren’t good at personal branding and marketing—I know I wasn’t. I had to learn things the hard way and study quite a bit on the subject. But, guess what? It paid off big time.
Once I learned how to effectively market my skills, I was in the position of turning down job offers instead of worrying about how I would find a new job if I ever lost mine or just couldn’t take it anymore. I’ll tell you the truth, learning these skills easily quintupled my salary. Yes, that is right, quintupled, as in I make 5 times as much money now as I did when I didn’t know how to market myself.
Oh, I have your attention now?
Sign up here and you’ll be one of the first to know when I launch “How To Market Yourself as a Software Developer” on March 27th. I’ll also send you a 20% off discount code right to your inbox on the day of the launch.
Bonus: with the right skills you can work from anywhere in the world
I thought I’d throw this one in there since so many people often fantasize about being able to work from the comfort of their own home or to travel the world working from their laptop.
One major benefit of developing your skills and learning to market those skills effectively is freedom—that’s right, freedom.
When you are in high demand, you have many options to choose from, instead of being forced into the only option that is available to you. A skilled software developer who posseses the knowledge to market those skills can find many different ways to work remotely and on their own terms.
You can get the remote, work-from-home jobs, that everyone wants. Those jobs are hard to come by, but if you have a solid reputation and know how to advertise your skills properly, all kinds of doors open for you.
You can also get out on your own and start your own consulting business. When clients are coming to you because of your name and reputation, you can literally just pick up and work wherever you want without having to worry.
So, if you hate your job, don’t despair. Help is within reach, you’ve just got to be willing to invest a little time and money to reach it.
Oh, and if you know someone who needs to read this post… share the love.
If you are a regular reader of my blog, you probably know that for the past few months I’ve been working on a really big project.
I get many emails from developers wanting to know how to boost their career by either finding a new job, starting a consulting business, or even just getting a raise.
I try to help as many of these developers as much as possible through emails and Skype calls, but there is only so much of me and those types of communication don’t easily scale.
I was trying to figure out how to solve this problem
Then, I had an idea…
What if I put together a full program which teaches developers what I think is the most important skill required in boosting their career—marketing themselves?
I don’t mean the cheesy kind of marketing yourself that gives marketing a bad name. I mean the true, down-to-earth, I want to help someone and by helping them I’ll build a reputation for myself, marketing.
I found in my career, this approach to marketing—of providing value to others—was the single most impactful thing I had done to increase the amount of money I make and to open up all kinds of opportunities for me.
So, that is how the idea was born. My Pluralsight courses on all kinds of technologies were very popular, but I feel like the biggest value I could provide—more valuable than any technical course—is to show developers how to get out there and build a name for themselves in the community.
Here is what I created
I didn’t want to just create a normal video tutorial. I feel like the material in this course is better served by a combination of video, books, interviews and more.
I want developers who buy the package to feel like they are getting a huge value for the price. I want to make sure that I am not leaving out any of the advice I would have given my younger self if I had a time machine and could travel back in time.
I started out by writing the flagship book for the course, “Why Marketing Yourself Is Important.” I feel this book is a good starting point for the program and gives readers an understanding of what exactly the value of marketing yourself is and what exactly it entails.
The book is designed to introduce the concepts that are covered in more detail in other parts of the program and to get a reader more familiar with these concepts so that they understand where each piece fits in.
Next up, I created the “Building a Brand” video course. The goal of this course is to talk about the importance of building a brand and show viewers exactly how to do it. I want to cover more than just the surface level understanding of what a brand is and really dive deep into what makes a great personal brand and the value having a great personal brand can bring.
I wanted this course to be structured like you are having a real conversation with me. So, I shot a majority of the course in full HD video with me talking into the camera. In this course I take you from the basics of understanding what makes up a brand all the way to the creation of your own brand and I answer the most common questions related to personal branding that I have received from talking about this topic at code camps and conferences.
Since having a blog is a central part of the strategy I recommend, I created a full step-by-step course that shows you how to build a blog from scratch and gives you the tools and advice I’ve learned over the years for making your blog successful.
In this course I go over all the options for setting up a blog, including free hosting, shared hosting and using a full blown virtual private server. But, I don’t want to just talk about building blogs, so I took the extra steps and actually show you how to create a blog using each possible option.
I end the course by giving you all the tips and tricks I’ve used to build this blog up to a blog that gets over 100,000 visitors each month—around 3 thousand per day on average.
I feel that learning to use social networks effectively is a very important skill for getting your name out there and spreading the content you create. So, I wrote another book called “The Ultimate Developer’s Guide to Social Networks.”
In this book, I lay out my overall strategy for gaining traction on social networks. I talk about concepts like building an audience and connecting with people. I cover my strategies for each of the major social networks. I also give a run down of all the tools I use to manage my social networks effectively and not spend hours each week keeping up my presence in them.
One area that I feel is sorely lacking for most developers is the area of creating a good resume. So, I decided to write a “Resume Advice That Will Make Or Break You” in the form of: do this, don’t do that. I included all the best resume advice I’ve gotten from recruiters and hiring managers over the years along with tips that I’ve used myself to land good jobs and negotiate higher salaries.
Next, comes the big topic of getting your name out there. I decided to write “The Complete Guide to Getting Your Name Out There” to cover this topic in detail. In this book I talk about all the different mediums you can use to get your name and brand out there where people can see it.
I start out by talking about how to get people coming to your blog. Then, I give you some advice on getting published in magazines or other blogs. I cover writing your own book and either self-publishing it or getting it published by a traditional publisher. I even talk about all the tips and tricks I use to create video tutorials and screencasts or shoot high quality YouTube videos. I also cover the topic of getting on developer podcasts or creating your own podcast—it isn’t that hard. And finally, I give you some practical advice on getting out there in the community either by speaking or through open source. There is a ton of information packed into this book.
I really want to make this package valuable, so I didn’t stop there. I created a list of networking do’s and don’ts and I hired a graphic designer to create a beautiful inforgraphic out of it. I am really happy with how this thing came out. In this infographic I reveal all the networking secrets I’ve learned over the years from countless books, articles and just plain old trial and error.
Finally, I reached out and contacted the most prominent and well know software developers I could think of. I was able to get Bob Martin, Jeff Atwood, Jon Skeet, Rob Conery and a bunch of other developers to let me interview them. I feel like these interviews alone are worth the price of the course—Mark Freedman, even agrees with me.
— Mark Freedman (@MarkFreedman) March 9, 2014
In these interviews I dig deep into what made these famous software developers so successful. They share plenty of secrets I haven’t heard anywhere else. One interview in particular that I think you’ll find extremely valuable is the one I did with Pinal Dave. Pinal is the creator of SQLAuthority, an extremely successful blog that gets over 1.8 million views per month. That’s right 1.8 million! For the first time, he shares his secrets to success.
I’ll also be updating the package with more interviews and other content as I get feedback about the content. I want to make this package as dynamic as possible.
When does it go live?
So, you might be wondering when this course goes live. Well, if you preordered the package, you’ve already gotten most of the content I’ll be launching with.
But, if you didn’t preorder, you can get the full finished package on March 27th. If you are a subscriber to my email list, you’ll get a nice hefty discount code in your email on the day of the launch.
Man, am I tired
I do have to say, I am exhausted from working on this package. I’ve never put so much effort into a single project in such a relatively short time-frame. I spent countless hours up late at night working on parts of the package. But, I think it was all worth it, because I am extremely happy with the way everything turned out. I am 100% confident this course will help developers learn the skills they need to market themselves and boost their careers.
In this video I talk about how important it is to build a routine for yourself.
I’ve found that having a routine, while boring at times, is really important for long term success. I used this technique to get 30 Pluralsight courses created this year alone and 54 overall.
Watch the video to find out why I think having a routine is so important.
There is a useful observation about the world that is often applied to software development called the Pareto principle or Pareto’s law.
This principle suggests that in many situations 80% of the results come from 20% of the causes.
For example, Pareto had realized that 80% of the land in Italy, during his time, was owned by 20% of the population.
Since then, many people, including Pareto himself, have applied the same observation of this 80-20 rule to many other areas of life from economics, to business and even software development.
But, I’ve found that we rely on Pareto’s law just a little bit too much.
The problem with generalizations
The biggest problem I have with Pareto’s law is that is applied way too often to too many situations. In many cases, especially in software development, Pareto’s law becomes a self-fulfilling prophecy—the more you look for Pareto’s law, the more you magically seem to find it.
None of this is to say that Pareto’s law isn’t a real thing—of course it is. If you go and take a look at real hard numbers about distributions of things, you’ll find Pareto’s law all over the place in your statistical data. But, at the same time, if you go and look for the number 13, you’ll find an alarming number of occurrences of that two digit number above all others as well.
It is very tempting to force things that don’t quite fit generalizations into those generalizations. How often do we use the phrases “always” and “never?” How often do we fudge the data just a little bit so that it fits into that nice 80-20 distribution? 82% is close enough to 80 right? And of course 17.5% is close enough to just call it 20 after all.
Not only can you take just about any piece of data and make it fit into Pareto’s law by changing what you are measuring a little bit and fudging the numbers just a little if they are close enough, but you can also take just about any problem domain and easily, unconsciously, find the data points which will fit nicely into Pareto’s law. There is a good chance you are doing this—we all are. I do it myself all the time, but most of the time I am not aware of it.
I’ve found myself spouting off generalizations about data involving Pareto’s law without really having enough evidence to back up what I am saying. It is really easy to assume that some data will fit into Pareto’s law, because deep down inside I know I can make it fit if I have to.
Seeing the world through Pareto colored glasses
You might think there is no harm in fudging numbers a bit and finding more and more places to apply Pareto’s law. But, looking at the world and blindly assuming all data falls into a distribution of 20 percent of the causes being responsible for 80 percent of the effects, is like walking around with blinders on your eyes—you are only seeing part of reality and even the reality you are seeing tends to be a bit distorted.
Again, this doesn’t mean that Pareto’s law isn’t correct a large amount of the time, but it means that when you are just assuming that any data that appears to obey this law will, or worse yet, that all data MUST obey this law, you are severely limiting your perspective and restricting your options to those that already fit your preconceived ideals.
Sometimes I wish I had never heard of Pareto’s law, so that I wouldn’t be subject to this bias.
Let me give you a bit of a more concrete example.
Suppose you blindly assume that 80% of your application’s performance bottleneck comes from 20% of your code. In that case, you might be right, but you might also be wrong. It is entirely feasible that there are some parts of your code that contribute more or less to the performance of the application. It is also pretty likely that there are some bottlenecks or portions of code that heavily impact the performance of your application. But, if you go in with the assumption that the ratio is 80-20, you may spend an inordinate amount of time looking for a magical 20% that doesn’t exist instead of applying a more practical method of looking for what the actual performance problems are and then fixing them in order of impact.
The same applies for bugs or testing. If we blindly assume that 20% of the code generates 80% of the bugs, or that 20% of our tests test 80% of our system, we are making pretty large conclusions about how our software works that may or may not be correct. What happens when you fix all the bugs caused by the 20% of code that generates 80% of them? Does a new section of code now magically produce 80% of the bugs? If 20% of your test cases test 80% of your code, can’t you just create those ones? Why create another 80% to only test another 20%? And if you did follow that advice, then wouldn’t you have the situation where 100% of your tests tested 80% of your code?
The problem is when you start applying and assuming that Pareto’s law applies blindly, you start making all kinds of incorrect assumptions about data and only see what you expect.
So, was Pareto wrong?
In short, no. He wasn’t wrong. Pareto’s principle is a thing. In general, in many cases, it is useful to observe that a small amount of causes are responsible for a majority of effects.
But, it is not useful to apply this pattern everywhere you can. The observation of the data should guide the conclusion and not the other way around.
I find it more useful, especially in software development, to ask the question “is it possible to find a small thing that will have a great effect?”
A good book on this very subject is The 4 Hour Chef. Although I don’t always agree with Tim Ferris, he is definitely the master of doing more with less and talks frequently about concepts like minimum effective dosages.
In other words, given a particular situation, can I find a small thing I can do, or change I can make, that will give me the biggest bang for my buck?
Sometimes the answer is actually “no.” Sometimes, no matter how hard we try, we just can’t find a minority that influences the majority. Sometimes the bugs are truly evenly distributed throughout the system. Sometimes the contributions of team members are fairly equal. One team member is not always responsible for 80% of the results.
And let’s not forget about synergy. Which basically is when 1 + 1 is equal to 3 or more. Sometimes the combination of things together makes the whole and separating out the parts at all greatly reduces the function.
For example: eggs, sugar, flour and butter can be used to make cake, and you could say that 80% of the “cakiness” comes from 20% of the ingredients, but if you leave one of those ingredients out, you’ll quickly find that 100% of them are necessary and it doesn’t even make sense to try and figure out which ingredient is most important, because alone each ingredient functions much differently than they do all together.
In software development this is especially true. Often in complex systems all kinds of interactions between different components of a system combine together to create a particular performance profile or bug distribution. Hunting for the magical 20% in many cases is as futile as saying eggs are responsible for 80% of the “cakiness” of cake.
Let me ask you a question.
Why do you think Bill Clinton gets paid $200,000 to speak for an hour?
Is it because he is such a good speaker that just hearing the magic words come out of his mouth will make you a better human being and drastically change your life?
Or do you think it might have something to do with the fact that he was the president of the United States of America?
I’m not doubting the Bill Clinton is a good public speaker. He is likely one of the best, but it is not his skill alone that commands such a high price. A large portion of his price tag comes from the name he has built for himself.
You might say that he has…
Style and substance
Just having style is not enough. Style is just a name without anything to back it up.
Have you ever been suckered into buying one of those products on late night TV? You know what I mean, the ones that they sell at 2:00 AM and throw in all kinds of extra things if you only act now?
That is an example of style, but no substance. You aren’t getting what is being sold. The infomercials are advertising a product much better than what you actually receive. When you open the box and try out the product, you feel like you got ripped off—and you did.
Substance alone is not enough either. I’ve known many very skilled people that couldn’t market their skills worth a dime. Often people who focus on developing their skills don’t feel that they have the ability or time to learn how to market those skills, so those kinds of people go underappreciated and never live up to their full potential. As a software developer, you are probably more likely to fall into this category.
To reach the ultimate level of success and truly increase your value, you have to have both style—the ability market yourself and make a name for yourself, and substance –the skills that pay the bills.
Whether you like Bill Clinton or not, you have to admit that he does have both; that is why he commands such a high price tag.
Skills are not as important as you think
One thing that many programmers and software developers find hard to believe is that skills are not the most important thing in advancing your career.
Don’t get me wrong, you have to have some skills and knowledge. Just like the dice-o-matic you bought at 2:00 AM and quickly discovered was actually a piece of junk, if you pretend to have skills and abilities that you don’t actually possess, your customers and clients will be just as disappointed and look for a trash can to drop you off in.
But, at the same time, most people can’t recognize the difference between someone who is in the 95% margin of skill in a field from a person who is in the 80% margin of skill in that field, unless they also happen to be an expert themselves in that field. Unless you are a doctor, or dentist or auto mechanic, you probably don’t have a way of really evaluating how good a doctor or dentist or auto mechanic is—although you can probably quickly spot a phony.
So, why is this important?
Because, if you are like me—or at least how I was—you are probably spending way too much time focused on increasing your skills and not enough time increasing your style; building a name for yourself.
What I mean by this is that if you are at a decent level of skill, you will see much bigger benefits in building a name for yourself than you will in increasing your skill further.
It doesn’t matter if you are an independent software developer trying to get more clients or sell a product, or you are looking to work for someone else who will pay you more money, or you just want to get that promotion at your current job. Whatever your goal or situation is, complimenting substance with style will multiply the value of your skills much more than increasing those skills themselves.
The best way to think about this is like a mathematical equation.
(Style ^ 2) * Substance – Expectation = Value
Let’s break it down.
Style is more important than substance, because while skills are essentially capped and become harder to increase over time, style can be increased to a much larger degree—you can always build a bigger name; get a bigger audience.
Plus, the effect of having a larger audience tends to increase exponentially. That is why commercial spots for the Superbowl are so expensive.
Now, from the style and substance multiplication we have to subtract expectation to get a true sense of value.
Consider the case where you bought that dice-o-matic from a late night infomercial. The style points were pretty high. Lots of great marketing techniques were at play to get you to make that purchase, but those techniques also tend to setup some pretty high expectations of what the product should do. When you see the guy on TV using the dice-o-matic to chop an iPhone into tiny pieces, it sets a pretty high level of expectation.
Style is high, but substance is pretty close to zero and expectations are high, so in many cases value can actually be negative.
You have to consider the same thing in your career, when you are marketing yourself and your skills. Some of the marketing techniques you could use to get a quick audience would also produce a very high expectation, so if you don’t have the skills to measure up, you are going to create some negative or very low value.
On the other hand, if you have a high enough level of substance behind what you are promoting and you are able to promote yourself in a way that doesn’t build up more expectation than you can deliver, you are going to be able to bring a pretty high amount of value.
Increasing your value
So, for many of us software developers and programmers the answer is simple. The most effective way we can increase our value is to learn how to market ourselves; a skill that I have found many IT people tend to lack. Of course there are some great examples of developers who do not lack this “style.” Most conference speakers and well known authors or consultants are very good at promoting themselves and really increasing their value by carefully paying attention to the equation above.
Now, of course, this is much easier said than done. I’ve also found that most software developers don’t really know how to go about marketing themselves. I didn’t either for too long of a time—and I am still learning how to do it every day. But, I have learned some valuable techniques that I think just about anyone can apply to build some points on the style side.
If you are interested in learning about how to market yourself to really increase your value, sign up for my newsletter here, so I can keep you updated on my future posts and videos covering that topic and much more.
I am planning some pretty exciting content around all of the information I’ve gathered over the years about marketing yourself as a software developer and I’ll be sharing a large amount of that information here on this blog.
This is the 3rd post in a three part series about quitting your job and working for yourself. Check out the first post about why you should want to quit your job, and the second post about the fantasies and realities of quitting your job.
I want to start off by saying that I, myself, have had several false starts and I’ve witnessed countless others who think that they are going to quit their job and live their dream only to wash up, shipwrecked on the shores of reality.
I’ve already talked about the harsh realities of working for yourself. If that part didn’t scare you at least a little bit, or you think that what I said doesn’t apply to you, there isn’t much point reading any further, because this advice won’t help you either.
But, if what I said earlier made you sweat just a little bit; made you just a little bit more unsure of your brilliant plan, then you’ll probably find the advice I offer here immensely useful (I wish I would have had this, advice when I started out.)
Transition into working for yourself
Now, for some people this ends up working out. These are the people you hear of that quit their job to follow their dream and then they created some startup company that got purchased for millions of dollars. Some people also win the lottery and others, unfortunately, get hit by lightning.
But, what you don’t hear about is all the people who quit their jobs to follow their dreams and end up wasting a year or two of their life eating up all the savings they have accumulated from the past 10 years while they suffer from a bout of writer’s block that never ends up being cured.
The truth is, working for the man is quite a bit like slavery or prison. You can’t just be set free and expect that you’ll adapt comfortably to your new life and start fulfilling your dreams. It is a bit like when you get off that 6 week diet you were on and say “ok, I’m just going to pig out a little as a reward, then I’ll get back to ‘normal eating.’” What ends up happening is this instant transformation from the shackles of a restrictive diet to “free eater” doesn’t land us in the comfortable norm of “normal healthy eater” like we’d expect. Nope, instead we take a 1 way ticket to pig-out land until we eventually come crawling back to the comfortable diet prison that we hated, yet required.
The same happens to software developers, and other professionals who go from working for the man to being the man– they can’t handle it! They go nuts, and waste lots of time being unproductive without the structure of a workplace and someone cracking the whip on their back. Eventually, they crawl back to their cruel masters and begrudgingly reenter the rat race.
The problem is that working for yourself requires self-discipline. More than you’ve got right now. Yes, I know that your parents and friends have commented on how self-disciplined you are because you have excelled at your job by actually showing up to work each day and doing your job, but there is a huge difference between doing what you are supposed to do because you are supposed to do it and doing what you are supposed to do, because there are immediate and dire consequences if you don’t.
Stop shaking your head for a moment and listen to me. I know you think you are better than that, but you aren’t. Take a deep breath, dig deep and realize what I am saying is true. If you really want to succeed on your own, you are going to have to learn this skill as well; seeing an unfiltered view of reality.
In order to be ready to be successful on your own, without a boss, without a formalized structure and system of consequences, you are going to have to exorcise a few demons.
The best place to perform this religious rite is at your current workplace, in your current job. You will use this as a transition period and training ground to prove yourself, before you cut loose your chains.
The first demon: productivity
In my last post, I talked about the fantasy and reality of working for yourself and really what it focused on was the most critical component: productivity.
These days, productivity is like a drug; lots of people are peddling productivity hacks and productivity tools as if productivity means more than just working hard on what you are supposed to.
The trick is that it is much easier said than done. As I highlighted in the last post, most of us are spending very little time actually working productively at work. And, you will probably be in for quite a shock when you lose your shackles and find out that you aren’t getting nearly as much done as you thought you were– oh, and now you aren’t getting paid for goofing off.
So, my advice is: before you quit your job, you need to actually be able to put in a 6 hour day of hard work. No better place to practice doing that than in a paid learning environment.
How do we get there?
It isn’t going to be easy. But, nothing ever is, right?
I use a productivity technique called the Pomodoro technique to both measure and help me achieve a high level of productivity. The idea behind this technique is pretty simple. So simple that I actually overlooked it the first time I had been introduced to it and only later came back to it when a friend of mine, Josh Earl, mentioned how much success he was having using it.
The idea is that you set a timer for 25 minutes. During this time, you work on one focused task without interruption. After you are done, you take a 5 minute break and repeat. Nothing magic here. The magic is actually in the measurement. You see how many of these you can get done in a day and you track them. You can actually then plan out your work and estimate your work in terms of Pomodoros, which it turns outs, is extremely useful.
I’d recommend getting this book, Pomodoro Technique Illustrated (Pragmatic Life), to learn more about this deceptively simple seeming productivity tool.
I’d recommend starting to put this into practice at your regular job. Try to achieve 8 Pomodoros a day. This would represent close to 6 hours of productivity. And only count time that you are actually being productive. This means producing something of tangible value. You are going to end up not replying back to lots of emails and dismissing yourself from a bunch of meetings.
The second demon: gold-plating
On someone else’s dime it is pretty easy to forgo pragmatism. But, something I had to learn really quickly when I struck out on my own is that good enough really is good enough.
Don’t get me wrong. I’m not saying do shoddy work. And you already know that I’m not advocating not working so hard. What I am saying is, if you want to be super productive, you can’t make every piece of work you do a masterpiece. You have to find the right balance of time and effort.
Take this blog post, for example. I’m putting quite a bit of work into this post and the series of blog posts it belongs to, but I could actually spend weeks or months writing and rewriting parts of this post. If I did this, I might end up with a true work of art at the end of the process, but I’m not going to do that. Instead, I’m going to ship it when it gets to the 80-90% effectiveness mark and not worry about squeezing out that extra 10% of quality for another 300% cost of time and effort.
Don’t take this as an excuse to do s!*# work and ship a bunch of crap. That is easy, anyone can do that. Instead focus on being pragmatic. Get to the point where the work is good enough and let it go, then move onto the next thing. This is much harder than you might think– it is a delicate balance.
The third demon: consistency
Success is usually not the result of a glorious fight with a single dragon which you vanquish in a fierce battle, instead the road to success looks much more like running around Midgaard naked, killing rats over and over again.
Working hard and being pragmatic is completely worthless if you can’t do these things consistently week after week month after month. It is like starving yourself for a day and thinking you are going to lose weight, or running a marathon and sitting on the couch for the rest of the year.
So, how do you learn consistency? Simple, you cut out all the excuses. Make being consistent a matter of life and death. Don’t act like failure is an option. Pretend like just missing a single day or skipping a beat is the end of the world.
Eventually, you’ll be able to use your judgment to decide what you should do and when to make exceptions, but for now make rules for yourself. Rules that you will not break under any circumstances. Learning to live by rules like this will be a huge benefit to you. Everyone is weak-willed, no one can resist temptation; if you want to be successful, avoid judgment calls and decision making. Make your decisions ahead of time and codify them as rules that you follow every day.
I’ll give you an example, before I wrap up this post, because it is already getting quite long. Right now I am learning Spanish. I am using an app on my iPad called Doulingo to do this. I have a rule that I do this app at least 30 minutes a day, every day– no excuses. What do you think will happen if I obey this rule every single day for a year? I think I am going to be pretty good at Spanish. Unless I stick my finger in an electrical socket and fry my brains, it will be pretty hard for me not to succeed, so long as I follow my rule.
The hard part
If I haven’t lost you yet, you must really be serious. Good. You are going to need to be serious to stomach what I am going to tell you next.
At this point, if you start right now, you are probably still at least two years out from the point where you are going to be able to quit your job and not end up coming crawling back to the rat race battered and beaten.
I see far too many people come up with the ill-conceived plan of saving up perhaps 6 months to a year’s worth of living expenses and then quitting their job to pursue their dreams of starting their own business. (I’ve entertained this idea myself several times in my career.)
But, let me tell you why this is a very bad idea and then give you a much better one– a plan that will actually work and isn’t likely to leave you homeless or broke.
The reason why saving up a bunch of money and quitting is a bad idea is, because if you do this, you will be constantly racing against time. Instead of time working for you, you will have time working against you. You’ll make bad choices, you’ll feel panicked, you will not be operating under ideal conditions and you won’t be giving yourself room to fail– which you will inevitably do.
Here is a better plan. Instead, of thinking in terms of saving up X amount of dollars, think in terms of earning X amount of monthly income from a side business. Whatever business you plan on creating once you quit your job, start doing it now. Start building you future business while you are still working for the man. If you can’t get something going on the side without the stress and pressure of potential financial ruin, you aren’t going to succeed when you go it alone and add all the extra pressure and stress that comes with being self-employed and not getting a pay check.
Sure, it will take you longer. Sure, it is going to be hard to essentially work two jobs, but the question is, how bad do you want it? If you don’t want it that bad, fine, I’m not going to try and convince you otherwise– to each his own. But, if you really want it, and you are willing to both work and wait for it, then do it the smart way; build your business on the side while you are still getting a regular paycheck.
Well, I hope this series was helpful to you. I’m not an expert by any means on the subject, but I can speak from personal experience, and I’ve talked with enough other people who have made the transition to know that what I am telling you here is not my advice alone.
When I first quit my job, I was shocked at how different life was from how I had imagined it would be. I had to make some big adjustments really fast, because I wasn’t prepared. Hopefully, after this advice, you won’t find yourself in the same situation, or at least you’ll have a rough idea of what to expect and how to deal with it.
This is part two in a series about quitting your job. Check out the first post here.
Imagine you are going for a run in your neighborhood; just a casual jog. You are running along comfortably, not really straining that much or breathing heavy, but making good progress. Now imagine that all of the sudden a tiger jumps out of the bushes and starts chasing you.
What do you do?
For the longest time I had this fantasy of quitting my job and working for myself. Well, actually my real fantasy was playing video games all day and not having to work at all, but even fantasies need to have some basis in reality, so I modified it to be a little more reasonable.
Anyway, I always wanted to be my own boss; to work for myself. I thought that life would be so much better if I had more control over my life; if I could come and go as I pleased and set my own work hours.
Now that I’ve actually done it, I’ve found that working for yourself is not exactly as I had imagined it… let me explain.
The 8 hour fantasy
One of the main things I thought about when I had dreams of working for myself was just how much I could accomplish if I had 8 full hours in a day to work on goals and projects that I set for myself.
For a couple of years my life was pretty miserable. I would work 8 hours during the day for my employer and then when I was done doing my first job I would take a little break to eat dinner and spend some time with my daughter and then back to work for another 4 hours doing Pluralsight courses at night. Weekends usually involved at least another 4 or so hours of doing Pluralsight courses and perhaps another 3-4 to create a blog post each week.
I kept thinking to myself that if I could work full time on the Pluralsight courses I would get an additional 4 hours a day and not even have to work nights. I should be able to get twice as much done and work far fewer hours during the week.
I ran some calculations to see if the payment for creating Pluralsight courses would cover the income I made from my regular job if I produced twice as much content. The numbers seemed to say I would come out pretty far ahead, so as far as I was concerned “quitting my day job” was a no brainer.
The 8 hour reality
My first week of working for myself turned out to not be the fun lighthearted adventure I had set out on.
When the end of the first week had come, instead of completing 4 to 5 modules of a Pluralsight course, like I had anticipated, I had actually only barely completed 3, and that was with me putting in the same 12 hour days that I had put in before quitting my job.
Something was wrong; something was seriously wrong. Working a full time job I was completing 2 modules a week, so if I had 40 extra hours in the week, shouldn’t I have been able to easily get done another 2 more, perhaps even 3 more?
I shook it off as just a fluke. The particular course I was working on required a large amount of research and prep-work as well as scripting out paragraphs of text for each slide—it must have just been bad timing.
The next week I fared a little better, but still not anywhere close to what I had anticipated. I got 4 modules done but it still required around 12 hours of work each day during the week and some on the weekend; the math just didn’t add up.
Here I was busting my butt for only slightly improved results over what I was getting before.
There is work and then there is work
I bet you are probably wondering what exactly happened at this point. What can explain the results I was seeing?
You see, at a job you get paid just for showing up. Now I don’t mean to say that you can just sit at your desk and do nothing all day, but in reality you can just sit at your desk and practically do nothing most days at most jobs.
Again, I don’t want to make it seem like I wasn’t working hard for my employers. As an employee, I have always worked hard and done a good job, usually performing well beyond the level that I was expected to perform at. But regardless for how hard I ever worked at any job, I never worked so hard as when I started working for myself.
The reality of the situation is that even the hardest desk worker I know who is working for someone else usually only actually works less than 4 real hours in an 8 hour day. I would actually venture to guess that actual hard nose-to-the-grindstone hours would probably average about 2 per day.
Now, before you get all upset about what I am saying, let’s take a moment to think about why this is.
There are a number of reasons why employees work much fewer hours than the hours they are on the clock. The first, most obvious reason is because they are getting paid by the hour and not the job. When you are getting paid by the hour you have no real motivation to be fast or efficient or to make sure you are working every minute of every hour.
This means that a task that would perhaps take you an hour to do if you were working as diligently and as hard as possible, might take you 2 to 3 hours if you are working, but just not working hard at the task.
Think about the difference between jogging down the street and running for your life because a man-eating lion is chasing you. It isn’t like you are being lazy when you are jogging down the street, it is just that you aren’t in any real rush.
Another major source of distraction is office conversations. In most work environments, people socialize. It is not unreasonable to assume that 2 hours of each day, on average, is eaten up by socializing about non-work related topics or remotely work related topics.
Let’s take another slice out of that 8 hour pie and account for general job overhead. This would be things like checking your work email, reading bulletins and memos, attending pointless meetings, etc. I’ll be absolutely ridiculous and assume this kind of thing only takes up an hour of time a day on average, (although we really know that it probably takes up much more.)
Finally, we get to just plain laziness and doing personal stuff on company time. Life is life and things happen. Your kid gets called into the principal’s office and you get a call at work about it that you have to deal with. You are buying and house and need to fax those loan documents to your mortgage broker. Sometimes you get to work and you just feel burnt out and tired and can’t really manage to do much other than pretend to code while you scroll repeatedly through lines of code waiting for the clock to tick 5:00.
I’ll be nice again and attribute this to only taking up an average an hour a day, but based on my Facebook and Twitter streams, I am pretty sure we all know that number is greater than even the most candid of us will be willing to admit.
So let’s go ahead and do the math. Take your 8 hours and subtract away 2 hours for socialization. That leaves you with 6 hours. Take away 1 for work related overhead and another 1 for life related overhead and laziness and you are already at 4 hours right there. Now take the 4 hours of work that could be done at a running pace and reduce it to a jogging pace, and you are effectively cutting it in half to about 2 hours of actual real work. If you come in late or leave early or you are more social or more lazy or you have more meetings than average, the number could even be further reduced. Some of you might be coming up with negative numbers. It is a wonder anyone gets any work done at all!
So, where did my hours go?
Just because you switch from working for someone else to working for yourself doesn’t mean that you immediately go from getting 2 hours of work done a day to a full 8. Some of the office distractions are eliminated by working for yourself, but others are not.
Most importantly though, there is a big difference and adjustment from being used to working 2 actual hours of real hard work to working 6 to 8 hours of real hard work.
It is sort of like going for a 3 mile jog every day for a couple of years than suddenly one day deciding to start running 12 miles instead. You might be able to do it, but you are going to feel like total crap until you adjust.
It turns out for me that my old routine, before I quit, was working my regular job during the day, which wasn’t all that taxing on me, then working 4 hours each night, at which time I would accomplish perhaps 3 hours of real hard work.
Each day I was perhaps doing 5 hours of real hard work.
When I started working for myself, I found that I was actually doing about 5 hours of real hard work during the day and by the time the night came, I would work perhaps 4 hours, but was so exhausted that I was only getting about 1 hour of real hard work done.
So overall, I was only adding about an hour or two of actual real work worth of progress each day. This lines up about perfectly with the results I was seeing. I was still having to work the same number of hours and I was just getting marginal improvements in my results.
Tracking my time
I’ll put things as civilly as possible here, but to say the least, this was royally pissing me off.
I mean, I was not happy at all with this revelation I was discovering.
I thought long and hard about different jobs I had and what I did during the day at work. I tried to count up the hours and determine if it was really true that I was only spending a couple of hours of real hard work, on average, a day at any given job. Then, I thought about how at most jobs I was getting a lot more work done than most developers were and it made me even more sad.
I decided to start tracking every minute of every day I spent doing work on my Pluralsight courses and whatever else I was working on during the day in order to see where my time went.
My results after several weeks confirmed what I had already known. In any given day, I was lucky to get 5 hours of solid work done during the daytime and 6-7 hours overall in the entire day was about the average.
I was also busting my butt harder than I had ever before.
Summing it up
So, what am I trying to say here? What can you learn from my experience?
Well, first of all, working for yourself is much harder than you might imagine. When you are working for yourself, you are only getting paid if you are working. You don’t just show up and get paid.
You may think you are busting your butt at your job now, and you may very well be, but I can almost guarantee you that you are not working nearly as hard as you would if you were working for yourself. There is a huge difference between doing 2 hours of hard work per day and 6 hours or more of real hard work per day. If you aren’t ready for this change of pace, you can easily be crushed and discouraged by it.
You might just think that this doesn’t apply to you; that you can just sit down at 9:00 AM, plug in your headphones and work hard until 5:00 PM when you disconnect and smile happily at your 8 hours of good old hard work you put in that day.
But, if you are of this mindset, I’d encourage you to do two things before quitting your day job. First, take a week off and try it out. During that week track your time and see how much work you actually get done. Only count work that results in you creating something you get paid for. Don’t count all the overhead and checking emails, etc.
Second, after you see how dismal your results are, get a copy of “The War of Art” and learn that you are not alone. We all struggle with the same problem of being lazy creatures who want to do what is pleasurable instead of being productive and habitually rationalize all our actions until we are reduced into believing that the course of action we are taking is the only possible and reasonable choice.
I’m not saying don’t quit your job. In fact, I encourage you to find a way to build your own business and work for yourself. But, just realize that if you don’t like the idea of working hard every single day you probably won’t like working for yourself very much.
I recently wrote a post called The Hacker News Generation (Afraid of Hard Work.) Ok, the post itself wasn’t so recent, but it recently got a large amount of traction on Hacker News and I was surprised to see such a large and vocal negative response to what I said. Of course, I expected there to be some kind of negative reaction to telling people to work hard and stick with things even if they don’t like them.
But, I do think that I did not communicate part of the message I was trying to convey as well as I could have, so here my attempt to clarify some points.
First off, I think it is important to admit when I am wrong, and I was wrong about two things.
- I shouldn’t have make such a sweeping generalization about an entire generation. As many people pointed out, this is not a generational thing, this is a very personal thing. The truth is we are all afraid of “hard work,” myself included. Some of us learn to overcome it, others of us don’t. The problem is not the next generation. The problem is the message that many of us are lifting up saying that you can get somewhere by being smart or hitting the start-up lottery, instead of from being wise and willing to do the work.
- It appears I was wrong about Loren. I didn’t mean to lambast him personally. I originally felt like the sentiments in his blog post were exactly the kind of thing I had a problem with today in our field. People saying they quit something because it wasn’t interesting and deciding to follow an uncharted road instead without a real plan of any kind and without a clear focus in a particular direction. Since then, Loren has actually produced some awesome software that I am actually alpha testing to write this blog post. Kudos to Loren, it appears I had you pegged wrong. I am earnestly happy to be proven wrong.
Are you saying that mental illness isn’t real and people just need to “man up” if they have depression or real “burnout?”
No. Well, perhaps a little– let me explain.
So, most people who claim to have depression or burnout just have a case ofpansyitious. I’m not saying that you can’t actually be clinically depressed or physically and mentally overworked to the point of total exhaustion or mental breakdown. Sure, you can. But, if you are reading this post, it is more likely that you just need to suck it up and figure out how to stop avoiding the work you need to be doing and do it.
People who actually burnout physically and have nervous breakdowns mentally are not people who push themselves too hard pursuing their dream or reaching their goal. They are people who push themselves too hard pursuing other people’s dreams, reaching other people’s goals.
You know what you need to be doing. I don’t need to tell you. Maybe you know that you need to stick with that crappy job you have right now for the next two years while you build the thing you really want to do on the side 2 hours a pain-staking-night-a-time.
Get off the couch. Turn of the TV. Do it!
Stop commenting on blog posts about how stupid and preachy other people are and write a blog post, build a business, create something. I’m not the best writer in the world, some of my ideas sound like the rantings of a mentally slow 5 year old, but at least I am doing something, creating something– and working hard at it.
Do you need some motivation? Need a good kick in the butt from someone who is way more successful than I am, but shares exactly the same view? Read Steven Pressfield’s book, The War of Art. Seriously, will be the best book you read all year.
Are you saying I should stick at a crappy job and do something I don’t like?
No. I am not sure why some people got this message from what I said. When I complained about Loren quitting his job, I wasn’t faulting him for quitting a job he didn’t like anymore.
The big issue I had was his reason for quitting was, as he stated, “being bored.” He explicitly said that he didn’t find a new job, didn’t start a side business, or anything else.
If you don’t like your job and you don’t like your life change it, but don’t do it on a whim, don’t do it because you are bored, and have a plan– a good one.
Also, recognize that you have to sometimes do s!#& jobs and that is just how it is. But, you have the choice to look at those times as an apprenticeship or as prison time. How you perceive it is up to you. If you are smart, you’ll bide your time while working for someone else, as you are careful not to use up all of yourself and learn as much from them as possible, all the while building your own thing on the side.
Sometimes to do this, it takes grit, plain and simple. If you don’t have it, fine, but let’s not mash words and play pretend games here.
Passion dies. It always dies.
You may be too young to understand this. I can’t fault you for that, but believe me, trust me, when I tell you that passion always dies. It doesn’t matter what your passion is for, indulge in it enough and you will lose it.
What is my point in saying this?
Simple. The dream you are following today, will be the prison you’ll be trying to escape from tomorrow.
This means that if you are ever going to do anything meaningful, you are going to have to learn to see things through to the end. This isn’t easy. It is really hard. I’ve got a whole closet full of good ideas that I took to 90% and then got bored with. Every single one of them at one time in my life was my greatest passion.
So, again. I’m not saying put on the fireman hat everyday and just grit through it when you really want to be an astronaut. What I am saying is that which thing you pick isn’t really all that important, so long as you are doing something, and stick with it and continue to force yourself to learn and grow in whatever thing you are pursuing even after the passion is gone.
Do you hate Loren and are you just a mean guy who like to pick on people?
No, I like Loren. That is why I don’t want to see him financially broke, wasting away years he could be using to either build a business or product of his own, or at least work for a company long enough to sock away enough money to one day have the actual freedom to spend his time as he likes.
And it turns out, Loren is doing something pretty awesome. I can’t tell you if he’ll stick to it long enough to see it to the end or not, but I hope he does. And, I am very glad that he didn’t decide to just do whatever he felt like doing and narrowed down his focus to Penflip. Ironically, I am sitting here writing this blog post on Penflip, the project the Loren created, that is in alpha mode right now.
I sincerely hope I get the chance to sit down and have lunch with Loren some day and that we can really hash out what it means to pursue something you care about deeply and the kinds of sacrifices and risks it involves.
I don’t pretend to have all the answers, even though my writing may make it sound like I think I do. I just write passionately about what I think. And what I think is always subject to revision. I am learning. This blog is one of the ways I am learning and sharing what I learn.
The reality of the situation is that there are two extremes we have in life and work.
On one end of the spectrum is pursing your passion without compromise; doing what you are called to do. We’ll call those people starving artists.
On the other end of the spectrum is pursuing money above all else. Lie, cheat and steal if you have to; sell yourself out; do whatever it takes– it doesn’t matter, so long as you bring in those Benjamins. We’ll call those people the passionless hacks.
Neither one is good. You’ve got to find the middle. If you spend all your life working hard pursuing money, never finding something that you actually care about and that is meaningful to you, you’ll end up washed out with nothing to show for it besides a big bankroll, if you are lucky.
On the other hand, if you just do what you like all the time and never hunker down and put in the work and think about the financial consequences of your actions, you’ll end up washed out, but poor.
The middle ground is where success is. It is where people find things that they are passionate about, that are meaningful to them, and they pursue them with the vigor of the passionate artist when they have the motivation and with the whatever-it-takes dedication of the passionless hack when they motivation wanes.
Most people, especially young people today, are on the side of the starving artist mentality. They want to ignore the reality that they may have to work a 9-5 job and build the thing they really want to build on the side for a few years so that they can some day leave the employ of another and do their own thing, the thing they are passionate about.
How I am trying to help solve this problem
I’ve made a large number of mistakes in my career, but I’ve also figured out what works and have learned how to work hard and stick to something. I think this is valuable information, so I’ve decided to package it up along with things I’ve learned about marketing yourself as a software developer and other career tips.
If that sounds like something you would be interested in, sign up here and I’ll let you know the second this project launches. I appreciate your support and hope that what I am building will be useful to you.