I was recently asked: “How do I fill out my profile on sites like Elance and oDesk? How do I fill them out in a way that’s honest but more impressive than leaving them blank?”
Here’s the simplest way I can put this…
Your unique situation can and SHOULD be positioned to highlight your advantages. For example, when I started looking to get hired for freelance IT jobs I was completely self-taught and I believed that was a disadvantage.
I believed coders who had gone to school were in a better position than me and would have an easier time convincing clients to hire them.
But, I quickly found out that clients were often MORE impressed with someone who was self-taught and so I began using that to my advantage.
I would highlight that I was self-taught and I learned by working on REAL projects (instead of fake scenarios in some college “lab”).
And guess what… it works!
Since then I’ve come to understand that whatever situation you’re in… you can position it to your advantage. It’s “all about how you tell the story”… and it’s your job to tell YOUR story and not worry about anyone else’s.
So, how can you tell your story in a way that is compelling… that highlights your unique skills, qualifications and experiences?
Got a Question?
Call (515) 344-3163 to ask me your most burning coding question right now?
Segment 1: Web Design Trends You Need to Watch Out For (2:56)
Several years ago when the “Web 2.0” movement hit, I lost my entire freelance business because I didn’t actually know how to code. I had been using MS FrontPage to build static HTML web sites for clients.
And the move to dynamic database-driven web sites killed me.
That taught me to pay close attention to web trends and to break them down to understand the larger motivations at work. So, I could begin to predict trends and stay ahead of the curve.
In this segment, I break down 8 of the hottest web design trends in 2014 and show you the larger forces at work… so you can begin to predict what’s going to happen and adapt your business accordingly so you don’t get destroyed like I did. (more…)
When I first started out on Elance, I really had no clue what I was doing. In fact, I was pretty nervous about the whole thing. I had this sinking feeling that nobody was going to hire me and I’d quit the whole thing feeling like a failure (and maybe give up on coding for good).
And, at first… that’s exactly what happened.
The first few freelance jobs I bid on I got undercut by another developer willing to do the work for a price so low it made me question if I’d be able to every make any money as a freelance coder.
And it really burned me!
It made me angry that a potential client was willing to give control of a huge chunk of their business (and livelihood)… to the lowest bidder. It just seemed so stupid.
Then, a friend of mine (another coder who was killing it on Elance) showed me what he was doing and how he was able to get clients to hire him over and over… even though he was often the highest bid on the project.
And, he laid out a 3-step plan for me to kill it (like he was) on Elance. Here’s what it looked like: (more…)
remarkable(adj): worthy of attention; unlikely or surprising; likely to be noticed
It was Iraq 2005 and there was a girl I liked. Problem was… so did every other guy. In fact, you could say she was overloaded with guys trying to get her attention. She was gorgeous… as you can see from this picture:
And, she had an intriguing personality. She was the kind of person everybody just wanted to get to know. So, it was no surprise every guy was “after” her.
And, I was stuck.
I wanted to get to get her attention. I wanted to impress her. I wanted to get her to like me. But so did everybody else. And, so I kept trying to figure out…
Build Better Websites Using a Separation of Concerns
Easily one of the biggest mistakes new coders make… inter-mingling content, presentation, and behavior… making it a nightmare to maintain and update your code. In the first segment of this episode of the John Morris Show, I reveal how to avoid that whole mess by building your websites using a “separation of concerns”.
What is MVC? How Do I Use It?
I get this question every day. MVC has become a buzzword in the developer community and many developers have been told they need to build their applications this way… but don’t know what it is or how to do it.
In the 2nd segment of this episode, I answer those questions and show you how to start building your applications using the MVC pattern.
One of the biggest mistakes I think coders make is getting so caught up in the technical side of their coding career that they lose track of all the other (often MORE important) aspects of being a successful coder.
I know I did.
In fact, for the longest time I held this completely erroneous belief that talent trumped everything. That all I needed to worry about was being talented and I’d be good.
Because of that I couldn’t figure out why I started to lose out on client after client and constantly get underbid by coders who I KNEW were less talented.
Couldn’t my potential clients see?
Well, things got bad enough that I eventually had to swallow my pride and figure it out. And, as I did I began to realize that your technical talent is only one very small part of being successful as a freelance coder.
Apparently, the Biebs was arrested this morning in Miami for drag racing and driving under the influence. If you’ve paid even a little attention, you know this has been coming for awhile now.
I don’t really hate on the kid too much because I understand he’s a kid with a lot of money and a lot of fame… and I wonder what kind of decisions I’d have made at that age with that money and that fame.
Man… I truly hope I can just know what to do at some point without having to ask. You think PHP is an easy language to learn though?
When I read that, it reminds of the frustration I felt when I first started learning how to code. It can be very frustrating and make you feel like you want to give up. Should you? Here’s why I think you shouldn’t:
It will get easier. The first few months are the most difficult. It truly is like learning a new language… not just a new way of speaking but a new way of thinking. But, once you’ve immersed yourself in it for awhile you do start to think differently… and each new piece you learn gets little bit easier. Eventually, learning new skills is pretty simple and happens very quickly.
It’s worth it. Learning how to code may not be easy, but it’s definitely worth it. From a career perspective, you will eventually reach a point where you control your own destiny. You make what you want to make, you work with only the people you want to, and only on the projects you want to. And, you eventually can set your own hours, take off when you want… and you get to build cool new things as your “job”. All in all, it’s a pretty badass lifestyle.
It’s your passion. If you’ve made it this far, my guess is that building things in code is something you’re passionate about. If not, you would have already given up. That being the case you probably couldn’t walk away even if you wanted to. Your mind would continually bring you back to it and you’d find yourself once again tinkering with code. So, you might as well embrace it. In fact, I believe that no matter how frustrating it may be at any given moment… if you follow your passion it will always work out better for you in the long-run.
Of course, learning how to code doesn’t have to be as hard as most of us make it. I learned this the hard when with PHP. I made several mistakes that prolonged my learning curve and set me back a few years. Fortunately, you don’t have to make these mistakes because I’m going to share with you what they are and how to avoid them:
Don’t try to do it all on your own. This is easily the biggest mistakes new coders make. It has to do a little bit with ego and a little bit with this false belief that if you let somebody teach then you’re not “smart enough” to be a good coder. It’s absolutely false. I know some really great coders and what makes them great is that they’ll take instruction from anyone. If it can help them master something they need to know faster, they’ll do it. So, don’t be afraid to let others help you (in fact, I am offering to do just that for you when it comes to both PHP & MySQL and responsive web design).
Don’t learn without a purpose. The next big mistake I made was to code just to code. I was too afraid to take on clients or put out an open-source project, so I would just code things I thought I was “supposed to” know. The problem is that, as a beginner, you have no idea what you’re “supposed to” know. So you end up wasting your time on a lot of things that just aren’t very fruitful. Also, without any kind of deadline from a client, you can prolong and put off your coding… which really slows you down. As scary as it might seem, I recommend you take on clients or start an open source project. You’ll speed up your learning curve dramatically by doing so.
Don’t give up. Sounds bit circular but I made this mistake several times. I would get frustrated and quit for a few weeks or months. But, I also ended up coming back to wanting to learn more. And, the time I took off really set me back. Not only did I miss that time, but I usually had to re-teach myself things I had already learned. Coupled with the things above, it extended my learning curve from a year or so to almost 4 years before I really felt comfortable as a coder. That doesn’t mean you shouldn’t take breaks… just keep them short.
At the end of they day, I know learning how to code isn’t necessarily easy… but I believe it’s worth it. And, if you follow the advice above you can boost your progress and slash the amount of time it takes you to finally get over the hump and feel comfortable as a coder.
QUESTION: Have you ever considered giving up coding? How did you deal with it?
It was mid-June 2011 in Texas. I had just been released from Active Duty for the Army and was on my way to pick up my then 3-year-old son, Davin, from daycare.
I pulled into the parking lot, hopped out of my car and headed toward the front door of the daycare. I remember feeling the heat hit my face as I strode across the parking lot.
It was hot… but it was a beautiful summer day. Not at all like what I was about to discover inside the daycare.
I made my way across the parking lot and in the front door to the receptionist’s desk. No one was there.
As I looked around, I heard what sounded like a faint yelling sound from around the corner. Instinctively, I moved toward the sound.
As I hurried down the hallway, the yelling got louder…
“Is this how you behave? Like animals? You are a bunch of monsters! You guys better start acting right or you’ll have hell to pay!”
As I got closer to the sound, I realized, “It’s coming from Davin’s room!”
Now angry, I swung open the door to his room. The room fell silent as everybody turned toward the door.
I saw the receptionist. Her face immediately turned bright red.
“Where’s his teacher?” I asked angrily.
“She called in sick today”, she said meekly.
“Davin, let’s go”, I said as I stepped away from the door. The receptionist hurried by me and back down the hallway to her desk.
Davin gathered his things and we headed down the hallway toward the front door.
When I reached the receptionist’s desk, she was typing frantically at her computer. I noticed she was typing an email to someone… the owners of the daycare I assumed.
“While you’re at it on that email… you can tell them that Davin will no longer be coming to daycare here. And, I won’t be giving a 2-week notice and I won’t be paying any termination fee. If they have a problem with that, then I’d be more than happy make this whole incident a public event”.
She said nothing.
Davin and I left the daycare and never went back. We never heard from them again.
The Moment I Realized Why I Code…
Davin had only gone to that daycare for a few months… but over the last few weeks I had noticed a change in his attitude. He had become a lot more irritable and grumpy. He became very demanding and had began yelling for the first time in his life.
Something had seemed off to me… that day in mid-June I figured out what.
From that day forward, I watched Davin at home. For most people, that would have been impossible. Most people would have been forced to find another daycare… and hoped the same things didn’t happen. They would have been helpless.
But, I code for a living.
I have the luxury of working from home and setting my own schedule.
And, that’s why I code…
I code for Davin. Regardless of your beliefs on parenting… the fact that I code for a living meant I could do something when a daycare went against mine. I didn’t need them. And, I got the added benefit of spending a lot more time with him (and all my other children)… which was good for both him and I.
I code to express myself. Coding is like any other artistic endeavor (Yes! Coding is an art!)… to be good it requires perspective, passion, and persistence. It is more a reflection of its writer than any hard fast “coding rules”. I code to find out who I am as a coder as much as anything else.
I code to learn. I’ve always believed and said the most important skill a coder can possess and facilitated within themselves is the ability to mentally abstract. There is a direct correlation between a coder’s “mental abstraction skill level” and the value of his code. I code to get better at coding… but I code to get better at thinking, as well.
I couldn’t imagine not coding. It’s like a writer writing or a painter painting… it’s who I am. But, at the end of the day… it’s more than that. I don’t just code for me. I code so I never have to put my family in a position where they (or I) feel helpless.
And, I write all this because I think it’s important to remember when you’re feeling overwhelmed or un-motivated… why you’re here. So…
I’ve been coding for almost 10 years now and I’m finally fully embracing that coding isn’t for me. It’s taken me awhile to reach this point, but the release of frustration is pretty amazing.
Please read on, though, because it’s probably not what you think.
You see, when I first started out coding… I did it for me. It was about me expressing myself, doing what I loved, making ME a living.
But, the reality of coding is that you’ll spend the majority of your time building stuff for other people. And, that’s why coding isn’t for YOU… it’s for them.
It’s a mutually-beneficial relationship where you achieve your goals by helping them achieve theirs. You win when they do.
I bring this up because as coders it’s easy to get caught up in our own view of how things should be done. It’s easy to believe that a client doesn’t know what they’re talking about and to get frustrated with them wanting things done a certain way.
And, it can even cause you to leave or screw up really beneficial relationships… because you want your way.
And, if you do… well, it’s your loss.
You still need to be an artist… but if you really want to be successful as a coder you need to fully embrace the fact that the more you help your clients achieve their goals… the more you will achieve yours.
And, that’s why coding isn’t for you… it’s for them.
QUESTION: Do you struggle with balancing your perspective on how something should be built vs how your client thinks it should be done? How have you dealt with it?
Brace for impact. As we near the end of 2013, you’re going to be hit with an onslaught of “how to succeed in 2014” posts. That’s all fine and well…
But, sometimes knowing what NOT to do can be more powerful that knowing what TO do. This is one of the times.
Imagine if you were around 100 or so years ago and were a horse and buggy maker. Imagine if you had ignore this new “fancy” technology called a combustion engine that was making waves at the time.
Imagine how in a few short years you’d be put out of business as the automobile made your product obsolete.
Or, imagine even just a couple decades ago when this “fancy” new technology called the internet came out. Imagine if you ignored THAT.
Now, fast-forward to right now. Consider all the “fancy” mobile technology that’s taking the world by storm.
Wanna know how to fail as a web developer right now?
Ignore mobile and watch as clients and site visitors slowly fade away. Ignore mobile and watch as your competitors slowly run you out of business. Ignore mobile and watch as your online business dreams vanish.
If you really want of fail in 2014… that’s exactly how.
Now, here’s what TO do in order to succeed…
Of course, you don’t want to fail and that’s why responsive web design is now more important than ever. The world has gone mobile and as a web developer you have to keep up if you want to stay relevant.
That said, LEARNING responsive web design isn’t necessarily easy. In fact, at first it can be quite confusing. Plus, there’s a very specific set of skills you need to learn in order to master responsive design… and, if you don’t know what those skills are…
Well, that makes it about 100x harder.
Thankfully, I’m going to tell you what you need to learn:
the 3 different approaches to responsive web design and which one you should be taking
the 5 individual skills that make responsive design “happen”
how to work with and extend responsive frameworks
Once you master those things, you’ll be all set with responsive design.
Today’s going to be a little tough I think… because today is about standing in front of the mirror a little bit. Let’s talk about fear. Let’s just put it on the table… you’re scared. It’s okay.
So am I… every day.
Scared you don’t really know what the hell you’re doing.
Scared somebody will find out.
Scared somebody will see your code and flame you into oblivion.
Scared you’ll wreck your client’s site.
Scared you’ll never get it figured out.
Scared you might break something.
Scared you might not be smart enough for this…
So, why am I bringing this up?
Because, the reality is… as a coder… fear is the one thing you’ll fight your entire career. At every level of mastery… there’s another level of mastery ahead of you that scares the s!@# out of you.
To be great, you have to get good at dealing with your fear. You have to figure out how to work through it and continue to push yourself anyway.
To take the client that scares the daylights out of you (what if I “f” it up?). To learn the skill you’re not sure you’re smart enough to figure out. To put your code out there to be mocked (and loved).
You have to do it.
If you can’t, quit now. It doesn’t get any easier. I promise.
If you embrace and take it head on… you get better at dealing with it. The fear doesn’t go away, but how you handle it gets easier.
You get more confident. And, the conversations changes from “I have no idea how to do this, I don’t know where to start looking, I’ll never figure it out, my client will be pissed, they’ll tell everybody, the whole world will laugh at me, I will explode…”
“I have no idea how to do this, but I know I can figure it out”.
See the difference?
When I first started learning how to code, it scared the s!@# out of me. But, I said the two infamous words that have propelled me continually down this path and over every hurdle I encounter.
The two words I hope you’ll tell yourself when you feel that twinge of fear rising up telling you NOT to do whatever it is you really want to.
The two words (pardon my language here):
Dumb? Maybe. But, try it. Things is, I know that fear hits you at times… so NEXT time just try it. Just say those two words to yourself and see how your attitude changes.
You might be surprised.
What About You?
Tell me why I’m wrong. Or, why I’m right. What has your experience shown you? Let me know in the comments below.