You are dropped in the middle of the forest by helicopter with nothing but a hunting knife. What do you do? How do you survive?
That was the basic premise of the challenge a couple of my buddies and I undertook, only instead of our competition taking place in the woods, ours took place completely online.
The idea was pretty simple. You have one day–24 hours–to make at least $100 online. The only catch is you can’t use anything you have already. You can’t use your Twitter account, you can’t use your blog, you can’t sell some product you already created; whatever you do, you have to do it within 24 hours and you have to get cold hard cash–I owe yous don’t count.
This is the first in a series of three blog posts that are going to detail the events of this story from each of our perspectives.
- In this first post, Josh Earl, Derick Bailey and myself will talk about what we thought about prior to the contest, how we felt and prepared mentally, and what we planned to do.
- In the next post, we’ll each talk about what actually happened when the clock ticked midnight on Dec 17th, 2013. And how we survived the 24 hour ordeal.
- Finally, in the last post, you’ll hear the final outcome of the competition as we each discuss our results, break down what exactly we think we did right and what we did wrong, and how we would have done things differently.
If you follow my blog, you probably already know a bit about me, but I’ll introduce myself for everyone else. My name is John Sonmez. I’ve been a software developer for about 15 years–at least that is how long I have been doing it professionally.
I’ve worked for large and small companies, worked as a contractor and an employee and used a wide variety of programming languages and technologies, but my true passion has always been teaching.
A few years ago I started making courses for Pluralsight and during that time I produced 54 courses on everything from Android and iOS to game development. The success from this venture allowed me to quit my job and work full-time on my own company, Simple Programmer. Since then, I’ve been writing blog posts, making YouTube videos, creating podcasts and producing products to help developers in all areas of their life.
I have to admit, I was a bit intimidated by the challenge–even though I was the one who proposed it. It is one thing to talk about making $100 online in 24 hours–it is another thing to try and do it.
I felt pretty confident that I could easily accomplish this goal right up until the point that we actually set a date on the calendar and committed to doing it.
One of the rules we had set out was that we couldn’t actually write down anything or do any prep-work ahead of time–it all had to be in our heads. I figured that I had better come up with some idea of a plan, so I started thinking about some of the possible ways that I could earn $100 in a day.
One obvious way was just to start randomly begging people for money. Explaining the contest itself was not against the rules, so I could basically pitch people by telling them I wanted to win this contest and see if they would contribute. I was pretty sure in 24 hours I could talk to enough people to scrape together the money, even if I had to do it one dollar at a time, but that idea didn’t really seem too appealing to me. I wanted to do something for this contest that would have the potential of benefiting me in the long run. (I did stash this idea as a last resort to use in the case that my main plan failed though.)
The next idea I had was to do some kind of affiliate marketing. At the very least I could try and market some Amazon products and get a 6% commission on whatever I sold. But, I could also find some other high commission product and try to sell it. The problem with this approach would be that I wouldn’t really have any audience to sell into; I’d basically have to be like a door-to-door salesman randomly posting on forums and Facebook groups trying to make a sale. Also, it wouldn’t have any long term benefit to me. This option seemed viable, but I thought there had to be something better I could do.
My next thought was to create a small product that I could sell. I thought perhaps I could put together a small eBook that was somewhere around 5,000 to 10,000 words and put up a small website to sell the eBook. The only problem with this approach would be that I would have to spend a large amount of the day writing the eBook and then I’d have to try and get traffic to my sales page. But, at the end of the day, I’d actually have a product that I could sell and improve in the future. This idea seemed promising, but how was I going to write a book in a single day and still have time to market it, and what should I price something like this at?
I had a couple of weeks until the competition, so I spent some time during my running workouts thinking about my strategy. I was pretty sure I was going to create some product and try to sell it, but I wasn’t sure exactly what kind of product I should create and how I should price that product.
One thing that occurred to me pretty early on was that I if I sold something at a low price, I’d have to make a large number of sales, but if I was able to create a product that I could sell at a high enough price, then I could possibly reach my $100 goal just by making one or two sales. It seemed that it made the most sense to try and sell a high-priced item, since there wouldn’t be enough time to do enough marketing to get the traffic needed to sell a bunch of little items. But how the heck could I make something in less than 24 hours that I could sell for a large amount of money?
It turned out that I had already planned to create a course that was going to teach developers how to market themselves in order to get better jobs and boost their careers. I had come up with this idea, because I had realized how valuable the publicity I had gotten from my blog, podcast, and Pluralsight courses had become to my career, and I felt that I could condense the information I had learned from this experience into something that just about any other developer could recreate. The only problem was that I had planned to create this course the following year and the course was going to take a long time to create–we are talking months, not weeks.
Then, I had a brilliant idea! What about preselling the course? I could create a first draft of one of the eBooks for the course and give it away within 24 hours for anyone who bought the presale of the entire course. If I told the customers who prebought the course that they’d get the eBook within 24 hours of their purchase, it would actually even buy my an additional 24 hours to create the book. (None of this was against any of the rules for the contest, since I would be getting the money during the 24 hour period, even if I delivered the goods later.) It was a bit risky–I mean, I would still have to write an entire first draft of a book in about 24 hours–but I thought this was the best chance of selling a high priced item. As an added bonus, all the work for the competition would force me to actually create the product I had been planning to create the next year and would actually give me a head-start on doing it.
Next up was trying to figure out exactly what I was going to do tactically to get this product up for sale and to make the best use of my 24 hours. I had to do quite a bit of running and rehearsing in my mind, but I came up with what I thought was a solid plan.
I decided that I should probably go to sleep really early the night before the competition and try to wake up right around midnight in order to maximize the amount of time I had to actually create and sell my product–this was pretty obvious and I expected my competitors to do the same.
Then, I started thinking about what order I would probably want to do things. It seemed to me that I wanted to have as much time as possible to market the product and have the product for sale, so the first priority would be to stand up some kind of a landing page and make the product available for sale as soon as possible.
But, the real big problem was how to market this thing. What do you do when you only have 24 hours and you can’t use your existing social platforms? If I could send an email out to my email list or make a post on my blog, this would be easy, but starting from scratch and only having 24 hours makes this rather hard. I thought about some of the things I could do to spread the word.
One obvious thing would be to email other developers that I knew, whom had big audiences, and see if I could get them to mention my product on their social networks. I thought I could probably come up with a pretty large list of developers that might be willing to help me out and I could send out one email to all of them, which would leverage my time effectively.
Another idea I had was to write up some kind of epic blog post that I could get on Hacker News or Reddit. I would have to create a brand new blog to do this, since I couldn’t use my existing blog, but if I was successful, it could generate quite a bit of traffic to my landing page and with enough traffic, I should be able to get the few sales that I would need.
I also considered that I could post in various developer forums and communities. I could either answer posts or create my own post that would have some relevant information, but eventually lead someone to my landing page. It would be another way to extend my reach by borrowing another audience.
Finally, I thought as a last resort I could purchase a list of developer email addresses and send out a one-time email blast to try and sell the product. It might be perceived as spam, but if I could send out an email to a large enough list of developers, I would at least be able to make a few sales.
I had to keep thinking about this list of marketing ideas in my head so that I wouldn’t forget them before the contest, since I wasn’t allowed to write them down.
So, that is it. That was my plan. I was going to create a landing page for my How To Market Yourself as a Software Developer course as quickly as possible and try to market it mostly by leveraging existing audiences since I couldn’t use my own. I felt like it was an OK plan, but I still had some serious doubts and reservations about my ability to pull it off.
It might not sound like much, but this challenge was daunting to me. Sure, I’ve earned hundreds and even thousands of dollars in a single day with screencast releases, book sales and other things. But having to do this in a single day, using no existing assets or networks… I’m getting that tight chested, stomach churning fear just remembering it.
Derick Bailey’s Story
Deciding What To Do
We talked about this a number of times before we set the date, and in those discussions I decided that I was going to focus on my SignalLeaf service for this day. Yes, SignalLeaf was something that I had already started, but it had next to nothing in terms of traffic and network. There were only a few followers for the @SignalLeaf Twitter account, there was next to no traffic on the blog (a blog that barely had a post or two on it) and the site was not getting any significant use. John and Josh both graciously agreed to let me focus on SignalLeaf since anything else would potentially mean starting up a new business model or finding a one-time thing to do. I wasn’t really interested in finding a new business model, though the one-time-only idea had me interested.
Creating A Plan
After getting SignalLeaf approved by the other guys, I made a plan in my head for what I was going to do. I would focus my day on creating and selling an eBook on how to get started in podcasting. I wanted to help people get past their fear of starting, their fear of failure and their constant delay tactics. I wanted to show people how easy it is to get started in podcasting, and give people a clear path to getting their first episode online. An eBook seemed like a great way to do this, and I’ve had a lot of success with my Building Backbone Plugins eBook. So that was set. The eBook would be my majority focus for the challenge day.
But after I settled on the eBook, I thought of something else… something a bit devious and underhanded. In addition to the eBook, I decided I was going to build a website that quite literally asked people to give me money just so I could win this challenge. I would buy a domain name on the day of the challenge, stand up a very simple page with a PayPal donate button and find a way to get people to it. Since we couldn’t use our own existing blogs or social networks, though, my plan was to borrow someone else’s. I was going to email a few very well known developers and friends, and beg them to tweet a link to my new site. It was sneaky, dirty fighting and totally sounded like something worth doing just to win.
So the rough outline for my day, with both an eBook and website to build, would be:
- 12am (Midnight): wake up and get breakfast
- 1am: buy a domain name for the “give me money” site
- 2am: publish the site
- 3am: start writing the eBook on podcasting
- 12noon: publish whatever I had on Leanpub.com, and build the marketing page
- 1pm: begin marketing the book through any means I could think of
- 12am (midnight – 24 hours later): get one final report of any income I had earned that day
Awesome. Plan set. Wife and kids informed, and vacation day from work scheduled. Now, I wait for the day to come.
The Mounting Fear
As that day got closer, I became more and more fearful – fear of failure, fear of being laughed at, fear of having someone call me out and tell me I’m a fraud or some kind of marketing shill just begging for money. It was terrifying, and I let that fear get to me. I continued to make my plans in my head. I thought about what the eBook would say. I considered ideas for building the “give me money” page. I wondered about how I would email people about it. But all the time, while I was thinking about these things, I felt my stomach turning in circles and tying in knots. The closer the day got, the worse I felt.
Honestly, I wanted to give up even before I started. I thought about the book I was going to write and whether or not I could even market and sell the thing. I wondered about the viability of selling a book on podcasting when there are so many resources for getting started in podcasting already. I even sent an email to Josh and John expressing my concerns about being able to sell this. The fear was killing me, and I wanted to give up. But I didn’t and I’m glad I didn’t – not because I was successful, but because of the things I learned from that day and the effort I put in to it.
So It Begins
The experience of throwing yourself in to the woods with nothing more than a knife is terrifying – even more so when you know it’s coming. So I went to bed early and tried to sleep, with my brain running wild with ideas, keeping me awake longer than I should have been. Then my alarm clock went off and the day was here. I pulled myself out of bed and got to work.
Josh Earl’s Story
Josh Earl is a software developer, writer and entrepreneur from Pittsburgh, Pennsylvania. He is the author of two self-published books, Sublime Productivity and Writing Sublime Plugins, both about Sublime Text, which is also the topic of his SublimeTextTips.com blog. He also runs DeskHacks.com, a site for standing desk enthusiasts, and blogs about writing and business at joshuaearl.com. His Twitter handle is @josh_earl.
When John first proposed this challenge, it sounded like a blast. Take a vacation day, spend some time hacking on a business idea, taunt friends via email, make some money. What fun.
And even better, I thought I had a decent shot at winning.
I have a little experience doing business online. I’ve published and marketed an ebook about Sublime Text that’s earned nearly $20,000, created several blogs that receive thousands of hits a month, and started a niche site that earns hundreds of dollars a month in Amazon affiliate income. I’ve built a collective Twitter following of nearly 13,000 and a mailing list subscriber base of more than 5,000.
I’ve also enjoyed some success with generating “instant traffic” for my sites. I’ve had four posts featured on LifeHacker and another half dozen or so that spent a few hours on the front page of Hacker News.
Once the battle lines were drawn, my plan coalesced quickly.
I’ve proven to myself that I can get traffic quickly, so I decided to play to that strength. If I could get enough traffic, I knew I could figure out a way to convert that into money.
What could I create that would generate thousands of visits?
The answer was obvious.
There’s a blog post I’d wanted to write for ages, It was going to be a behind the scenes look at how I’d grown my audience and my income in the year since I published my book. I’d be as transparent as possible and share what I’d done well and where I’d fallen short. Then I’d wrap it up with a summary of some of the lessons I’ve learned over the past year.
I had a good story and inspiring results, and I knew if I wrote the post it would be popular.
I decided to bet the farm on this blog post. I’d invest whatever time was necessary into writing and promoting it, then spend the rest of the day figuring out how to earn a few bucks from the torrent of traffic.
I had several ideas that I hoped would increase my chances of hitting a home run. First, Hacker News. A post that lands on the front page will receive dozens or even hundreds of page views a minute. I thought I could engineer a front page hit if I posted early enough in the day (7 a.m. Eastern in the U.S. is primetime). To maximize the appeal of my post, I planned to study several examples of income report-type posts that had done well on HN and use their headlines and structure for inspiration.
Second, I’d be as open and honest as possible about my successes and struggles. This post would be genuine and informative.
Third, I planned to mention well-known people who contributed to my success, giving me an excuse to reach out to them directly via email or on Twitter and ask them to share the post with their larger audiences.
To summarize my traffic generation strategy, I planned to write a killer post in a genre that I knew was popular with a specific audience, then try to borrow other people’s audiences to help me get the word out.
But how could I generate income from this traffic?
If there’s one thing I’ve learned in the past year, it’s that email is the best tool for selling products online. From my experience marketing my Sublime book, I’ve learned how to use a free giveaway as an incentive to get people to sign up for my mailing list, and I’ve also learned how to get people to open and read the emails I send.
I planned to use the same tactics that I’ve used effectively to market my book—only this time I’d do it at warp speed. At the end of my post, I’d entice readers to join my newly created mailing list by offering a useful giveaway. This “lead magnet” would be something related to the post—maybe a list of tools that I’ve relied on to create and market my book.
That meant I’d need to create the giveaway and write an email welcoming people to my list and linking them to the list of tools. I knew from experience that this email would get a very high open rate. I also knew that adding a P.S. to an email is a great way to draw attention to a message—after the subject line, it’s the one thing most readers will see. So I’d use a P.S. in the welcome email to promote whatever product I decided to offer.
Oh, yeah, that.
What in the world could I sell?
In addition to the contest rules, I had a self-imposed constraint that limited what I could offer: I didn’t want this product to require much of an ongoing commitment after the contest ended. That meant that preselling a book was out—at the time, I was hip-deep in editing my next Sublime Text book, Writing Sublime Plugins. The last thing I needed was another massive writing project to feel guilty about.
Two ideas seemed to fit: I could offer to let people book some time with me for one-on-one marketing help, or I could sell seats to a Google+ Hangout where I delved deeper into how I’ve promoted my book. I wasn’t sure which option I’d go for–it partly depended on which was easier to set up. I’d need to do some research into scheduling and event software, and I couldn’t do that in advance.
It seemed like a sound strategy. I looked at it as a math problem. If I could get several thousand page views on my blog post, I could probably get 100 people to sign up for the mailing list. From that, it seemed reasonable that I could sell four to six seats or coaching sessions for $20 to $30.
The entire day was going to be an exercise in creative prioritization and creating and shipping things just in time. Here’s how I envisioned the day unfolding:
- 5:00 – 7 a.m. — Research blog post format. Outline and write post. Set up mailing list subscription form.
- 7:00 a.m. — Publish post. Post link on Hacker News.
- 7:00 a.m. – 12:00 p.m. — Promote post via email, Twitter.
- 1:00 p.m. – 3:00 p.m. — Decide on product format. Write sales page.
- 3:00 p.m. – 5:00 p.m. — Create list signup giveaway. Write and send welcome email, including giveaway and event promotion. Schedule welcome email to go out automatically to new subscribers.
- 7:00 p.m. – 9:00 p.m. — Find additional ways to promote blog post. Try to sell event or coaching slots directly to friends and acquaintances.
My confidence started to ebb as December 17 got closer
Instead of looking forward to the contest, I started to dread it.
There were two main sources to this stress. One was the reason why I hadn’t already written this blog post, and the other was a fundamental fear that most humans suffer from.
As I mentioned earlier, this blog post idea had sat in on my to-do list for months. I’d resisted acting on it even though I knew it would be a hit. Why the reluctance to do something I knew would be good for my business?
The very thought of publishing this post made me feel like fraud. While I’ve had some modest successes with my marketing efforts, there are a lot of people out there who know a lot more about the topic than I do. I’ve learned most of what I know from sources like Amy Hoy’s 30×500 class and blog posts from guys like Nathan Barry and Pat Flynn. I was afraid of what these marketing vets would think. Would they just laugh at me and leave sarcastic comments?
Then there was another terrifying possibility: If my post did well and I sold a few seats, I’d have to gulp speak to a group of people—and purport to know what I was talking about. And for me (as with most breathing humans), public speaking ranks up there with swan diving into a pit of rattlesnakes.
The fear intensified with each passing day. I knew I had a shot at winning this contest, but by the time I went to bed on December 16, I wasn’t sure I wanted to.
In the next post in this series, you’ll hear from each of us how each of our days actually went. So, stay tuned. Subscribe here if you don’t want to miss the updates.
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.
The best way to guarantee success in almost any pursuit is to be prolific. Not all successful people are prolific, but almost all prolific people–regardless of vocation–are successful.
When you take so many swings at the ball, it is hard to not eventually hit a home run.
Rewards are unfairly skewed towards the top.
I used to be addicted to playing poker tournaments online. I would spend countless hours in the evenings with multiple poker tables open, happily clicking away as I could hear the mechanical chk chk chk of the computerized dealer dealing me out hand after hand.
A typical breakdown of a poker tournament prize pool goes something like this:
- 1st place = 25%
- 2nd place = 15%
- 3rd place = 10%
- 4th and lower = remaining 50%
Half of all the money goes to the top 3 places. A quarter of it goes to 1st place.
In a poker tournament, you want to win first place.
This same kind of payout structure exists in many areas of life. You see it everywhere you look. 1st place gets the big bucks, the endorsement deals, and a unfair share of the glory. 2nd place and lower get much less.
As Ricky Bobby says, “If you ain’t first you’re last.”
Because so much of life is weighted to give those who end up on top a lion’s share of the bounty, it makes much more sense to take a lot of big swings than it does to take a few little swings.
Keep swinging that bat as hard as you can, and even if you have your eyes closed, you are bound to eventually connect with the ball, and when you do you are going to knock it right out of the park.
Rarely when you find someone who is wildly successful, do you find them taking small carefully calculated conservative steps, instead you find them wildly flailing in every direction until success just walks right into one of their haymakers.
One of the most famous examples of prolific people who produce amazing results is Thomas Edison. (By the way, if you don’t know what prolific means, it basically means producing a lot.)
Thomas Edison had 1,093 US patents in his name. That means he basically invented a new thing every single day for the equivalent of 3 years. Imagine waking up every morning and filing a patent for 3 years–talk about being productive.
Here is another example. You’ve probably heard of the famous romance and fiction novelist Nora Roberts. Any guesses to how many books she has written?
She has written over 208 novels. Not blog posts, not eBooks–novels.
She doesn’t use a ghostwriter. She doesn’t have a research assistant. She does it all herself and she publishes about 5 complete novels a year. I can’t even imagine writing that much.
Want to know how many blind swings Nora Roberts took before she knocked one out of the park?
Well, she got rejection letters for her first 6 books and got her first book published in 1981. From 1982 till 1984 she wrote 23 novels which were published and she didn’t make the New York Times Best Seller List until 1991 when she had already produced close to 100 novels–that is a whole lot of swinging.
Now, every single novel she has published since 1999 has been a New York Times bestseller.
I want you to stop and think for a minute about how many authors or would-be-authors write one book or two books or even 10 books and give up. Think about it. If it took Nora Roberts almost a hundred tries to hit a home-run, why do so many people think they can do it in one?
I used to be lazy
I used to produce almost nothing. Weeks would go by and I would have no real tangible asset which I produced. During those times in my life, I wasn’t a failure, but I wasn’t going anywhere. I was just sort of floating in the pond.
But, one day something changed. I can’t quite tell you what it was, but something lit a fire under my ass. I started being productive. I turned off the TV, put the XBox controller down and started producing instead of just consuming.
I went to work and I tried to see how many backlogs I could get done in a day. I got home and wrote blog posts and created Android apps. Everyday I was doing something. Everyday I was taking big swings and stepping into them–hard.
Then one day, crack–my bat connected with something.
I got a chance to do some developer training videos for Pluralsight.
I took a bunch more swings, producing courses as rapidly as I could. 3 years went by and somehow 54 courses manifested themselves out of nights and weekends of sitting in front of my computer recording. crack! crack! crack!
It started to become harder to miss the ball than it was to hit it.
Lazy me had become… prolific?
By the way, one of the first books that helped me become more productive was Getting Things Done by David Allen, I highly recommend reading this book if you’ve never read it before.
Also, if you are having trouble staying on task and actually producing the work you know you should be producing, read one of my all time favorite books, The War of Art by Stephen Pressfield. This book will kick your ass.
Quantity breeds quality
Many software developers focus on quality. And while quality is important, it can’t be manufactured on its own. You can’t force quality to appear. It takes practice; it takes quantity to produce quality.
If you want to become a better developer, write more code. Produce some applications. There has never been an easier time for a developer to publish their own application, whether it be a web application, mobile app or even a standalone desktop one.
If you want to write good code, you need to write a lot of it. No matter how hard you try, you aren’t going to write better code by gritting your teeth and concentrating really hard. You’ve got to be actively producing code and solving problems if you want to produce better code and solve harder problems.
It’s not that quantity beats quality, so much as it breed quality. The more you produce the better you become at producing.
Back to you
If you want to guarantee success, more than anything else, you need quantity. You can’t just assume that your first try is going to be successful, you’ve got to assume it is going to take 5 tries or 10 tries or maybe even 100 tries to hit a big success.
Far too many people give up early and far too many people aren’t willing to put in the hard work that is required to be prolific.
If you are having trouble hitting your stride it may be because you just haven’t stuck with it long enough.
Your first application might not be a success. Your first attempt at solving a difficult problem may be a dismal failure. But, the question is, are you going to keep trying?
If you want to be successful, you have to learn how to produce. You’ve got to learn how to put a crank in your back and wind that thing up until you can’t turn it any more.
Are you going to be the kind of person who takes a few halfhearted whiffs at the ball and gives up? Or are you going to be the kind of person that is there day after day, swinging that bat, knowing the outcome will come if you only are willing to put in the time?
Prolific people generate prolific results.
What is it that you could be doing, but you’re not?
If you like what you’ve read, please take a moment to sign up here and become part of the Simple Programmer community.
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.
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.