Nothing can paralyze you worse than the fear of losing your job. If you are afraid that you might lose your job, you are likely to act in ways that are neither in the best interest of your employer or yourself.
How to know if you are afraid
It might seem like an obvious thing, but it isn’t always that easy to tell if the actions you are taking are motivated by fear or something else.
One big question you have to ask yourself is: if I suddenly lost my job today, how would I feel about it?
I would venture to guess that most developers would be pretty scared. Especially if you don’t have much of a savings built up or prospects for another job.
If you would be scared if you lost your job, chances are you are acting out of fear now. Fear is bad, because it limits your actions and causes you to make timid decisions.
How many times have you been in the situation where you are working on a project and you discover some flaw or issue with the way the project is proceeding?
What do you do in that case?
How you handle this situation has quite a bit to do with fear. If you are afraid of losing your job, you may be inclined to ignore the issue completely—better to not rock the boat.
If you are mildly afraid or insecure in your job, you might bring up the issue, but quickly let it go if you face any resistance.
If you are confident in your job and your future prospects, you might take it upon yourself to fix the issue, because you know it is the right thing to do—consequences be damned.
(Uncle Bob, has a great blog post about this exact subject called “Saying NO”)
Anyway, the point is that you will act differently based on fear. So, to some degree, you can judge your fear level by how you are acting.
Are you afraid to speak up in meetings?
Are you afraid to do things without permission, even if you know they are the right things to do?
Do you constantly worry about appearing valuable rather than producing real value?
At some point in my career, I’ve answered “yes” to all of these questions, so I know there is a good chance that you have as well.
What you can do about it
Ok, so you are afraid, so what? What can you actually do about it?
Well, it turns out there is quite a bit you can do about your fear of losing your job. It is important to take proactive steps to address your worst case scenarios so that they don’t bother you on a daily basis.
First off, you need to have some amount of savings. No matter how secure you are in your job or in your ability to get another job, you need to know that if you get the axe today, you’ll be able to pay your rent tomorrow.
How much savings do you need? It depends on what will make you feel comfortable. For me, I need about 6 months worth of salary sitting in the bank to feel comfortable. (I’m pretty conservative, I know.) For someone else it may be just a few weeks or a couple of months. It helps to think about losing or quitting your job today and then consider how long you’d need to have your expenses paid to feel like your life wouldn’t go down the toilet.
I’m pretty frequently surprised to find out how many people—especially software developers—are living paycheck-to-paycheck. Don’t do that to yourself. It is not a good way to live. If you insist on living paycheck-to-paycheck, you will always live in fear. But what do you do if you are already in this situation?
Start by reducing your monthly expenses. It might take drastic measures like getting a smaller house or smaller apartment and cutting cable, but I’d much rather live with some sense of security and a fewer amenities, than living in a dream bubble that could pop at any time.
After you reduce expense, start putting away a percentage of your paycheck each month to an emergency fund. I’d recommend saving at least 10-20% of your paycheck into this emergency fund until you have a big enough buffer that you no longer feel like you are under the gun.
Just having a cushion you can rely on will go a long way toward reducing your fear of losing your job, but there is much more you can do.
(By the way, if you haven’t read Rich Dad Poor Dad, I highly recommend it. It will change your thinking about finances for the positive.)
Becoming more marketable
I’ve found that once I’ve made sure that I’ve got a buffer in place, the biggest factor that makes me feel secure in my career is how marketable my skills are.
I’ve written about marketing yourself as a software developer several times and I’m producing a complete course to show you exactly how to do it, so I won’t go into the details here, but I want to talk about why it is so important.
By learning how to market yourself, you can make it much easier for you to find a job or other opportunity if you ever need one. Let’s consider some extreme cases, like Scott Hanselman.
Scott is a very well known software developer who currently works for Microsoft. Now, if Scott ever lost his job or was looking for a new job, how quickly do you think he could get a new job? Probably within less than a day. In fact, he could probably get several job offers within a matter of hours. And if he wanted to pick up some freelance consulting work to start a consulting or other venture, do you think he’d be able to find clients pretty easily?
Now, obviously, we aren’t all going to be as famous as Scott Hanselman is in the development world, but I could name at least 50 developers that I know by name whose reputations in the community would be enough credibility to land them a good job in less than a day.
If you put in the effort—and I can show you how to do it—you can market your skills and experience to the world and create for yourself the kind of “career security” that you can’t get from any single employer.
Talk about getting rid of fear. If you know that you can get a new job within a week, and you’ve got a little bit of money in the bank to act as a cushion, how could you possibly fear losing your current job?
Life beyond fear
So, what does life beyond fear look like?
When you aren’t afraid of losing your job, you act with much more confidence, because you aren’t afraid to take risks. You find more opportunities, because you stop seeing things as a threat and start looking for how you can benefit from a situation.
When I first stopped being afraid of losing my job, I started speaking out more and getting much more involved in the architecture of the software I was building. The fearlessness led to promotions and increased contributions to projects, because very few people are willing to honestly speak their mind. Paradoxically, most employers actually like it when you aren’t afraid to disagree with them and argue for what you think is right. You are being paid to be a professional, so you are expected to act like a professional.
It is also quite nice to know that you don’t have to put up with crap. Is your boss being inappropriate and yelling in your face? Good. If you know you can get another job tomorrow, you can tell him how you expect to be treated and if you aren’t treated that way, you will leave.
Being asked to work ridiculous hours, but not being paid more for doing so? Good, just don’t do it. Work your 8 hours then go home. I worked in many situations where the norm was working 60 hour weeks. While everyone worked their 60, I worked my 40 and went home. Why? Because I wasn’t afraid. I did the work I was supposed to do during my agreed upon work week and I didn’t let myself get bullied into working more.
And let’s not forget opportunities that fall into your lap just because you are able to act with confidence. Having confidence in yourself—which is basically a lack of fear—causes other people to have confidence in you as well. When you are fearless and walk into a job interview, you have a much better chance of getting the job. When you are fearless and ask for a promotion, you have a much better chance of getting that raise. Even dealing with clients in a fearless manner results in much better outcomes overall.
So, get those savings together to get your cushion in place and learn how to market yourself as a software developer, so you can be fearless as well.
Oh, and sign up for my email list and I’ll keep fearlessly sending blog posts like this one right to your inbox.
Just because you’re a software developer doesn’t mean that you don’t have to worry about branding. In fact, if you really want to boost your career, you’ll actively manage it by creating your own personal brand.
In this post and I am going to help you create your own personal brand by first giving you a clear picture of what makes up a brand. (Hint, it isn’t just a logo.) I’ll also show you how to create an effective personal brand by defining your niche. Finally, I’ll take you through the 4 important components of creating your own personal brand.
What is a brand?
Before we can create a personal brand, we need to understand what exactly a brand is.
Most people I talk to think of a brand as a logo. While many brands have logos, a brand is not just a logo. A logo is only a small part of what makes up a brand.
A brand is really a promise.
A brand is all about expectations. When you are creating a brand, you are building a set of expectations about you or your company and you are making a promise to deliver on those expectations.
Think about a popular brand like Starbucks. What kind of promises does the Starbucks brand make?
When you walk into a Starbucks, you immediately have some expectations about what will be on the menu, how you will be treated and even what kind of lighting will be used in the location.
A fancy logo isn’t what makes the Starbucks brand a successful brand. Instead, the unique promise that Starbucks makes to you and every other customer is what makes them a brand.
I like to think of a brand as having or requiring four main components:
- Message – what does this brand represent?
- Visuals – how is the brand visually represented?
- Consistency – is the message the brand is delivering the same and one I can rely on?
- Repeated exposure – does the brand appear often enough for me to recognize it?
Without these four aspects, a brand is doomed for failure. A brand must have a clear consistent message, and be visually recognized multiple times in order for it to be effective.
We’ll come back and break down each of these four components a little later on, but before we do, let’s talk about what personal branding is.
It is easier to picture what personal branding is if you are able to see yourself as a business.
Instead of thinking of your career as the job you currently have, try and envision yourself as a business that provides software development services. If you are working for someone else, you just happen to only have one customer right now.
When, you think in terms of being a business, personal branding makes much more sense. It is just a brand that you apply to the business that is you.
A personal brand is the promise you make and expectations you create concerning the services you provide.
In order to create a good personal brand, you need to choose what is called a niche. A niche is just a specialization in a larger market.
For example, you might choose to make your niche be the realm of NoSQL databases. Perhaps you want to be known as the NoSQL database wizard.
The more you can niche down into a market, the stronger your brand will be in that particular market. When you call a plumber because your garbage disposal is broken, would you be more likely to call ABC Plumbing or The Garbage Disposal Fix-it Man?
You’ll have much more success creating a personal brand if you can niche down and be as specific as possible.
(By the way, if you are looking for a good book on personal branding, even though this book is called Personal Branding for Dummies, I found it to be a very comprehensive book on the subject.)
Crafting a message
A major component of your brand will be your message. Your message is what your brand represents. A brand without a message isn’t really doing anything, because it isn’t trying to communicate anything.
Your message should communicate what your brand is about and the set of expectations and promises your brand delivers on.
If you are having a hard time thinking of the message for your personal brand, the first place to start is to look at the value you provide. What value do you as a software developer or software development company provide?
Why should someone hire you for a job?
Behind your message should be unique value you provide. Are you the best front-end developer money can buy? Can you learn new technologies faster than anyone else? What is the unique value proposition you offer that should compel someone to hire you instead of everyone else?
Even though a logo isn’t the only thing that makes a brand, it is certainly an important part of most brands. A good brand has good visuals, and you should too.
Obviously the first place to start is with creating your own logo. You can either use a company name or make a logo out of your own name. I’ve seen both used very effectively. For example, I use Simple Programmer as my brand, and I’ve had a logo created for that brand.
You don’t have to spend ridiculous amounts of money to get a good logo. I’ve had great logos created for me for $5 on the popular Fiverr site. You can also find someone on oDesk for cheap that will create an excellent looking logo.
You also want to have a good color scheme that you use with all of your branding. I’d recommend using the same color scheme on your online profiles and your blog, if you have one. (And you really should have one.)
I also, recommend using stock photos to help shape your message. If you want a good source for stock photos check out despositphotos.
Finally, as far as visuals go, you want to have a good headshot that you can use everywhere you put your picture online. I’d recommend getting a professional headshot. Here is a good tip on how to get it done for cheap: The next time you get family photos done, ask the photographer to do a few headshots for you as well.
Once you’ve got a message and you’ve got some nice visuals to go with it, you’ll need to consistently apply both the message and the visuals in order to really create a brand.
Consistency is a big part of building your personal brand. You can’t be Joe the C++ pointer guy today, and Joe the database guru tomorrow. You’ve got to pick something and stick with it long enough for it to catch on.
Think about some examples of personal brands you recognize. Do those personal brands change from day to day? When you go to your favorite tech bloggers website, do you have a pretty good idea of what you are going to see and how often you are going to see new content?
I’m not going to lie, it is going to take some time to build up your personal brand, but if you are consistent with the activities you are doing, the visuals you are using and the message you are delivering, you will build a personal brand for yourself over time.
You can do everything else right and if you don’t have repeated exposure, you still won’t have much of a brand.
If you only see or hear of a brand once or twice, it is not going to stick in your head and it won’t be very effective.
In order to make your personal brand stick, you need multiple exposures of the same message and visuals to the same person or group of people.
There are many ways to get exposure for your brand, including:
- Creating and maintaining an active blog
- Writing magazine articles or guest posts on other blogs
- Speaking at user groups or conferences
- Appearing on podcasts or other mediums
- Writing a book, self or traditionally published
- Contributing to open source
- Creating YouTube videos or tutorials
At first, you may only be able to do a few of these things, but as you build your brand, you’ll get more opportunities to do more and more of the things on this list and even some things that aren’t on this list.
The important thing is that you get yourself out there and provide real value to others. If you are providing value and you are doing it in a consistent way that utilizes your message and brand visuals, you will build brand recognition and create excellent opportunities for yourself.
Where to go from here
I can only cover so much in a short blog post about personal branding. I’ve got much more in depth information about the topics covered in this post, which I am working on putting together into a package about Marketing Yourself as a Software Developer. In that package, I’ll have a complete video series about building a brand. If you want to know when the course is released, make sure you sign up here. (I’ll also let you know when I post blog posts about boosting your career.)
If you are really excited and want to get early access to the content, you can get the package at a special discount price by preordering here. If you preorder, I’ll give you my Why Marketing Yourself Is Important book ($25 value) for free, right away.
So, now that you know what to do, go out there and create your own personal brand.
Let’s face it. Most of us would like to be paid more.
The truth is in my career, I’ve both felt guilty that I was being paid too much money compared to what I was really worth, and I’ve also felt that I could and should be making a lot more money.
The problem is, most of us don’t really have a good understanding of how our services are priced out and what the true market value of what we have to offer is.
Understanding market value
The market value of a product or service is exactly what someone is willing to pay for it.
For a software developer, it may seem that your market value is what someone is willing to pay for you to write code or develop software– this couldn’t be further from the truth.
Even though one of the main aspects of your job may be to write code, it is not what you are really being paid for.
Obviously, most software developers do more than just write code. But, the true market value of a software developer goes even deeper than those other responsibilities. The true value of a software developer is tied in with the perceived worth of that developer.
Yes, this sounds strange, but what this actually means is that what someone thinks you are worth, or rather the highest amount that someone thinks you are worth and is willing to pay you, is what you are worth.
Your skills, your history, how many lines of bug-free code you can write in an hour, don’t necessarily matter as much as the perception of the value of your skills and abilities.
Consider the stock market. There are plenty of stocks out there that have a very high perceived value. Many of these stocks don’t even pay dividends– essentially, they give no return on the investment to the purchaser. Everything about the value of those non-dividend-paying stocks is based on the perceived value of the stock, not on the actual utility of the stock itself.
I’m not saying that you should try and represent something you’re not in order to inflate your stock price. What I am saying is that if you want to be able to make a higher wage you’ve got to understand how the market works and how you are valued and priced in the market.
Increasing market value
What then drives this market value and how can we increase it?
Taking a look back at the stock market, we can get a pretty good idea.
Consider what drives the value of an individual stock. Here are a few important factors which can drive the price of a stock:
- What that company or stock has done in the past
- What that company or stock is expected to do in the future
- How many other people are buying or want to buy into that company
Sure, technical considerations like earnings per share and profit to earnings ratios are taken into account by many technical investors, but in reality what really drives the price of a stock is greed and fear based on past performance, expected future performance and peer pressure.
It is no different in the field of software development. A majority of your market value will be driven by what you have done in the past, what you are expected to do in the future, and how desirable you are to others.
If you want to increase your market value, you need to be able to increase one or more of these factors.
Most software developers try to focus just on increasing the perception of what they have done in that past. This is the reason why you often see overly lengthy resumes which detail out a long history or previous assignments.
Unless you have something truly impressive in your years of previous work history, it isn’t going to amount for much other than showing some amount of stability.
Stability will get you a good job with a decent salary, but if you really want to reach the peak of your potentials earnings, you have do do more than show stability– you need to show trajectory.
To truly increase your market value, you want to be seen as a developer who has progressively done greater and greater things in the past and is likely to continue that trend into the future. You also need to show that there is a high demand for you personally, because of the unique offering of skills that you possess.
Great, but, how do I do… that?
Well, the first place you start is by taking an honest assessment of the picture you are currently portraying.
If you were hiring a software developer and you came across your own resume and presence, or lack of presence on the web, what would you think?
Would there be enough evidence to show a clear trajectory in the future?
Would you feel as though you had better not let this one get away?
Starting here, you can get a picture of what kind of package you are offering. If you can honestly assess where you are right now and how you are being perceived, then you will have a reference point which you can use to determine where you need to go.
After you have taken an honest look at yourself, it is time to take a look at other software developers and professionals who are already presenting the kind of image that you would like to present.
Look for the most successful software developers that you know would be able to command high salaries and try to imagine what makes up that “value” they represent. Now compare your efforts to theirs. What are they doing differently? How are they representing themselves to the world that makes it seem like they have more value? What things are they doing which are generating demand for them and their skills?
You’ll probably find there are some quick changes you can make right away which can help greatly increase your perceived value. But, you’ll also probably find that you will need to specifically chart out a course for increasing your value over time.
If you are still a bit puzzled about how to do this, don’t worry, you aren’t alone.
I’ve spoken with many software developers who want to get better jobs or advance in their careers, who know they need to learn how to market themselves in order to do it, but don’t know how.
I’m actually working on a complete package to solve this problem. It isn’t available yet, but you can pre-order it here, if you want to get it at the lowest price possible or you can sign up here to get updates about the course and find out when it officially launches as well as get articles like this one delivered right to your inbox.
Getting started in the field of software development is difficult.
No doubt, if you are just starting out as a programmer, you have already experienced how difficult it can be to get a job without having much or any experience.
If you’ve been a software developer for any amount of time, you’ve probably experienced how difficult it can be to rise up the ranks in this highly competitive industry.
I’ve talked to many developers just starting out who are frustrated because they don’t know where they should be devoting their energies to best advance their careers and secure their futures.
There are so many options. So many technologies you could learn. So many paths you could take. Which is the right one?
Thinking the right way from the start
I’ll give some concrete advice in a little bit, but before any of that advice is useful, it is important to make sure you are thinking about your career in the right way.
It is really important to think about your career as a business. A business you own which employs you. Thinking this way will help you make the right objective decisions about what you should be doing with your time and how and when you should invest money in your career.
Too many software developers think about their career in terms of their current job or the job they seek to obtain—that kind of thinking is short sighted.
Have you ever noticed how it is easier to advise someone else on a decision than to make that same decision for yourself? The reason is because when you advise someone else, you are able to be objective and not let fear and other emotions influence your advice.
By thinking of yourself as a business, you’ll be able to create that same kind of separation and objectiveness which will lead you to better decisions.
Actually start a business
In fact, why not go the extra step and start a business right from the start?
It is difficult to get experience without having experience. Most software development jobs require you to already have experience.
So, how do new software developers or developers with limited experience actually get experience?
Often, you get a lucky break and perhaps you come into an organization in a QA position or other role and eventually work your way up to developer.
That is the long way.
Here is the short way.
Just start your own business from the get go and employ yourself. It isn’t hard to start a business. You don’t even have to file any paperwork to start out. You can just do business as yourself in most places.
But what about work? I need to actually make some money.
Ah, but the point of this starting out business is not to actually make money, but to gain you experience. You can keep your current job and you can run this business on the side. You just need some projects to work on so that you can put some real experience on your resume.
It is pretty unlikely that a prospective employer is going to ask how much money your business made last year, (even if they do, you don’t have to tell them.) So, don’t worry about making money. If you are able to get some paid jobs, great, but there is no reason you can’t do jobs for clients for free in order to gain experience.
Create a website for a friend or family member’s business. Talk to local businesses and ask them if they’d like you to develop an application for them for free or very low cost. It doesn’t matter where you get the business from, the point is to get something on your resume that is real work you did—then it isn’t lying. You don’t want to lie on your resume.
Develop some mobile applications
Here is another great thing that your business can do that will not only get you some experience to put on your resume, but will also possibly generate you some extra income and give you something to show at a job interview.
I often recommend that developers just starting out build mobile applications, because mobile applications can be built by a single person and are a great way not only to learn how to build an application from end to end, but to create solid proof of your ability to write code.
One of the biggest fears that companies have when hiring developers is whether or not that developer can actually produce anything. You can completely alleviate that fear if you can show the source code for an application you created yourself, and if you have it in a mobile app store and people are actually using it, even better.
If you are looking to find out where to get started with mobile application development, I have two Pluralsight courses on the subject: Introduction to Android and Beginning iOS 7 Development. You can check those out or find a good book on the subject.
Here are a couple I’d recommend:
Besides gaining experience to put on a resume, building your own mobile application will help give you confidence in your ability to create real working code and it will help you to develop well rounded skills in software development.
Sure, it may be a bit difficult to get started and there is a decent amount to learn about mobile development, but it is a good investment regardless, because mobile devices aren’t going away anytime soon and the demand for developers that can develop for mobile platforms is only likely to increase over time.
Plan your career
I talk about the idea of marketing yourself as a software developer quite often, because it is something I truly believe can help software developers to get better jobs and earn higher incomes.
Much of this advice comes down to actually planning out your career rather than just looking for the next job.
You want to set yourself up early on in a position where you are building a brand and reputation for yourself that will benefit you later in your career.
A great way to do this is to create your own blog. Don’t wait to do this until later on. I wish I would have started this blog 5 years or more earlier in my career. Every developer with a successful blog that I have talked to has said the same thing.
Don’t just create the blog, use it. Strive to write an article each week. Even if you don’t have anything interesting to say, do it. After a few years, you’ll be a better writer, have a nice history of your thoughts and be all the better off for it.
I’m not going to go into all the details of marketing yourself in this post, but if you are interested, I do have a course that covers everything you need to know about marketing yourself as a software developer.
The key point here is to plan your career and think for the long term. Create a blog, establish a brand, do other things that will benefit you years down the road, but start doing them now.
Find the right friends (mentors)
I’d advise you to make friends with experienced software developers and utilize the wisdom they can impart on you.
It can be difficult to make friends if you come off as needy. It is unlikely that if you ask someone to be your mentor, they will accept. Being someone’s mentor doesn’t really offer much to the person doing the mentoring.
The key is to have something to offer in return so that you are providing value as well.
Here are a few ideas to make some friends in the industry:
- Offer to buy lunch. This is a good opportunity to have a conversation with someone who you otherwise might not be able to. Who doesn’t like a free lunch?
- Start commenting on software developer’s blogs that you admire. You’ll eventually gain their attention if you provide useful, insightful comments.
- Find something to trade. Do you have some knowledge in some other area that someone might be interested in? Can you trade your knowledge of fitness or diet in exchange for information about software development? The best relationships offer value to both parties.
- Go to user groups. There are many user groups all over the world that you can become a part of. If you are a regular, you will meet other regulars and build good friendships.
Read the right books
One of the best ways to really get ahead of the curve is to read the right books. Reading the right software development books can help you to understand concepts that take years to discover on your own and give you the benefits of the collective experience of many successful software developers.
Here is my personal list of books that I’d recommend all software developers start out with.
Code Complete – A classic book about the structure of code. This will make you a much better programmer and help you write clear code.
Clean Code – A great book by Bob Martin that really distills down some key concepts about writing good code. A must read book.
Design Patterns – Read through this book several times and learn these patterns. It may take some time to grasp them all, but they will show up again and again in your career.
Programming Pearls – Work through the problems in this book. They are hard, but the effort is worth it.
Agile Software Development, Principles, Patterns, and Practices – Another Bob Martin book, but also a must read.
Good luck. I hope you found this advice useful. Starting out is hard, but if you are smart about it and deliberate, you can boost yourself several years ahead of others in your same position.
If you found this post useful, don’t forget to sign up here to get more content like this delivered to your inbox.
It is easy to get stuck in mediocrity if you are not consciously trying to improve year after year.
We have to constantly be striving to improve our skills and talents, otherwise those abilities can go to waste and degenerate.
Likewise, just striving to “improve” is not good enough either. We have to have a definite plan for improvement.
In this post, I’ve compiled a list of things you can do this year to improve your skills and make this your best year yet.
#1, Find your biggest weakness
I always try to look for low hanging fruit that I can grab easily when trying to improve anything. Usually, there is some weakness that could easily be corrected which would provide a huge benefit to you, but you’ve just never got around to fixing it.
For example, when I first moved into my new house, my refrigerator was not holding the temperature correctly. The fridge would drop down to a very cold temperature and freeze food pretty often.
This was pretty frustrating, but I tried to ignore the problem, because I was too busy. I kept having to throw out frozen lettuce or other vegetables until one day I decided I had enough and set it on my mind that I would either fix the fridge myself or have it repaired.
It only took me a few hours total worth of work to figure out that a little flap that sent cold air from the freezer to the fridge was broken, and to fix that issue by ordering the right part. The results were immediate and very gratifying. By taking that little bit of time out of my week, I saved myself quite a bit of frustration in the future—not to mention saved myself money in both electricity costs and wasted food.
So, why did it take me so long to fix that fridge?
I was always too busy, and the problem never seemed urgent enough to warrant my attention. (Plus, I didn’t know jack about fridges.)
When I take an inventory of my professional life, I find that I have many “broken fridges” all around my office. Weaknesses or problems that I could very easily fix, but I’ve just been to busy to get around to it.
Perhaps you have the same problem? Have you been struggling through using your IDE, because you didn’t take the afternoon to properly learn the keyboard shortcuts that would save you quite a bit of time?
Perhaps you just haven’t taken the time to organize your computer or workflow, because it hasn’t been enough of a pain to be worth your time—even though you know that you are wasting a huge amount of time by being so unorganized?
Now is a good time to look for that low hanging fruit; the easy to fix weakness you can correct this year, which will pay back big dividends.
If you take the time to look around, I’m sure you’ll find a few.
#2 Learn something new
Because our field changes so rapidly, it is very important to be learning the next thing before you need to rely on the skills to use it.
It isn’t always possible to predict what the next thing will be, but getting into the practice of learning new things will expand your capacity to learn things quickly and give you a much wider perspective of the field in general.
One of the biggest expansions of my abilities as a software developer came when I took a consulting gig leading a team of Java developers after having spent years programming in C# and .NET. I was very reluctant to take the position, because I felt that I would be progressing backwards instead of forwards, but I couldn’t have been more wrong.
I already knew some Java, but I hadn’t really studied the language and I didn’t know much about the environment and tools Java developers use.
This experience forced me to grow and really expanded my abilities, not just in Java, but in C# as well, because it forced me to look at things from a different perspective.
It is really easy to get stuck in a rut and stick with what we already know, but sometimes you can get a huge benefit by getting a bit out of your comfort zone and learning something completely new.
Try learning a new programming language this year or an entire new programming environment. Try your hand at mobile development, if you’ve never done it before, or learn something else that will challenge you and expand your horizons.
#3 Make new friends
Every year I talk to hundreds of software developers through email or at conferences and code camps, but my software developer life wasn’t always so social.
I didn’t really see the point in reaching out and being part of the community; after all, I was a software developer, my job is to write code, isn’t it?
But, all of us have very limited worlds, myself included. We need the experiences and influences of others to expand our viewpoints and see things that we don’t have the capabilities to see on our own.
Think about it this way. How far would you have gotten in learning any pursuit if you were completely self-taught and couldn’t rely on any books, conversations, or search engines to expand your knowledge? Probably not very far at all.
It is important to reach out and talk to other software developers—and not just your coworkers—so that you get a mixing of ideas and viewpoints which will force you to grow.
Doing this may be as simple as starting your own blog to share your experiences and interact with others who comment on or read your posts.
You can also join a user group or attend a code camp or conference, which will give you ample opportunities to meet new people and exchange ideas.
There is also a huge emotional reward in giving back. If you have some experience that you can share with others, doing so is likely to make you feel really good about yourself and provide a benefit to someone who could use your help.
If you are feeling down in the dumps or depressed, one instant cure is to do something nice for someone else. Is there a developer you know that could use your help?
#4 Set a course
If you don’t know where you are headed in your career, there is no better time to figure it out than now.
So many developers drift aimlessly through their careers without thinking about where they want to be and what they want to become.
It is not enough to say that you want to become a good software developer or programmer—you need to set a definite direction that you are progressing towards.
With a clear goal in mind, your mind will employ the power of your subconscious mind to help you achieve that goal. Without one, you’ll just float adrift never reaching any real destination.
(By the way, this is one of the most powerful realizations you can discover in life. Once you learn to harness the power of your subconscious mind, you’ll be amazed at what you can accomplish. The book that explains it better than I can here, is Psycho-Cybernetics, I highly recommend it. One of those “must read” books.)
This doesn’t mean you have to chart out your life and decide where you will be in 20 years, but it does mean that you should at least have a plan of what you intend to accomplish by the end of this year and at least have some kind of destination out a bit further than that.
It is really worth taking that time to sit down and think about what you want to accomplish. Don’t even worry about how you will accomplish it. It is much more important to focus on the what. The how will come automatically once you tackle the hard problem of what.
Make this your best year yet!
Hopefully this post gave you some ideas you can use to help you to move the ball forward this year and really move towards some clear and definite goals.
One of my goals this year is to finish building my course on How to Market Yourself as a Software Developer. I plan to include topics like the one in this post to help you chart a definite plan to market your skills and really boost your career.
It is only available for limited pre-order now while I am getting together a group of early adopters that will help me shape the rest of this course, but if you want to know when it will be released or you are just interested in more posts and software developer career advice, like this one, sign up here and I’ll keep you updated.
What are you doing this year to become a better software developer?
What would you think if you were interested in buying some new product you heard about, but when you went to the company that created the product’s website you found it wasn’t there, because they didn’t have a website?
Today, we expect pretty much every reputable company to have a functioning website.
But, many developers—web developers included—don’t have any kind of online presence of their own.
Sure, you may have social networking accounts, like Facebook and Twitter, but do you have a website that you own which you can point people to as your castle on the web?
The importance of having a home base for marketing yourself
I’ve talked before about how important it is to market yourself as a software developer, but I’ve never really gone into the details of how.
I’ll be creating a series of posts dealing with the subject of marketing yourself over the next few months, starting with this post on what I believe is the cornerstone to any success software developer’s self promotion strategy, building a blog.
As you’ll see in this series, it is actually pretty easy to get started creating a blog—probably simpler than you may think. But, before we get into the details, let’s take a moment to talk about why it is so important to have a home base on the web, especially for a software developer.
It really begins with how you view yourself as a software developer and your software development career. Many, if not most, developers view themselves as a software developer who does a job. For the most part, there is nothing really wrong with this view, but it is not the best way to think about what you do.
Instead, you are better off thinking of yourself as a business. Sure, it may be a one man or one woman business, but the truth of the matter is that you are providing a service to a client, even if that client happens to be your boss.
When you think of yourself and your career as a business that you are building, you suddenly are no longer exempt from needing a web presence. Just like we might think it would be pretty bizarre for a company that we do business with to not have a website, your clients and customers will think it is bizarre if you don’t have one—especially if you are a programmer that specializes in web development.
For most developers, your blog will be your main presence, or your home base on the web. Your blog is a chance to tell the world about what you are doing and show what you can do, and to completely control the message and image you present. This is an extremely powerful concept, because it allows you to shape the way potential and present customers and clients see you and can really increase your exposure.
This really is the key to marketing yourself online.
But, I don’t have anything interesting to talk about
Hogwash. That excuse is just no good. Everyone has something interesting to talk about.
This is an excuse I hear pretty often, and it seems like a good one—until you really sit down and think about it.
As a beginner, it can seem like you are not good enough; like what you have to say isn’t important; like there are so many other people that have much more valuable advice and opinions. But, the truth is different people at different levels in their knowledge of a subject, or with different kinds of combination of subjects they have knowledge about, can reach and provide value to different sets of people.
Let me break that down a bit.
What I mean to say is that just because you are learning C++ and there are C++ gurus out there with 30 years of experience and more knowledge about C++ then you may ever have, doesn’t mean that you don’t have something valuable to offer.
Sure, Herb Sutter might know more about C++ than you, and other C++ experts may gain valuable information from his blog, but can he reach the C++ beginner, like you, that is just starting out as well as you can? Probably not.
The truth is sometimes an amateur can reach other amateurs better than a professional can.
The truth is sometimes a woman can reach other females better than a man can.
The truth is sometimes a younger 20 something person can reach other 20 something people better than a programming dinosaur can or vice versa.
Chances are if you find it interesting, someone else does to. So, stop using that excuse. You can create a blog and it can provide value. You just have to be willing to put in the work.
I’m not looking to advance my career or sell something
Again, I have to say this excuse is a bit short-sighted. You might not be looking for another job right now, or to move up the ladder, but chances are, at some time in the future, you will be.
The biggest mistake I see developers make with career advancement is waiting until they need a job to start doing things like networking or blogging.
This is a bad idea, because it reeks of desperation and building up momentum, be it with blogging, networking, or something else, requires time.
Ideally, you want to start your blog and start using it to market yourself and your skills, before you need to. Then, if the well ever dries up, you’ll have plenty of prospects.
The same goes with selling something. You may think that you’ll never have something to sell, but if you ever write a book or decide to sell some consulting hours, having a blog can bring you clients and prospects instead of you having to go out and search for them.
Ok, so hopefully, I’ve convinced you to at least consider creating a blog that will serve as your home base on the web– which will be your primary tool for marketing yourself online.
I can’t tell you how many opportunities have come to me from having this blog that I would have never expected.
But, you may be wondering how to get started with creating your blog. If you are like me, you probably want to know what options you have and how to pick the best one.
In my next post, I’ll talk about the 3 main options for creating a blog, give you the one I personally recommend, and give you one really important piece of advice that you won’t want to ignore.
Just check back next week, or you can sign up here to get updates, so I can let you now when the next post goes live or when something else interesting is happening at Simple Programmer.
And if you can’t wait till next week, take a look at this book: Technical Blogging: Turn Your Expertise into a Remarkable Online Presence. (It is from a fellow developer who gives some tips on creating a successful blog.) I really enjoyed this book and found some great tips in it.
Oh, and if you are super excited about the idea of learning to market yourself as a software developer to boost your career, I am taking limited pre-sales for my new complete course and package “How To Market Yourself as a Software Developer.” I’ll announce more about this later, when it is ready for an official launch, but if you are quick, you can get in early and help shape the course.
Want to be a better software developer? Good. Hang around better software developers.
One rule in life we can’t ever avoid is that you are who your friends are.
You may think it doesn’t pertain to you, but if you look closely at your own life and your career, you’ll see that every step of the way who you hung around and spent time with greatly influenced your own success or failure.
In this video, I talk about how important it is to carefully choose the people you hang around with for better or for worse.
I often get asked by beginner programmers what programming language they should learn.
This, of course, is a tough question to answer. There are so many different programming languages today that a new developer, or even a seasoned developer, wishing to retool his or her career, could learn.
I’ve actually tried to answer this question before in a YouTube video, but I want to revise and refine my answer a bit here, because some of my views have changed and I’d like to give a bit more detail as well.
The wrong question to begin with
It turns out that what programming language you choose to learn is not actually all that important
Things have changed quite a bit from back when I first started my career in software development. Back when I first started out, there were much fewer choices of programming languages and there were much fewer resources available for reference. As a result, the choice was much more important.
For example, I started out learning C and then C++. At that time, it took quite a bit of work to master the language itself and to understand all of the standard libraries that were available. A good C or C++ programmer back then had a very in-depth understanding of every nook and cranny of the language and they needed this knowledge, because of two main reasons.
- References were not as widely available, so figuring out a syntax or library available involved flipping through a huge book, rather than just typing some keywords into Google.
- Programming, in general, was done at a much lower level. There were far fewer libraries available to be able to work at higher levels, so we spent more time working with the language itself and less time working with APIs.
Contrast that with the programming environment of today, where not only is information widely available and can be accessed with ease, but also there are a large number of programming languages that we effectively use to program at a much higher level due to the vast amount of libraries and reusable components available to us today.
In today’s programming environment, you tend to not need to dive as deeply into a language to be effective with it. Sure, you can still become an expert in a particular programming language, and it is good to have some amount of depth in at least one language, but you can literally learn a new language in less than a week and be effective with it almost immediately.
Now, before your alarm bells go off and you write me off as crazy, let me explain that last sentence in a bit more detail.
What do you mean you can learn a programming language in a week?
What I mean by this is that once you understand the basic programming constructs available in just about all programming languages, things like conditionals, loops and how to use variables and methods, you can take that same knowledge to a different programming language and just learn how to do those same things in that language’s syntax. In fact, most IDEs today will even help you with the syntax part, making your job even easier.
If you are already fluent in multiple programming languages, you probably agree with what I am saying, but if you have only ever learned one programming language or none at all and are looking to learn your first programming language, you might be a little skeptical. But, take it from someone who has learned and taught programming languages which I have learned in a week, the basics are pretty much the same.
Check out this book which basically deals with this exact subject, Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages.
Now, if you are just starting out, it is pretty unlikely you’ll be able to learn a whole programming language in a week. This brings us to the question, you may be asking yourself…
So, what programming language should I learn then?
Hold up. I’m still not quite going to answer that question. Because, it still isn’t quite the right question.
Instead of getting hung up on what programming language you want to learn, you should instead ponder what you want to do.
Learning by doing is the most effective way to learn, especially if you are doing something you have an interest in or is fun to you.
So, I always start new want-to-be developer out by asking them what they want to build.
Do you want to build an Android application? How about an iOS application? A web page? A game?
First, figure out the answer to this question and then let that answer guide you to choose the technology and programming language you will use to achieve that goal.
Don’t worry so much about which programming language or technology is most valuable. You can’t make a wrong decision and regret it later, because it won’t take you much time to retool later if you need to. Once you have the basics down and have actually used a programming language to build something, you’ll find that doing it again will be much easier.
I like to encourage new developers to write a mobile application—especially an Android application.
Here are some reasons why:
- A complete Android application can be built by a single person. Creating a complete application will really help you to feel confident about software development and is one of the best ways to really learn to code. I spent a good deal of my early career only being able to create bits and pieces of things, and it was frustrating, because I never knew if I could really “code.”
- By learning Android, you learn Java and how to use libraries and APIs. This will give you a good programming language to start with and you’ll get some valuable experience with APIs.
- Google gives you some free help and makes things pretty easy to learn. Since Google really wants you to create Android applications, they have put quite a bit of work into creating easy to use tools and tutorials to help you be successful quickly. (I’ve also created some tutorials, which you can watch at Pluralsight here as well.)
- You can actually make money while learning and teach yourself a very valuable and upcoming skillset. Not only can you sell your Android application or monetize it in some other way, but you will be learning a complete set of software development skills for a platform that is in very high demand.
Aha! So Java it is then?
No, not exactly.
Summing it up
I’m actually working on some products to help developers manage their careers and lives better which will cover topics like this one a bit more in-depth. If you are interested in receiving some updates when I publish an interesting article or video, or when I launch some of those products, feel free to sign up here. Don’t worry, I won’t spam you. J
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.