Degrees for developers are worthless

It’s a minimum of 4 years of your life.

Very little of which you’ll actually learn how to code. The stuff you do learn will almost certainly be outdated. And, for your trouble, you’re going to fork over 5-6 figures for a piece of paper.

And, that’s IF you actually graduate.

And, don’t get sucked into the bottomless pit of parties and alcohol.

But, but, John… you’ll learn computer science at college.

Great. Take one of the many computer science courses you’ll find on online… many for less than 100 buqs. And, learn your precious computer science concepts. No need to fork over your left arm to learn that stuff.

It’s really not that difficult to learn.

But, but, John… hands-on learning and stuff?

Great. If you need that, then go to a coding boot camp and get even more hands-on instruction than you’d get at college for 1/10 the price. College is NOT the only place you can that type of training.

But, but, John… companies only hire developers with degrees.

Some companies. There’s plenty that couldn’t care less about your degree. But, do you really want to work for a company that cares more about your degree than they do what you actually know and can do?

That sounds miserable.

Why would you wanna work there?

Especially, when there’s tons of other companies who don’t think that way?

So, there you go…

To me, in this day and age, getting a degree to be a developer is completely unnecessary, a waste of time and money and the slowest, most expensive way to learn how to code.

Go self-taught, boot camp or both.

That said, I have a full curriculum for self-taught web developers that’ll teach you the fundamentals you’ll need in your career. And, you can take IT for free over on Skillshare. All the details on the curriculum and how to get free access are here:



April 23, 2019

How to price your freelance projects

Another common question I get, this time from Gary:

“Sir, I’m a self taught web developer with no job experience. My question about freelancing is how to price a website? For example do I need to let the client pay for the hosting website and etc.”

Perceived quality.

Note the emphasis on perceived. Here’s the analogy I use. Imagine you need to get a medical procedure done. So, you go to the nearest clinic. As you pull up, you notice the clinic is in a sketchy part of town.

The parking lot is cracked and littered with trash.

The clinic’s sign is old and missing letters.

The front door has big, iron bars on it.

Once you get inside, you see the office is dirty. The carpet is stained and ripped in spots. The receptionist is rude and unkempt-looking. The doctor comes out and his clothes are wrinkled. He’s got a stain on his shirt–

So, at what point do you say, “Oh hell no!”

Now, notice…

NONE of the things I mentioned had anything to do with his SKILL as a doctor. Instead, they were all “circumstantial” factors that make him look unprofessional and, therefore, unskilled.

He could be the best doctor for 100 miles.

But, you’d probably never get far enough to find out.

THAT is perceived quality.

Your website, your profile picture, your portfolio, the content you produce… every little thing a potential client sees in relation to you goes toward how good they PERCEIVE you to be… the good and the bad.

And, that has a huge impact on what you can charge.

Fact is, if you do all these things right…

You can charge way more for the SAME service…

Than someone who doesn’t.

So, don’t waste your time trying to find some “intrinsic” price for a particular service. Freelancers in the same market, offering the exact same services charge vastly different prices. And, perceived quality is a big reason why.

But, that’s 1 factor.

Competition also matters.

More (quality) competition means tighter pricing.

There’s also differentiation.

Do you stand out in some way?

But, here’s the more important point. Pricing is actually just one aspect of the thing that really matters… and that is the OFFER. It’s not just what something costs… it’s also “What am I getting? How is it delivered?”

It’s the client’s internal ROI gauge.

And, learning how to craft compelling offers is one of the most important and lucrative things you can learn how to do, as a freelancer. Because when you get it right, you not only make more, but selling your services actually gets easier.

In any case, I created a whole course on this.

That’s how important it is.

In it, you’ll learn what I call the “Fiverr Method” which is step 1 in how you package your services to make them more appealing to potential clients. Also, the 3 different pricing strategies you can use to beat out your competition.

How to KNOW, not guess, what the right price is.

Plus, how to build out your product line…

To methodically build a diverse and stable freelance income.

Anyway, the course is the first installment in my Freelancing 101 series and you can get access to it for nothing over on SkillShare. Link for all the details on the course and how to get free access to it is here:



March 4, 2019

What tricks most NEW developers

There’s a saying:

“Don’t let perfect be the enemy of good.”

Wise words particularly for new developers. By far, the most common questions I get about becoming a developer relate to getting started… what languages to learn, courses to take, tools to install, etc.

But, the truth is…

Picking “right”, on any of these questions, is not what separates successful developers from unsuccessful ones. It’s having A plan and executing on it, not spending forever devising the “perfect” plan.

Take, for example.

When Lynda Weinman first started the site back in 1995, it was built to let her communicate with people who’d bought here book, Designing Web Graphics. By 1997, it morphed into a sales site for in-person classes.

It wasn’t until the dot-com crash that they considered doing online video.

In 2001, after the crash, business started to slow up.

They were forced to lay off 75% of their staff.

And, THAT’S when, as you probably know it, was born. Then, in April of 2015, it was acquired by LinkedIn for 1.5 billion. Point is, her plan wasn’t perfect. But, she got started.

And evolved and adapted along the way.

THAT is the name of the game.

So, early on in your career, you should be dabbling.

Trying all sorts of things to figure out what you really enjoy…

And, what you’re really good at.

ACTION brings clarity… not endlessly thinking and re-thinking.

In any case, this is why SkillShare is so appealing to me, especially for new developers. Unlike Udemy and other similar sites, you get access to the entire library of courses for a low monthly fee.

So, you can dabble without worrying about wasting a bunch of money.

Or, obsessing over which courses to take.

It’s like the “Netflix for online learning”…

And, a perfect fit for today’s constantly-evolving technology environment.

Anyway, if you wanna give it a try and get FULL access to all 21,000 courses, including my own web development curriculum, I can give you an *exclusive* 2-month free trial of the site.

Link with all the details on that are here:



February 11, 2019

The cut-throat developers coming for you

Let’s talk competition.

This follows on from my post from yesterday, but there are two big trends, in my mind, that are ramping up the competition you’re going to face as a developer. And, it’s only gonna get worse.

First, is this the flip-side of what we talked about yesterday.

All the new technologies.

All the new languages.

All the new frameworks.

By the time you get one thing figured out, there’s three more new ones to learn. When you’re in this industry, it can be overwhelming, frustrating and a little bit scary. That’s one way to look at it.

But, from the outside.

When you’re trying to get in.

All these things are making “being a developer” easier to get into.

They’re lowing the barrier to entry.

The more that happens, the more people will get into it…

And, the more competition you’ll face.

The second is a function of how economies work. Back in 1870, 50% of the U.S. workforce was employed in agriculture. Today, it’s 2%. By 1910, 32% of the workforce was in manufacturing. Today its’ 9%.

Where are all those workers going?

I’ll give you eight guesses… but I think you’ll only need one.

But, here’s the thing that’s not so obvious. 

In 1860, there were only about 2 million farms in the United States. And, that number had steadily grown through the 1800s. But, suddenly, from 1860 to 1905, that number tripled to 6 million.

A massive explosion of the industry.

Same thing happened in manufacturing.

In 1940, there were less than 10 million people employed in manufacturing in the U.S. By 1979, that number was almost 20 million. 

So, what about tech?

There’s yet to be that kind of employment explosion.

Even during the dot-com bubble, only 4% of the population was in tech.

Today, it’s 3.9%.

But, I think that’s going to change.

You only need take a quick look at what’s happening in the world. How computers are being injected into every thing we do. From phones, to TVs, refrigerators… hell, even “smart” toasters.

The future is a tech future.

This is why I tend to roll my eyes when I hear all this “koombaya”, community of developers stuff. Yay. It sounds good. But, at the end of the day, this industry is a competition.

And, a cut-throat one at that.

No developer is going to say, “Oh, ya know, I got that last client, you go ahead and take this one.” Or, “I landed that last job, why don’t you get this one.” Ain’t gonna happen.

You have to compete.

And, you have to compete and win.

Now, I think there are three things you need to do that.

The first is the obvious: talent. Skills matter. The second has historically been less obvious, but I’ve talked about it so much and it’s become more accepted that I won’t spend much time on it.

That is marketability.

The last one, though, I don’t think gets talked about much.

Which is adaptability.

In an environment of rapid and constant change, the people who can read that landscape, quickly identify what’s important and adapt themselves to it… those are the people who’ll win.

And, it’s not just about intelligence.

I was watching this documentary the other day. It was about the transition from Neanderthal man to homo-sapiens. And, they said a lot people believe Neanderthals were just dumber than homo-sapiens.

And, that’s why we survived and they didn’t.

But, that’s a misnomer.

Actually, all the archaeological evidence points toward Neanderthals have larger brains than homo-sapiens. And, in an evolutionary sense, a larger brain means a smarter animal.

So, Neanderthals were probably smarter than homo-sapiens.

But, Neanderthals had wide, fat tongues that sat further back in their throats. So, they were only capable of a handful of sounds — 14 or so. Whereas, homo-sapiens have thinner, narrower tongues.

And, are capable of dozens, if not hundreds, of different sounds.

Which enabled us to develop more sophisticated language.

And, communicate better.

That’s why we “out-competed” the Neanderthals.

So, it’s not just about intelligence.

In our industry, I believe the ability to adapt is linked inextricably to learning. The quicker you can learn, the better you are at teaching yourself, the more effectively you can adapt to this environment.

And so, it’s about making a serious commitment to education.

Now, a lot people when they hear that will say, “No kidding!” Brilliant insight there, John. But, this is where I want to challenge you a bit.


Knowing is one thing… doing is a whole other.

I’ll use myself as an example.

I spend about $200/month on education and training. That’s a bare minimum, consistent, month in and month out commitment. And, of that $200, $100 of it goes toward one thing.

A print newsletter.

Wait, what?

“You’re a web developer and you spend $200/month on a print newsletter?”

“Are you stupid?”

But, that print newsletter has easily been worth 10-20 times what I pay for it. I can track it explicitly to before the newsletter and after the newsletter. So, the ROI is clear to me.

And, I’d happily increase that $200, if necessary, in the future. 

So, again, it’s one thing to know.

It’s a whole other to do.

And, I believe it’s those who make that serious, consistent commitment to their own education… those what actually do it, not just talk about… that will survive the coming explosion of competition we’re gonna see.

Now, one of the things I’ve done to help is to create a free tutorial site, at I took lessons from some of my most popular courses and put them over there…

Completely free.

It’s a good way to get started with that commitment.

But, whatever it is you do…

Do something.

Make some kind of commitment.

No matter how small.

Because, that’s what  will mark the difference between the winners and losers in the disruption that’s coming to our industry — and will allow you to compete and win.



August 3, 2018

How to get more IT jobs by erecting a big, beautiful wall around potential clients

Like the best wall…

With the best words…

It’ll be yuuuuu–

Anyway… I just finished recording Episode 3 of my “Get Paid to Code” series for Patreon (which, btw, I’ll be releasing on June 3rd exclusively for Patreon supporters) and in it I show you how to find the best clients and best jobs on Upwork… then exactly what to say in your bid to get hired for those jobs…

And, I couldn’t help but feel a bit like ol’ Don Juan Trumpey.

Because, as a freelancer, you should have “immigration” standards.

You shouldn’t just work with any old client.

You should erect a big, beautiful wall around your client list and only let the “best of the best” in. Specifically, on Upwork, you need to know how to sift through all the riff-raff jobs, all the low-ballers, drama kings and noobs to find the most seasoned clients who have a demonstrated history of hiring a lot, paying well and being easy to work with.

And, you can do it.

Take WordPress for example…

If you just search for “wordpress” on Upwork, you’ll see 13,000+ jobs. And, if you just start scrolling through… well, they’re posted in reverse chronological order. So, you might have to sift through 100 dirtbag jobs to find one good one.

Nobody does that.

Normally, you’ll just end up taking the first one you see…

That seems like a decent fit…

And, hope for the best.

However, if you search for “wordpress” and filter for clients who have 10+ hires and jobs that are fixed price and have a budget above 5K… you’ll get 36 jobs. Not only is that more manageable… but they’re jobs worth bidding on.

The best of the best.

And, it’ll save you a ton of time.

But, the point is…

You need to be picky.

And, you need to be strategic.

And, you need to know how to use the tools that’ll help you do it.

You need to kill that inner “desperate guy” (or gal) that tells you can’t win those big jobs, that you’ll take anything you can get, that doesn’t have standards… and start qualifying your clients as much as they’ll qualify you.

You’ll get better, hire-paying work that way.

You’ll feel better because you’re working on things you actually want to.

And, often, you’ll even got MORE work.

So, you might be “open borders” in your politics…

But, you’ll want to be very severely “closed borders” in your client work.

Of course, that’s just one example.

What about finding clients who you have the best chance of establishing a long-term relationship with? I talk about that a lot… to use Upwork to prospect for clients that will hire you long-term. How do you find those clients?

Or, what do you say in your bid to get them to hire you?

How do you analyze their job description and develop the best response?

There’s a lot of nuance to getting this right.

But, when you do… you can basically write your own check on Upwork.

Anyway, I get into all that in Episode 3 of the “Getting Paid to Code” series. It’s a screencast where we actually log into my account and I just show you how to search for jobs, how to pick the best jobs and clients and what to say in your bids…

So you can get more work…

With better clients…

That pay better…

And, are more likely to hire you again and again.

Grab even just a couple clients like that and you’ll be set.

Anyway, if you want in… you’ll need to get past the Patreon border guard and become a supporting listener. You can get all the deets on that at:

I’ll see you on the inside.



P.S. Watch the video version of this message here:

Listen to the audio version here:

May 30, 2017

Prevent SQL injection attacks with prepared statements

Bit of a hot topic lately in my inbox.

Here’s what an old, vulnerable query might look like:

$expected_data = 1;
$query = “SELECT * FROM users where id=$expected_data”;
$result = $mysqli->query($query);

The problem here is we’re injecting user-submitted data directly into our SQL statement without any sort of escaping or validation. So, a hacker could enter something like this in our form:

1; DROP TABLE users;

Changing our full query to:

SELECT * FROM users where id=1; DROP TABLE users;

Which, as you can probably see, will execute the SELECT statement but then drop our users table. No bueno. And, that’s a simple example. SQL injection attacks can be used to do all sorts of things: getting passwords, gaining privileges, making superusers… and all sorts of stuff.

Luckily, there’s an easy way to prevent this class of SQL injection:

Prepared statements.

Prepared statements split the query from the data so that the data submitted can’t be used to alter how the query is run; thus preventing injection attacks. Here’s an example of how our code would change:

$expected_data = 1;
$stmt = $mysqli->prepare(“SELECT * FROM users where id=?”);
$stmt->bind_param(“d”, $expected_data);
$result = $stmt->get_result();

Notice how we separated the data from the query. We send the query to the server first and then we bind the data to that. This prevents the submitted data from altering the query and letting the hacker in.

This is how you should write your queries.

Now, if this stuff is new to you or you don’t feel like you quite fully get it yet, then I recommend diving into it. One good way to learn everything PHP is with this tutorial. You’ll learn prepared statements… but also OOP, all of MySQL with PHP, $_GET, $_POST, working with files, folders, if/else/switch… all of it. Plus, you build several fully-functioning scripts so you learn how to put it all together and build something real.

No brainer, IMNSHO:


John “Don’t Hack Me Bro” Morris

January 29, 2017

The one JavaScript framework I WOULD use

It’s this simple.

Include it in your project like this:

< script src=”” >

Then, write your HTML like this:

< span class=”app” >{{ message }}< /span >

And, your Javascript like so:

var app = new Vue({
el: ‘#app’,
data: {
message: ‘Hello Vue!’

That will output “Hello World” to your browser. Seems simple enough, but here’s where it gets fun. Now, open up your console and type:

app.message=”What’s up?”

And, hit enter.

See, how your text now changes to “What’s Up?”.

And, how easy it was to do?

That’s what VueJS can help you do. And, what makes it different from other front-end frameworks that do similar things is it’s “designed from the ground up to be incrementally adoptable”.

Which means you can methodically migrate to it.

Or, use it in parts to do specific things.

Without having to go all-in or not from the start.

Not to mention, VueJS developers are some of the highest paid in our industry.

Of course, you know me… I don’t go writing ballads for every new language or framework some hipster writes a Medium article about… but I really like this one. You can use it as much or as little as you want.

And, it helps make building reactive websites dead simple.

Anyway, if you wanna learn this sucka, get the world-class VueJS edumication you need right here. 328 lessons to help you master VueJS, build dope, reactive applications and make the big buqs.

Normally, 200 bones… right now 75% off.

Get it here:

January 16, 2017

Plugins, Platforms, and My Plan for World Domination

I’ve been thinking a lot lately about WishList Member and its future. Specifically, how the web as a whole is evolving and what role WLM will play in that web. Looking into my magic “crystal ball”, I’m seeing some exciting things ahead if we take the right approach and develop the right mindset for the changes that are occurring with the greater internet.

Of course, none of this makes sense unless you know my Secret Plan for World Domination (add in ominous tone). I don’t mind sharing it, because while it’s simple to understand… it’s pretty damn difficult to implement. So, knowing it is like 1/100 of the battle.

However, I’ve personally never seen this put together in one grand strategy before… and, if you’ve never seen it, it can be quite enlightening (if I do say so myself). So, here it is…


August 9, 2012

How to Destroy Your Business Legacy… And Why You Shouldn’t

Ethics in business today suck. Entrepreneurs are too focused on profit as the ultimate goal.

Profit is NOT the ultimate goal.

Business Is a Game

In baseball, a power hitter is often measured by how many homeruns he hits. As fans, we idolize and adore good hitters.

But, hitting homeruns isn’t his ultimate goal.

It’s a means to an end. The end is winning games… and winning enough games to be called a champion.

Often times, his legacy depends on whether or not he won a championship… regardless of how many homeruns he hits.

And, if he cheats to win, his legacy will be forever taintedregardless of how many homeruns he hits.


June 28, 2012