[soundcloud url=”https://api.soundcloud.com/tracks/161948278″ params=”color=2eaef0&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false” width=”100%” height=”166″ iframe=”true” /] 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
Most freelancers and web designers immediately roll their eyes when I say the word, “branding”. Mostly because they’re thinking of big brand branding done by companies like Coke or McDonalds… that’s “not meant to actually make sales”. Yet, “branding” is how I get 99% of my clients. In fact, you’re here reading this right now because of the “branding” I do. So, if you can put aside all the mis-information you’ve probably heard about the word “branding”… Check out the video below and let me show you the #1 thing I do get more freelance IT jobs:
Most web designers don’t this. Most web designers think it’s dumb or not necessary. Most web designers roll their eyes when I bring it up. Most web designers are also BROKE. There’s one single thing I’ve done that most other web designers don’t do (or don’t do that well) that brings me 99% of my freelance jobs… And, in this video I’ll show you what it is (and how to do it RIGHT): photo by: Dan Moyle
2014 Trends That Could Make You Obsolete, Should You Use Code Frameworks, and How to Attract High-Paying Clients Using Content
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
Why You’re Not Getting Hired on Elance and oDesk 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
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.
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
This cost me 4 years of my life… 4 years I could have been doing what I loved for a living… 4 years I could have been living well instead of struggling to make ends meet… 4 years further down the road to success I could be right now… I regret those 4 years every day of my life because the mistake I was making is SO easy to solve… and it was a mistake I didn’t have to make. In this episode of the John Morris Show, I’m going to share with you what that mistake, why almost EVERY
Ever felt unmotivated or uninspired while working on a project? You felt it at first… you were super excited to get started… you felt like you could take on the world… Then, about halfway through it was ALL gone. No passion. No inspiration. No motivation. It happens for a reason. It’s not chance or luck. It’s not a fluke… or even something you necessarily did wrong. And, there IS a way to fix it.
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. WRONG! 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
A few years ago, I was really lost in my coding career. I had spent so much time mastering the technical aspects of coding that I never gave any thought to my career as a whole. And as I was becoming more and more comfortable with the technical side, I began to wonder… What’s next? Where do I go from there and how do I get there? As I searched for answers, I discovered what I call the 5 stages of coding career development.
Several years ago, I was in a really tough spot with my freelance coding business. I kept getting undercut by low bidders on Elance and oDesk and it was hurting my family financially. Then, I discovered a little-known strategy for branding yourself as a coder. Now, I turn down more work than I accept, clients gladly pay my fees and, I’ve left the Elance bidding wars behind forever. In this episode, I share that same strategy with you and show you how you can implement it in your freelancing business.
Notes: Here’s the link to Michael Hyatt’s FREE Platform Revolution Series: http://j.mp/1gaFYwX The transcript of this video is posted below for your reference — As coders, we all want more money… We all want more freedom… to NOT be chained to our computers 24/7… to work with clients we like and care about… to be able to travel and spend time with our families… And, we all want to have more impact… to work on projects that really matter… that make people’s lives better… and to be able to turn down projects that make our skin crawl… The problem? All the
Interview With Mike Lopez: How to Build Scalable PHP Applications Using Object-Oriented Programming (OOP) Concepts
In this video, Mike Lopez of WishList Products explains how to use OOP concepts to make your applications scalable and the kind of headaches you can avoid doing so.
Interview With Mike Lopez: What Happens When You Don’t Use Object-Oriented Programming (OOP) To Build Your PHP Applications
In this video, I interview Mike Lopez of WishList Products (the creator of WishList Member) and discuss the value of object-oriented programming, building applications that can scale, and why you should never underestimate your clients.
The answer: You’re not branding yourself effectively. If you were, your potential clients would never hire another developer just because they’re cheaper. As business guru, Tom Peters, puts it: “All of us need to understand the importance of branding. We are CEOs of our own companies: Me Inc. To be in business today, our most important job is to be head marketer for the brand called You.” Of course, the big question is… how do you brand yourself effectively and fix your “outsourcing problem”?
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. Probably not great ones. But, it does make me think dude should learn how to code! Why? Here’s a few reasons why:
I was recently asked: 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
I tend to get a lot of questions around checkbox handling when submitting forms to PHP. Here’s a simple snippet to illustrate how it works: A couple things to pay attention to here… 1. Notice the input names. They follow this pattern name[key]. The name is really the name of the “group” of checkboxes. The key is the name of that individual checkbox. This is how you know which checkboxes were checked and which weren’t. When submitted, this form will only include the checkboxes that ARE checked. 2. Notice the created array. When this form is submitted the output will
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
Prior to WordPress 3.8, you had the option to select the number of columns you wanted on your admin dashboard. Personally, I prefer 2. However, in version 3.8… that option is gone. Here’s a handy little code snippet to bring it back: Just change all instances of “2” to the number of columns you’d like your admin dashboard to have and drop the code into your theme’s functions.php file and you’re all set.
Prepared statements are all the rage right now in PHP development… and for good reason. Not only do prepared statements make your queries more secure… they also help future-proof your code by relying more heavily on PHP itself for that security. If you’re not using prepared statements in your queries, you really should be. Here’s a simple class that helps you do just that using MySQLi: I recommend walking through this code and unraveling how it all comes together. There are a few gotchas when using prepared statements in a dynamic way like this. Or you could just check out
Often, when working with WordPress, you’ll find the need to grab a post’s thumbnail source URL. Unfortunately, the_post_thumbnail() and get_the_post_thumbnail() only return the entire image tag. This handy little WordPress code snippet takes care of it for you, though: As you can see, you can post in a $post object or let it use the globalized $post object… depending on your needs. You can also pass in the image size you’re after. By default, it uses the “thumbnail” size. Hopefully, you find it useful.
Media queries are the cornerstone of responsive web design. They are what make the kind of advanced responsive design we see today even possible. So, here’s how to master using them… So, What ARE Media Queries? Here’s the official definition from the Mozilla Developer Network: Media queries consist of a media type and can, as of the CSS3 specification, contain one or more expressions, expressed as media features, which resolve to either true or false. Huh? Think of media queries as conditional statements. You create a query that either resolves as true or false… and if TRUE, you designate certain
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
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 this… 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
[powerpress] How to Subscribe to the Podcast Subscribe on iTunes Subscribe on Stitcher (Android) Subscribe via RSS It’s Really All About Fear, Isn’t It? 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
[powerpress] Awhile back, I posted a video talking about how you can make more money in web design by laser-targeting the services you offer. Since then, I’ve received a little push-back from a few coders and I wanted to address their concerns. Their two main arguments are: Being too specific will cause you to lose jobs when you’re first starting out. You have to build up credibility/rapport before you can start targeting more specifically In the podcast, I cover both of these… but let me briefly summarize the points I made: You CANNOT Get Too Specific. Period. It’s as close
Here’s a little code snippet to move the primary navigation in the Geneses theme to the top of your pages: Of course, you could use this to hook the primary navigation in anywhere on the page. You’d just use a different hook with your add_action() statement.
iOS and Android have forever changed what people expect from their technology. For the most part, however, that wave of expectations hasn’t hit the WordPress community. Sure, WordPress itself functions a lot like iOS and Android in a platform/app context… But, most of its plugins don’t. That is changing. And, in this new world… you’re either a plaform or an app… but you’re NEVER a plugin. App vs Platform iOS is a platform. Android is a platform. WordPress is a platform. Evernote is an app. Gmail is an app. SmartS3 is an app. Platforms are the operating system. Apps are the software that run
Graham recently asked me: Do I still need to used mysqli_real_escape_string when used prepared statements in PHP? The simple answer is no. The way it used to work is that you would take form input data, put that into a variable, and inject that data into your MySQL query in order to add that data to the database. Now, a big problem with that is SQL Injection attacks where a hacker could inject SQL code into your query and perform actions on your database… which is something you definitely don’t want. So, the standard solution became using mysql_real_escape_string to sanitize
Listen to the Full 30-Minute Podcast Version [powerpress] Let me give you an example: Yesterday, I was feeling completely burnt out. For the last couple weeks, I had been pushing real hard on a number of projects, working late nights, and basically strapped to my desk 24/7. And, it was starting to catch up to me. But, I had one more project I needed to finish and I really didn’t want to do it. Now, I’ve learned over the years that the quality of my work is pretty horrific when I force myself to work when I don’t want to.
Listen to the Full 30-Minute Podcast Version [powerpress] Are You Losing Money Trying to Be Everything to Everybody? I have 100% been guilty of this. When I first started marketing my services, I had a shotgun blast of an offer hoping potential clients would pick up on something and get in touch with me. The problem? It reeks of desperation. And, clients don’t want a desperate developer. The more you try to be everything to everybody, the more you’ll be nothing to nobody. Potential clients won’t really know what your strengths are and what your core offer is. And, they’ll
You know, I’ve spent a lot of time teaching coders technical skills. How to upload files using PHP, how to create website templates, how to hack, twist and mold WordPress to your will, and so on. In fact, the entire site over at LearnPHP.co is about exactly this when it comes to PHP. I have an entire category on this site called Code Snippets where I do exactly that. All of my YouTube videos do the exact same thing. But, to be honest, I’ve never really talked much about what it REALLY takes to be successful as a developer. Because,
I’ve seen a rash of really bad job postings on Elance lately and I thought I’d step in to offer a little (ahem) constructive criticism. Here’s the thing. Bad job postings are bad for everybody, because they lead to unclear expectations. Developers hate it because we have no idea how to bid these kinds of jobs… and the job posters hate it because they always end up paying more and getting less. Now, certainly there’s something to be said for how a developer should submit their proposal back; however, 1) I can’t see how other developers do it, so I
What will the future of content monetization look like? Are we forever stuck with an ad-based, privacy-encroaching business model (ala Facebook)? Does the failure of NewsCorp’s “The Daily” mean fee-based content is dead? What is the trend and how can you profit? These are the questions I want to answer in this article. I’ve been thinking about content monetization a LOT lately. Not because I’m weird, but because that’s what the company I work for (WishList Products) does… at least in my eyes. Right now, we call ourselves a membership site plugin, but let’s be real… our software does a
In my last post, I talked about how to add a custom meta box with a custom link to WordPress navigation menus. Several times, I mentioned how I needed to add a specific class to that link for WishList Login 2.0, so that I could find that link later and do stuff with it. This is the part where we “do stuff” with that link. Specifically, we’re going to hook into the navigation menu before it displays, find our link and change its display based on the current user’s login status. Here’s what it looks like: So, if they’re logged
When I created WishList Login 2.0, I wanted to an easy way for users to add a dynamic login/logout link to their navigation menus. As simple as it sounds, it’s not something you can do natively in WordPress and we can requests for this kind of thing all the time. In WishList Login 1.0, I had added an entire admin interface in the plugin settings that had all the necessary options for creating the link, editing its text, setting its position, and so on. Of course, this was before WordPress added menus, so I didn’t have much choice… but, now
What if I could tell you the secret making a major breakthrough in your work… in 2 words? How to stop spinning your wheels 1,000 miles an hour but getting nowhere? How to stop being overwhelmed with “everything you’ve gotta do” and start working on only the things that matter?
In this tutorial, I’ll show you how to create a custom loop in WordPress using WP_Query. Plus, I’ll explain why you want to use this instead of query_posts when creating custom loops like these.
In this video, you’ll learn how to create an .ics import file using PHP. This allows you to dynamically generate the .ics file based on stored event data. Users can then download the file and import the event information in their calendar of choice… Outlook, Thunderbird(Lightning), Apple Calendar, etc.
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.
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,
7 Reasons Why You Should Start Using the Official Facebook for WordPress Plugin (and 3 Reasons Why You Shouldn’t)
Facebook just launched its official WordPress plugin which allows you to “easily” integrate Facebook features into your WordPress website. I’ve spent the last day or so playing around with it and here’s my initial thoughts. Why You Should Install Facebook for WordPress 1. Easy connection to your Facebook account. If you’ve ever setup one of the many Facebook plugins for WordPress, you’ll know that you typically have to create a new application in Facebook, grab the API Key and API Secret from your app, and paste them into your plugin. This plugin is no different, except you only need to
If you’ve been following this site for a bit, you’ll know it’s been primarily about coding and contained all my various coding tutorials and such. Well, that’s changed. I’ve officially moved all my coding tutorials over to http://www.learnphp.co and I’m taking this blog back as my personal blog. If you want the coding tutorials, head over there. Here, I’ll be posting about pretty much whatever I want. You can follow me here if you’d like to keep in touch with me personally. (photo by a2gemma)
In this video, you’ll learn how to sort multidimensional arrays in PHP. You’ll not only learn basic sorting using array_multisort(), but you’ll also see a more advanced custom function for sorting multidimensional arrays by a specific key. Multidimensional arrays can be one of the more confusing parts about learning PHP, but this video will help you get your head around it and give you some tools for sorting your multidimensional arrays that are simple and straight-forward.
This is a question I get quite a bit, so I figured I’d write a post on it: How do I create an HTML select box with options from data in my database? Here’s how: The Query First, let’s look at our query. Yours might look something like this: That will select everything in our table and loop it into an array of objects containing the results. Now, we can take that array and create a HTML select box with it. The HTML Select Box Now, that we have our array of objects from our database we can use it
The simple secrets to high-paying freelance clients
What makes clients willing to pay $5,000, $10,000 even $20,000 and up for your services? Download and install my mobile app and I’ll show you. It’s free. Just click the button below:
WHAT OTHERS ARE SAYING
John is an excellent teacher.
John has a relaxed and engaging manner. His advice is solid and the explanations are well thought out.
John is a man of integrity, who gives generously of himself to projects and people he cares about.
John has provided expert knowledge and advice on multiple occasions that have helped me better serve my clients. John is a Rockstar!
I recommend John every chance I get. If every person I worked with were as committed to excellence, punctuality, value, and unquestionable integrity… the world would be a better place. Highest recommendation.
John Morris is exceptional in his ability to give focused insight into Freelancing and starting one’s business. His direct methods inspire confidence in his honesty.
John has a habit of over-delivering on the expectations he sets up. That’s why he’s the best.
Very professional worker who is extremely knowledgable in WordPress and Wishlist Member. I would definitely hire again.
I’m a fan. I have completed several of John’s courses. I find him very knowledgeable and he has a great delivery.
Not only is John a very talented programmer and developer, he is also an excellent communicator. He has a talent for taking complex subjects and communicating them in terms that anyone can understand. This is a rare combination. This ability has enabled me to take my skills and knowledge to the next level. Thank you John for for all that you do.
John and I have worked together on numerous projects. John is very quick and efficient and was a pleasure to work with.
John is one of the best instructors I have come across, I learned a lot from his online tutorials.
On the Freelancing on Upwork course: “This is by far the best course i have watched on Skillshare!! Thank you so much.”
John has a particular knack for the development and training of others.