Why You Should Never Use a Website Builder

There are more disadvantages to using a website builder than there are advantages. There is a lot to know about building websites.

Should I use a website builder? There is several reasons not to use a website builder when creating a website. The main reason is you cannot move your website – you will be held hostage. If your website is important to you or your business, you should consider an alternative.

A lot goes into building a website. Buying a domain, obtaining hosting, choosing a platform to build your website on, the look and feel, writing content, and Search Engine Optimization (SEO).

I’ve been building websites for over 20 years. Here are my thoughts on when to and when not to use a website builder.

When it is OK to Create Your Website Using a Website Builder

I’m not completely against using a website builder. There are limited number of reason to use a website builder.

If you can answer yes to each of the following questions, you could be a candidate for a website builder. Even if you can say yest to every question, I would still take the time to consider the alternatives which could be helpful in the future.

  • Do you want to have a website that consists of just a few pages – something like a brochure website?
  • Are you reasonably capable of creating something visually appealing?
  • Does ranking on the search engines such as Google not matter to you?
  • Will you direct your own traffic to your website?
  • Is site speed not important to you?
  • You will never want to move your website to another host?
  • You do not have any long term plans to expand your website. 

If you answer no to any of the above questions, I would recommend evaluating other options. 

The Disadvantages to Using a Website Builder

There are several reasons not to use a website builder. Below is my list.

Your Website Will Be Held Hostage

Website builders consist of the web hosting, the builder itself, and the visual layer – what your visitor sees. They are proprietary and specific to the builder themselves. This locks you into one provider. You lose control and must work within the parameters they provide or dictate.

This type of arrangement may seem good at the moment, however you have to ask yourself can your provider be bought out and the builder neglected? What happens if the host company decides they are not going to support their builder any further? What if the hosting becomes slow? Lack of support, show servers, and phased out products occur. 

You own your content, and the hosting provider owns the hosting and the builder. The builder and the hosting are tightly coupled. You cannot just move your website. You can take your content elsewhere, however you will need to rebuild your website from scratch on the new platform. There is a good chance your website will drop in ranking on the search engines, at least for a while, if it ranks at all. It might take a year or longer to recover from a move.

So why take the chance?

Website Design Considerations

If you are a talented website designer the world is your canvas, however for the rest of us we need the help of a professional designer. I must say I have seen some amazing websites created using a website builder, however those were created by very talented people. 

When using a builder, one must conciser the design aspect of the website. If you have an eye for design then this will not be an issue. 

Remember you will not be able to take the design with you.

Potential SEO Issues

I’m not convinced that website builders will entirely kill your SEO, however I do believe they can hamper your SEO and potentially keep your website from getting any real organic traffic from the search engines.

Here is some of the SEO features that are limited or missing.

  • Sitemap – Some builders create a sitemap, however you do not have access to it.
  • Robots.txt – They may provide it however you have little or no access to it and no ability to modify it. 
  • Ability to configure redirects – If you ever want to rename an article or remove it you will have no way to relay that to Google or any of the other search engines.

You may need granular control of your website that builders do not provide. This could come at a price, especially if SEO and organic traffic is of importance to you.

Host on Their Web Servers

I’ve already mentioned the tight coupling of the builder and the hosting. This is a potential problem. I’ve already mentioned some of the potential issues and wanted to talk a bit more about this potential problem.

The big hosts put thousand of websites on each server. And some host do not do load balancing, some do. When I use the term load balancing I taking about the mix of websites on a server and how they utilize resources. Most websites use a small amount of server resources. Others may use a lot of resources. If your website is on a server that is overloaded with sites that are using a lot of resources, the server may slow and in turn your website may slow. 

The solution is to have a mix of low utilizing websites with some resource intensive websites so the server is not overtaxed and therefor does not slow. 

Believe it or not speed is an SEO factor so you want to be aware of your website’s load speed.

Another thing to consider is what happens if your website starts to get a lot of traffic. If you are using a builder your website is tightly coupled to your hosting and you may not be able to move to a faster server. This is could be problematic, or even catastrophic. 

The Alternative to Website Builders

I assume since you are wanting to build your owe website you have a limited budget. I have a solution. You can build a website on a budget without painting yourself into a corner. Let me show you how.

I world recommend using WordPress. This will give you more options and can scale with you and will run on most hosting company’s servers. A lot of the hosting companies claim to specialize in WordPress. In reality WordPress will run just fine on most Linux web servers that run the PHP programming language. 

I called several hosting companies to gather information on their website builders vs hosting with WordPress

HOSTPLATFORMCOSTSSLBackupsPage Limit
iPowerWebsite Builder$7.99PaidNo6
iPowerRegular Hosting$7.99PaidNoUnlimited
iPowerWordPress Hosting$6.95PaidNoUnlimited
HostGatorWebsite Builder$4.99FreeYesUnlimited
HostGatorRegular Hosting$10.95FreeYesUnlimited
HostGatorWordPress Hosting$14.95FreeYesUnlimited
BlueHostWebsite Builder$7.99FreeNo6
BlueHostRegular Hosting$7.99FreeNoUnlimited
BlueHostWordPress Hosting$29.99FreeNoUnlimited

* The above information is subject to change by the respective hosting providers.

There are some points I’d like to make concerning the above table:

  1. One of the support representatives did not seem very enthused about using a website builder and indirectly said it was entry level and seemed to think web builders were not for the serious web site owner.
  2. WordPress will run on the basic hosting plan. That is what I would choose to start with.
  3. The WordPress specific plans were limited in what they allow you to do as the website owner / administrator. Compare this the regular hosting where you install WordPress onto that hosting. The regular hoisting give you full hosting access to WordPress. 
  4. The WordPress hosting plans provide a control panel that is external to WordPress. From my research I do not believe the WordPress specific hosting is worth the extra cost.
  5. On the regular hosting WordPress is installed by simply clicking a button on the control panel. A support representative can help you with the process.

Domain + WordPress + Theme + Some Customization + Basic Hosting

WordPress is pretty much SEO ready right out of the box. There is a ton of free and paid themes for WordPress.

All you need is your domain, a basic Linux hosting plan, WordPress, a theme, and some customization.

If you search YouTube you will probably find more than a few video’s that will wank you through every phase.

WordPress is Scalable and is Capable of Handling High Traffic Websites

I am aware of a website that gets a fair amount of traffic and contained 3000 articles that runs on WordPress. There are a lot of enterprise level websites that run on WordPress. If they can use WordPress it will meet your website needs.

Learning Curve

No mater which path you take there is a learning curve. The site builder will come with a propriety learning curve. On the other hand WordPress will come with a learning curve that is not proprietary and you can use theses kills on any WordPress website that is hosted almost anywhere.

For Those Who Want to Create Their Own WordPress Design

There are several WordPress theme builders like DIVI. The cost is low. You can expect a learning curve. 

Opportunity Costs

Using a website builder over the alternative of WordPress comes with some opportunity costs. 

  1. You will not be able to move your website. You are married with your host no mater what. 
  2. Getting help will probably be limited to your hosting provider, while there a many WordPress meetups and support groups. And there are a lot of YouTube tutorial videos.
  3. Websites created using a website builder will have limited SEO options.
  4. Several of the hosts limit the number of pages your website can have. If you want organic traffic to your website you will need a lot of content on your website. 

In Closing 

After a close look it is clear that a website built using a website builder will cost about the same as building a website using WordPress. 

The builders look nice, especially if you have design chops. You may achieve the same effect on WordPress by using a template builder like DIVI. 

For me I want the option of moving my website. The website builder limits your options. While using WordPress might be a little more complicated it is well worth it if you want to build a robust website that you hope will be visited. 

The website builder, in my opinion, should be limited to the small brochure website that the owner does not have any plans to expand.

There is a lot to know when it comes to the anyone wishing to create a new website. I hope this article provides answers and helps you decide what to do – should you use a website builder or take another path.

I wish you the best in your endeavors!!

Is It Worth learning PHP in 2020? – Everything You Need to Know

I would wholeheartedly recommend learning PHP in 2020. PHP is widely used, is in high demand, provides a lot of opportunities, and the compensation is good. 

Learning PHP in 2020 would be worthwhile for many reasons. PHP is the most popular server-side scripting language on the Internet today. WordPress, Drupal, Joomla, and Magento were all created using PHP. Add to this PHP was first published in 1994, making it very mature.

The Internet has been exploding for a while and will continue to expand for years to come. PHP is widely used and is in demand. With the recent closure of many businesses worldwide, some are thinking those businesses will adapt by moving more of their business to the web. Based on that some are thinking there will be even more demand for PHP developers.

Why is the PHP Programming Language Relevant Today

As you may know, about 80% of the websites on the internet run PHP. PHP is very relevant today and will be in heavy use for years to come.

Here is some of the reasons Learning PHP in 2020 is worthwhile: 

  • The PHP language is very mature – The PHP programming language has been around since 1994 and has matured into a language that is the most widely used server-side scripting language. PHP is a modern language with many modern features such as Object-Oriented Programming (OOP) functionality. 
  • PHP 7 brings a lot to the table – Version 7 is much faster than PHP 5. Some of this has to do with the restructuring of PHP to make it more efficient. Add to that PHP 7 comes with OpCode caching which improves performance as well. The PHP community is always looking for ways to make PHP even better.
  • PHP is the most widely used server-side scripting language – PHP runs on the server, hence server-side scripting. PHP is the most popular server-side scripting language.
  • PHP is secure – Let’s face it, the Internet is a hostile place. The PHP programming language has a lot of security infrastructure built into it. This makes it easy to secure your application. 
  • PHP is Open-Source and free – This means not only is it free, but you can also inspect the source code, and modify it as you like. PHP is a package that can be installed into Linux rather easily. The entire stack is Open Source and free. That being HTML, Cascading Style Sheets (CSS), JavaScript/AJAX, PHP, MySql, and Linux. They are all Open Source and free.
  • PHP can connect to and use many different databases – The most widely used database is MySql. MySql is both free and Open Source. Some of the other databases PHP can work with are PostgreSQL, Oracle, Sybase, and DB2. This opens a lot of doors to being able to use business data on the Web.
  • Some of the most popular web applications were created using PHP – WordPress, Drupal, and Joomla were created using PHP. WordPress holds the most market share at around 30%. An eCommerce, WordPress plugin, WooCommerce is the fastest growing eCommerce solution. WooCommerce was created using PHP as well.
  • PHP hosting is available everywhere – All the major hosting companies offer PHP as part of their hosting plans. You will have your pick of Godaddy, Bluehost, HostGator, and many others.
  • Community support – The PHP community is huge. It only makes sense given it is so widely used. Throughout the world, there are many support groups for PHP. Even the Linux user groups are willing to lend a hand. 
  • Great documentation – PHP’s documentation is as mature as PHP is. The manual is available for each version of PHP. The manual contains user comments with a lot of examples. If the user manual does not satisfy your needs, the Internet is replete with an overwhelming number of tutorials and examples.
  • PHP developers are in high demand – With the expansion of the Internet, PHP developers continue to be in high demand. Word on the street is that due to current events, businesses are increasingly shifting to the Web, leading to an increase in PHP usage.
  • PHP is easy to learn – There is a learning curve if you need to learn the full stack of technologies that come together to host and create websites and web applications. However each is easy to learn and, the good news is, you do not need to know everything to get started.
  • The barrier to entry is low – With all the free tutorials, free software, and how easy it is to learn, becoming an entry-level developer is easier than it used to be. I’m reading and hearing stories of self-taught developers getting entry-level jobs. If you want to go a little further you can become an entry-level developer by attending a 3 or 4-month boot camp. Back when I got started a 4 year degree was required. 
  • Pay and benefit packages are decent to lucrative – An entry-level PHP developer might start at around $40,000 to $50,000 a year plus benefits. A seasoned PHP developer might be able to fetch over $100,000 a year plus a lucrative benefit package.
  • Work remote – With modern technology working remote is always a possibility. To work out of your home office all you need to pay for is a laptop and an Internet connection. And the laptop might be provided
  • Learn PHP so you can complete your projects – In 2000 I learned to create interactive, data-driven websites so I could launch my website. It was not until 2006 that I went out on my own as a freelance PHP programmer and offered my services to others. You may find yourself in the same position. In my opinion, PHP is the best server-side scripting language for the Do-It-Yourself (DIY) web developer.

Disregard the Naysayers 

Some people throw rocks at PHP. I would not listen to them. Look for the proof in how PHP dominates the Internet. All languages have their pros and cons. PHP is no different. 

Some say PHP is a dead language. They do not know what they are talking about. I’ve seen Internet programming languages come and go, while PHP stays steady. 

Some Say You Should Learn Other Languages

I disagree. The PHP ecosystem is so rich and in such demand that I would not think to lean other languages would be that important. At some point, maybe yes, you will want to learn other things, however, I believe that in 2020 PHP is a really good choice. 

In the early 2000’s I used Active Server Pages (ASP) and Perl to build websites. Those two are almost gone while PHP is going strong. 

You will see other programming languages being used for web application building, such as C# and Java. C# is a Microsoft product and Java was created by Sun Microsystems which was acquired by Oracle in 2010

I am not a fan of using any language for website building other than PHP. I prefer staying with the full-stack of Open Source software in my web developer efforts.

I believe the PHP ecosystem is so rich you will need to specialize and you will be able to ride that niche for years to come. Don’t try to be a jack of all trades which causes you to become the master of none. Go deep.

Let’s look at one example. Take WordPress and it’s plugin WooCommerce. WordPress holds about 30% market share while WooCommerce is exploding. The move to the web has been going strong for a while. Given current events with all the business closures, some are thinking there will be even more of a push to do business on the web as businesses begin to adapt to being less brick and mortar and more online.

If you take up the combination WordPress and WooCommerce you could be going strong for at least a decade and maybe longer.

Learning Local

Of course, if you are going to learn how to program using PHP you will probably need a local development environment. You can use any number of localhost development environments such as XAMPP. There are many.

Summing Up Why PHP is Worth Learning in 2020

PHP is a very mature language that is here to stay. The most popular web applications are written in PHP, such as WordPress and WooCommerce. The demand for PHP developers is high and will remain so for years to come. PHP is free and easy to learn. There is a ton of references on the Internet, including the PHP manual. Pay and benefits are decent to above average.

In my opinion, learning PHP in 2020 is well worth it. 

Happy hunting!!

Is PHP a Good Career Choice?

Image : Is PHP a Good Career Choice?

If you are looking for a good career, becoming a PHP programmer could be a good choice. The demand is high, the pay is decent, and there is a lot of opportunities. 

PHP is in high demand. About 80% of the websites and web applications on the Internet use PHP in some fashion. The barrier to entry is low given PHP is Open Source, easy to learn, and there is a lot of free tutorials. And don’t forget the pay is decent as well.

I like PHP because it is easy to learn, is in high demand, pays well, brings with it interesting projects, and provides a rich career path. Let me explain.

Opportunity

As stated above PHP powers, at least to some degree, about 80% of the websites on the Internet.

Here is a shortlist of some of the web applications that were created using PHP.

  • Frameworks – There is a lot of PHP frameworks, such as CodeIgniter and Laravel.
  • WordPress – This application makes up about 30% of all the sites on the internet. It is classified as a Content Management System (CMS).
  • Drupal – Drupal is also a CMS plus more. Drupal can be used to build robust applications. This is enterprise software. 
  • Joomla – Is a minor player with a small market share. Joomla is a CMS.
  • eCommerce – You have probably seen the movement from brick and mortar to the web. Ecommerce skills should continue to be in high demand for years to come.
  •  WooComerce – This is a plugin for WordPress and is experiencing wild growth.
  •  Drupal Commerce – You can build an eCommerce website using Drupal and an eCommerce module. This is an enterprise solution that comes with a serious learning curve.
  •  Magento – Magento 2 is a one size fits all shopping cart application that is very feature rich. Magento has both an Open Sourced version and a licensed version.

PHP is a Mature Language

First launched by Rasmus Lerdorf in 1994, the PHP programming language has matured since those early days. PHP has grown to become the most widely used server-side scripting language in the world. PHP is robust and can handle high traffic websites. 

As an example of what PHP is capable of, Facebook started as a PHP application, and still uses PHP to this day.

PHP is Open Source and Free

PHP is free to use and its source code is made available for free. You can download the source code and modify it if you like.

PHP is native to Linux and is widely available by the major hosting providers. 

Compensation

Compensation is not tied to the region as one would think. If you are willing to work remote, you may be able to live in a region that has a low cost of living while reaping the benefits of working for a company that is located in one of the higher paying countries. 

My experience has been different though. Developers from regions that have a low cost of living are usually willing to work for less.

What I am seeing is, programmers from places like India are willing to work for much less than your garden variety United States developer.

A freelance PHP developer from India might be willing to work for as little as $15 an hour. A United States developer might want $125 an hour and the rates can go higher.

In the United States, an entry-level PHP programmer who is an employee can expect $40,000 to $50,000 a year plus benefits, while senior PHP developers can fetch as much as $100,000 a year plus benefits.

Freelance Consultant vs W2 Employee

A freelance worker is one that is an independent contractor. They set their hours, pay their taxes, and pay for their benefits. Their hourly rates are usually higher because they do not get benefits.

An employee is usually provided with everything they need, such as a computer, phone, and desk. An employee will more than likely receive at least some benefits such as sick leave, paid time off, and health insurance. 

Region Where You Live

All regions of the world, for the most part, use PHP and have some level of PHP talent. It does not matter where you live if you have decent PHP skills because you can always work remotely. 

Remote vs Onsite

There are three arrangements you can expect.:

  • An employee working onsite – You show up to work at a prescribed time, go to lunch as scheduled, and leave work at the end of your workday. Most everything is provided for you.
  • An employee working remotely – Much like the onsite worker everything is provided for you. Your employer might provide you a laptop as well. The real difference is you will be working from your kitchen table for your home office.
  • A freelance developer working remotely – This is a contract worker. One who has regular work from one or more companies or is a gig worker that takes on serial projects on a contract basis. This person sets their hours and provides for their benefits. A freelancer must wear may hats, such as marketing, sales, accounts receivable, accounts payable, and skill-building on top of completing projects.

The Full-Stack

PHP does not live in a vacuum. As a PHP developer you will be working with:

  • HTML – The skeleton or bone structure of web pages.
  • Cascading Style Sheets (CSS) – Defines the layout and style of web pages. 
  • JavaScript/AJAX – Makes web pages interactive and provides for a way to talk directly with the hosting server.
  • PHP – The programming language we are looking at.
  • MySql – The data engine. 
  • Linux – The operating system of the webserver.

How to Get Started

Becoming a PHP programmer comes with a serious learning curve. PHP itself is easy to learn as is each of the related technologies that are used along with PHP. Collectively there is a lot to know. 

The good news is you do not need to learn it all at once. If you have some programming skills you might be able to pick up the basics in 10 or 20 hours. 

I recommend learning HTML first. Then move onto PHP and MySql.

I already had programming experience when I started learning PHP. I figured I needed to know how to do 6 things, to begin with, and expand from there. Here are the 6 concepts I started with:

  • Create a PHP/MySql database connection – Basically, I searched the manual for how to create a connection. Then I created it and tested it.
  • Create a Record – I hardcoded an insert to add a record to the database table I had created. 
  •  Read a Record – I wrote a simple read query and displayed the record. 
  •  Update a Record – Added the code to modify an existing record.
  •  Delete a Record – Created a simple delete query to remove an existing record from the database.
  •  List a bunch of records – I created a simple PHP script that pulled the records in the database and displayed them.

That is how I got started programming in PHP.

You do not need to know everything to get started.

Potential Career Path

From reading this article you probably are familiar with some of the opportunities available to a PHP programmer.

There are many paths one can take. Some of the opportunities are frameworks, WordPress, eCommerce, Drupal, Joomla, and browser-based applications.

For most people I would think becoming an entry-level employee would provide a great learning opportunity. Once you have 2 or 3 years under your belt, the world might be your ouster. 

After that one can become a freelance developer and run a business out of your home.

Conclusion

As you can see there is a lot of demand for PHP developers starting with the entry-level employees to the seasoned developers who have decided to freelance. 

Compensation and befit packages are decent as well. PHP is being used in about 80% of the Internet websites and this is not going to change in the short term.

There is a lot to know, however you do not need to know everything to get started.

I’ve been a freelance PHP developer since 2006. I am glad I chose PHP as a career path. If you have a passion for web development, you will probably be as satisfied as I am. 

I wish you the best in your career pursuit.

How Long It Will Take To Learn PHP – An in-Depth Guide

Image : How Long It Will Take To Learn PHP

If you are looking into becoming a PHP developer you might wonder how long it will take. The time it will take to learn PHP is a function of your starting point.

It might take a nonprogrammer 6 months to learn the entire PHP ecosystem to the point they can be productive programming in PHP. On the other hand, someone with programming skills that has some website development experience may need just a few weeks to get started. 

The amount of time it takes to learn to program in PHP depends on two factors. 1) Your programming skill level and 2) your level of knowledge of website development.

Let’s dig a little deeper.

Becoming a PHP Programmer Requires Other Related Skills That Take Time to Learn

If you are interested in learning to program in PHP you probably already know the ecosystem consists of multiple layers. To become an entry-level PHP developer one must have a basic understanding of how the following technologies work:

HTML – The skeleton web pages are built on. You will need to know this so you can build websites.

Cascading Style Sheets (CSS) – What gives your web pages their look and feel – their styling. As a developer, you do not need to know CSS to the degree a web designer needs to know CSS.

JavaScript – Gives you the ability to make your website interactive. Knowing JavaScript is a must. You do not need to be an expert however you will need to know a lot.

PHP – The programming language this article is about.

MySql – The data engine that makes your website data driven. Every website/web app you work on will more than likely require you to use MySql and the Structured Query Language (SQL).

Linux Hosting – PHP is native to Linux and you will need some sort of development environment that runs Linux.

Development Environment – To make things easy I suggest you get the basic Linux hosting package at Blue Host. This will make your life easier and will allow you to learn about hosting and hosting providers.

Code Editor – I recommend you start with Video Studio Code. This editor is free, and easy to learn with lots of online tutorials, and will allow you to edit your code remotely, or right on the server in real-time.

How Long Will it Take to Learn to Program if You Are a Complete Beginner

You will need to develop some core programming knowledge. Below is a list of some of the things you should understand before you start trying to learn PHP:

  1. Programming logic.
  2. Working with variables.
  3. Control structures.
    1. Loops – such as while loops.
    2. Conditions – such as if/elseif/else statements.
  4. User-defined functions.
  5. How to work with arrays.
  6. Manipulating Strings.

And there is much more. Learning how to program by itself is a 3 unit college course that requires roughly 50 hours of classroom time. On top of the time you will spend in the classroom there is homework that will add to the time required to learn to program.

If you are self-studying I estimate you might learn enough in about 20 or 30 hours to get you started, if you follow a good tutorial.

How Long Will it Take to Learn PHP if You Have Programming Skills

If you have some simple programming skills you will need to learn the following:

  1. HTML might take as little as 6 hours to become familiar with the fundamentals. This includes hands-on.
  2. Cascading Style Sheets might take as little as 4 – 6 hours to learn the fundamentals.
  3. You can jump over JavaScript, for now, however, this is a skill you will need in the future.
  4. To become familiar with PHP might take 10 – 20 hours. It will take much more time to become proficient to the point you can call yourself an entry-level PHP developer.
  5. You will need familiarity with the MySql data engine/Structured Query Language (SQL). If you are learning about databases for the first time, MySql and SQL might take at least 10 hours to learn and might take more like 20 hours to include hands-on.
  6. You will need a development environment. My suggestion is to get a basic Blue Host hosting account. This will benefit you in two ways. It will expedite your learning since you will not need to learn how to install a development environment. And you will learn a bit about web hosting. It might take an hour or two to become familiar with your hosting/development environment.
  7. You will need to know the basics of how to use a programming editor. I recommend the free editor Visual Studio Code. This editor will allow you to edit code remotely. Meaning you can edit code directly on the server. You will probably need to spend at least 2 hours learning how to use the editor. 4 to 6 hours is more realistic.

This adds up to 35 – 60 hours of studying and hands-on. Don’t be surprised if it takes longer.

How Long Will it Take to Learn PHP if You Are an Experienced Website Builder

If you already know most of what I have already talked about you might need to spend 10 – 20 hours becoming familiar with the basics of PHP. This is probably not enough studying to become a PHP developer, however, it is probably enough to get you on your way.

How Long Does it Take To Become An Entry-Level PHP Developer

There is a lot to know to become an entry-level PHP developer. You will need to know all the above plus how to secured applications. Depending on what you are going to be doing you probably want to go beyond what has been listed. For example, you will need to know Object Oriented Programming (OOP) in PHP.

I would spend a very minimum of 30 hours learning OOP in PHP to include a lot of hands-on.

If you are new to programming I’m thinking you will want to spend at least 100 hours of learning and hands-on to get to this point.

If you look at the time required to complete a programming boot camp, you will discover these courses may span 4 months of 60 plus hours a week. These courses are extremely intense. It may take upwards of 1000 hours to complete this type of course. These courses are intended to develop the skills necessary to be able to compete for an entry-level programmer job.

How Long Does it Take To Become A Mid-Level PHP Developer

By the time a developer becomes a mid-level developer, they have added some additional skills and a couple of years of full-time PHP developer work along with some self-study.

The additional skills a mid-level developer should probably have is stuff like dependency injection, composer, autoloading, namespaces, and some Linux hosting command line and troubleshooting skills.

How Long Does it Take To Become A Senior-Level PHP Developer

I think a senior-level PHP developer should know everything a mid-level knows. Add to that a senior developer might need to have some familiarity with things like Domain Name Service (DNS) and concepts like SPF and DMARC.

It might take a PHP developer 6 to 10 years of hands-on development along with some self-study to become a senior-level developer.

How Long Will it Take to Learn Just the Core of PHP

You can learn PHP without learning the above technologies, however, your PHP programming skills would only allow for server administration. And even that would be limited.

Learning just the core of PHP might take a few hours a day for about a week to gain a basic familiarity with PHP.

Conclusion

As you can see there is no straight forward answer to how long it will take to learn PHP. It depends on where you start and how far you want to go.

I hope this helps and I hope you enjoy your journey in learning to program in PHP.

What is a Web Application?

Image : What is a Web Application?

Web applications are widely used, however, I think most of us do not recognize them even when we are using them.

A web application runs in a web browser. It is just like a program that runs on your computer or an app that runs on your phone. The difference is a web app runs in a browser so there is nothing to install, just point your browser to the web application and you are off and running.

There are several types of web applications. The nice thing about a web application is all you need is a modern browser and the address of the app and you are off and running. 

I ‘ll explain what a web application is, what are the advantages and disadvantages, and what is required to build and run a browser-based application. I will also cover who creates a browser-based application.

More Information On Web Apps

A web application is a software package that was created to perform a task or a group of tasks for an Internet user. This is an overly simplistic and broad definition.

When I think of a web application I think of a banking website. You are able to log in and manage your banking accounts, apply for loans, etc. Another example might be purchasing tickets for a concert using a browser-based application – a website that sells tickets, such as Ticketmaster.

Types of Web Applications

  • Applications that help us do things – When I think of web applications that help me do something, the first thing that comes to mind is a mortgage calculator like the one : Online Mortgage Calculator [martasset.com/mortgage/mortgage-calculator]. Google docs is an example of a suite of applications that help us do things such as create text documents or spreadsheets.
  • Applications that aid us in doing business – Registering for college online is a web app that helps us with a business transaction. The banking example I mentioned above is another example.
  • Applications that help us run our businesses – Recently I spoke with the owner of a million-dollar business. He was using a PHP web application to run his business. The application was run from a server that was public-facing so it was accessible from inside the business and outside. Great concept.

What Goes Into Creating a Web Application

This part gets a little technical, it’s okay if you do not understand some of this. In a nutshell, an Internet programmer creates browser-based applications.

In more detail, an Internet programmer such as a PHP programmer creates web applications. He or she would use a JavaScript library such as jQuery, to create Ajax routines to make the web application interactive. Add to this some Cascading Style Sheets (CSS) to make the application mobile responsive and it will run on any device that has a modern browser. The application will also need a database and a hosting platform.

A web app can be as interactive as a computer or phone application.

Multiple Layers of Technology

  • HTML – This is the bone structure of each web page. HTML is the foundation or starting point.
  • CSS – Cascading Style Sheets is what gives your website it’s look and style. Think design – things like defining color, location, font, etc.
  • JavaScript – JavaScript gives the web app its interactivity. JavaScript runs in the web browser. Each web browser has it’s own JavaScript interpreter. Since each browser uses a slightly different interpreter, JavaScript is quirky. To resolve this issue a number of JavaScript libraries have been created.
  • Server-side programming language – There is a number of programming languages that are in use today. I am a freelance PHP developer so I use PHP. There are others such as ASP.NET (C# or Visual Basic), Java, Python, and Ruby. 
  • Data engine – MySql is very mature, is very feature-rich, and is the most widely used data engine on the Web. Microsoft has its’ data engines, however, for web work, I like to stick with MySql.
  • Linux – Is very popular and is used on desktop computers as well as on web servers. Linux is the most popular web server operating system. Microsoft has web servers also. For web work, I like to stick with Linux web servers.

For building browser-based applications I like to use Open Source products. That is HTML, CSS, JavaScript, PHP, MySql, Linux, and Apache or NGINX.

Private Intranet or Public Internet

Some browser-based applications are run on a private network that is called an Intranet. These networks are not reachable from the outside or what they call non-routable – they are private.

The Internet itself is routable. Some of these apps are hosted on the Internet which means they are accessible by everyone on the internet.

Each configuration has its pros and cons.

The Internet is a hostile place. If there is no need to make your web application accessible via the Internet, then running it on a private network would make more sense.

As businesses increasingly allow their workers to work remotely, making their application public is probably worth the risk.

I recommend you consider which configuration you need before launching your web application.

What are the Advantages

The main advantage is the browser-based application runs in a browser and therefore does not need to be installed. A phone app needs to be installed as does the software that runs on your computer.

For example, say you work for a company that has 600 employees and each has a Windows computer that they use daily. In the old days, we would build an application that would require it to be installed on every computer. Installation is difficult and time-consuming.

And this is a reoccurring process. Periodically, those desktop applications will require updates that will need to be installed on each computer as well.

In contrast to a computer or phone application, the browser-based application does not require installation. It runs in a browser that is already installed on your device. All modern devices have a browser.

To utilize the web app, all you need to do is point your browser to the web application. Simple!

What Are The Disadvantages

I cannot think of any disadvantage to building and running web apps. There are a couple of areas of concern and one is security. The developers need to be security conscious when creating the application to ensure it does not get hacked, especially if it is publicly facing.

If I were to state a disadvantage that would be building web applications requires an extensive skill set given the layers of technology that must come together when building and running a web app.

I think the benefits of utilizing a web application far outweigh the disadvantages.

What is the Difference Between a Website and Web Application?

The main difference is a web application is interactive and helps one do things. A website, on the other hand, is a collection of content.

I keep bring up your bank’s browser-based application that helps you bank online. This is a classic web application.

The website you are currently on is a website. This website is a collection of articles (content).

Conclusion

Web applications run in a browser making them available to any device that runs a modern web browser. A web server is needed to run a web app. A web programmer is the one who creates and upgrades the browser-based application. These applications can run on a private intranet or the public Internet. The advantage of a browser-based application is it does not need to be installed on every device that will be running it and there are no upgrades to be installed on your device either.

The only concern I have when it comes to web apps is security. The Internet is a hostile place.

The Gig Economy for the PHP Programmer

Image : The Gig Economy for the PHP Programmer

The gig economy is still emerging. It is really this silent phenomena that no one is aware of and is hard to track or measure. It is a shift from skilled labor being employed to being self employed. Think of this as skilled labor from film makers to accountants, to programmers and all the skills in between. Skilled labor is now becoming mostly independent – freelance workers that work on projects and independent contractors, working serial projects.

What is the Gig Economy

The gig economy is those who are self employed. The one man band. This excludes small businesses and entrepreneurs. Entrepreneurs start companies, the gig worker creates a one person business based on skills and a niche. Across all sectors of the economy, with rare exception, there are people working in a spare bedroom, on the kitchen table, or in the basement, these are gig workers or freelancers.

These independent freelancers are not part of a company – they work independently. This is the gig economy. These are skilled people who are working serial projects in their chosen niche as a way of earning a living.

According to the Bureau of Labor Statistics, [https://www.bls.gov/opub/mlr/2015/article/freelancers-in-the-us-workforce-1.htm] 1 in 3 workers were working independently in 2015. Other sources are estimating that by 2027 the gig economy will grow to a point where there will be more gig workers than employees.

What Do You Need to Become a Gig Worker

This is pretty simple, so simple you might think something is missing.

Laptop – A PHP Programmer can get by with a minimal laptop. Most of the time a PHP Programmer is creating programs in a text editor. The computer is waiting on them most of the time. A baseline Dell laptop that cost around $300.00 will do the trick.

If you can afford more here is what I recommend : I recommend a 15.6 inch screen with resolution of 1920 x 1080 or greater with the ability to drive 2 or more external monitors, 4G or more of RAM, a modern i5 or better, and an SSD drive. The SSD drive is worth the expense if you can afford it because it will enhance your computing experience and increase your productivity.

And do not forget to add a backup drive.

Printer / Scanner – At a minimum you will need to scan documents and turn them into a PDF.

Internet Connection – Self explanatory since you will be working on the Internet.

Hosting Account – This gives you the ability to build, test, and run your PHP programs. I recommend a simple VPS running Plesk.

Website – You need to be able to show prospective clients that you are in business. To start with you can put up a simple WordPress brochure site. Then you can start blogging.

Skills – Believe it or not you can start with some very simple skills. PHP, CSS, HTML, and some JavaScript / Ajax. Then as you progress build out your skills.

Passion – If you want to become a freelance PHP Developer you need passion. You need to be a self starter and you have to be a go getter.

Finding Your Niche

Being self-employees means you cannot be all things to all people. You must find your niche. The place to start is with the following 3 areas.

Inherent Skills and Abilities – What where you born to do? What comes natural to you and fits you like a glove?

Passion – What are you deeply passionate about? Are you passionate about building web apps, working on WordPress, Magento, WooCommerce? Do you get excited about Linux Apache MySql PHP CSS JavaScript / Ajax?

Experience – What experience do you have? This does not necessarily apply to employment. What have you done on your own? For example, building WordPress plugins on your own can be just as beneficial as working as an employee doing the same thing. Being a self starter and showing some passion might trump working for a company doing the same thing. I like to see passion and self starters.

Marketing Plan

To me there is three ways to market my skills as a freelance PHP Programmer.

Networking – Attend Meetups and get a membership in your local Chamber of Commerce. I’ve known two people that were very effective using the Chamber of Commerce for getting business.

Advertising – My least favorite. Google Adwords is probably the main form of advertising on the web. It is very expensive and requires building specific skills for Google Adword marketing.

Organic Search Results – Search Engine Optimization. This is the long game. It might take months or years to get to a point where your website is generating a lot of business leads. This is my favorite since, in the past, I have had some success with this form of advertising.

Difference Between Gig Work and Being an Employee

There is a huge difference between an employee and a freelancer. A freelancer does all the things that pertain to their business. This includes marketing, sales, bookkeeping, and working their projects.

My marketing professor at the university taught that 35% of everything is marketing. That means money and time. You can expect to expand some time every week doing marketing. This needs to be a regular part of you business.

As a Freelance PHP Programmer you may spend 4 or 5 hours a week on sales, which consists of:

  • Talking with prospects
  • Analyzing projects
  • Estimating what it will take to complete the project
  • Preparing a contract or a statement of work
  • Presenting that statement of work
  • Getting it signed
  • And collecting your first payment for that project

You will be your own Network Administrator. You are solely responsible for making sure your Internet connection is always working. This includes configuring your Internet equipment. I recommend a business class Internet connection. It may cost you as little as $20 a month, however it will come with business response versus residential support which is not as responsive. In my case I am able to run a server, I have a dedicated IP, and the response time is minutes versus residential which could be hours to days. And because I am working out of my home, I get business class service at a discount. I literally pay less than $20 more a month for business class Internet service.

If, like me, you home office, your work environment is always right there so there is not real break from business to home. You will have to make an effort to separate the two. That breaks both ways. Overworking or being distracted.

Medical Insurance is an issue if self employed. You will pay the full premium yourself. You are both the employer and employee.

You will more than likely need the services of a Certified Public Accountant.

Serial projects and at times no projects. Can be feast or famine. If one does not have enough projects in the queue one might need to take on projects they would rather not.

When there is enough work the money is good. When projects are scarce the money can be lacking.

Freelancers must be about there work and be diligent to ensure their reputation is kept clean. One’s reputation in the market place could make the difference between earning an above average income and literally starving.

Keeping Your Skills Sharp and Up to Date

You will need to keep your skills sharp and up to date with the changes in your industry. You will not have anyone to help you in this area. Set aside some time on a regular basis to work on skill building. This is not limited to programming skills, there are other skills to master such as time management and marketing.

No Submarine Mode

This is a big one. Staying connected is hard when you home office. I’ve not gone into submarine mode where I cut myself off from the entire world, however I tend to be reclusive. What is the solution? Join a few meetups. Join your local PHP group and at least one other group such as the group that’s in your niche.

What Should You Charge?

Over the years I’ve watched the market and how projects are priced. I have little experience with craig’s list, however it looks like a place where projects might be set at $35 to $50 an hour. I’m not discounting these, especially if you are just starting out. If you are just starting out this might be a place to get some real life experience in all the aspects of being self-employed.

In general :

  • The top end for Drupal is probably around $180/hr with $125 to $150 an hour being reasonable for a seasoned Drupal developer
  • I would expect WordPress and WooCommerce to be around $125 an hour for a seasoned developer
  • Web Apps should start around $125 an hour to about $175 an hour.
  • Developing using a framework is around $125 to $180 an hour.

Keep in mind these are ballpark and the actual value of a project depends on may factors.

How can a PHP Programmer Benefit From the Gig Economy?

There are pluses and minuses to being self employed. There are lots of hats to wear and lots of shifting gears. If you are good at this or can grow into it, you can build the opportunities you want. You can specialize in something you are passionate about. Once you find your niche and figure out the marketing part, you are golden.

You do not need to work full-time. Being a freelance developer opens the door for maximizing your income while minimizing the amount of time you work. You could very well create a lifestyle business. And location is not an issue. I know of a person who takes her laptop and phone with her on vacation to Hawaii every year. She takes one week off and works the second week while still enjoying Hawaii.

Personally I like the freedom that being a freelancer provides. Don’t get me wrong, I still work hard and long, however I do have the freedom to organize my time and efforts. I also get to pick and choose what projects I take on. In the end I would rather deal with all the hats and gears than work out of a cube. It just works for me and it may just work for you.

Conclusion

The gig economy is good and bad. In the old days, one would go to work at a company and do one thing. In this case we are talking about PHP Programmers. They would have all the resources provided so they could focus on one thing – being a PHP Programmer.

The idea of getting a job has shifted. It is not all that noticeable. If I were not an Independent Freelance PHP Programmer, I would probably be unaware of this phenomena. This movement is really under the radar.

If you are an employee your employer takes all the risk, and they provide for all your needs – you do one thing. As a freelancer you are the one responsible for everything.

If freelancing is for you it can be very rewarding.

How to Backup Your Website to AWS S3 Using The SDK

Image : How to Backup Your Website to AWS S3 Using The SDK

In this article I show you how to create an Amazon Web Services (AWS) Simple Storage Service (S3) script using the AWS PHP software developer’s kit (SDK). You can create a backup script based on this script to backup and protect your website.

70% of small businesses that have a major data loss go out of business within 6 months. That is why it is so important to learn how to use AWS S3 as a backup tool.

After learning the basics you will be able to extend this script and make a website backup script. You will want, at a bare minimum to backup the content and data of your website. I recommend daily backups that are automated with the Linux cron utility. I will leave extending the script to you.

I used the AWS SDK version 3 for PHP. I created this script on a Linux server running Ubuntu 16.04lts with PHP 7.0.x. installed.

I assume you have command line access to your hosting account.

Steps

  1. Sign up for an AWS Account.
  2. Create Your AWS S3 Credentials
  3. Create a Bucket in S3
  4. Download the PHP SDK With wget
  5. Create a File Named “stuff.txt”
  6. Copy My Script to Your Server
  7. Change The Following Values to Your Information.
    1. $version
    2. $region
    3. $bucket
    4. $credential_key
    5. $credential_secret
    6. $path
    7. $file
  8. Run the Script From The Command Line
  9. Verify the File Named “stuff.txt” is Stored in Your Bucket
  10. Enhance My Script to Meet Your Needs

Sign up for an AWS Account

To create an account, go to the S3 service page.

Then click the “Get started with Amazon S3” button.

Create your account.

Create Your AWS S3 Credentials

  • Go to the AWS Management Console.
  • In the upper right corner click your name.
  • Select “My Security Credentials”.
  • Click “Access keys (access key ID and secret access key)”.
  • Click “Create New Access Key”.
  • Take note of your two keys, AWS access key id and AWS secret access key

Create a Bucket in S3

Download the PHP SDK With the Linux wget Utility and Unzip

To make it easy, lets download the zip file using the Linux wget utility.

This is how I “get” files with wget:

  1. Change to the directory where you want to to download the file.
  2. Visit the page that contains the download link for the SDK in zip format. In this case the page is here
  3. Search this page’s source for the string “download the .zip file”. Then grab the link “https://docs.aws.amazon.com/aws-sdk-php/v3/download/aws.zip”
  4. Simply add “wget” to the download URL like this : wget https://docs.aws.amazon.com/aws-sdk-php/v3/download/aws.zip . Use this on the command line and the file will be downloaded to the directory you are working in.
  5. In the working directory you should find a file named “aws.zip”. Unzip it with the Linux command “unzip aws.zip”

Create a File Named “stuff.txt”

This is self explanatory. Simply create a file names “stuff.txt” in your working directory. You can add some text to the file if you like. This is a test file that will be uploaded to your S3 bucket if successful.

Copy My Script to Your Server

See my script below.

Change The Following Values to Your Information

$version – You can leave it as set. It is set to “latest”.

$region – This information can be found in S3. It is the region of your bucket. Complete list of regions.

$bucket – This is the name of the bucket you created.

$credential_key – This is the credential key you created earlier.

$credential_secret – This is the credential secret you created earlier.

$path – The complete path from the root of the server to include the directory where your backup file located (stuff.txt).

$file – This is the name of the file you created.

Hard Coding Your Credential into the Script

Hard coding your AWS credentials is not the preferred method and is not secure. Ways to secure your credentials 

Run the Script From The Command Line

My file is named basicS3Backup.php. To run it from the Linux command line enter the command “php basicS3Backup.php” and press enter.

Verify the File Named “stuff.txt” is Stored in Your Bucket

After running the script you should see a file in your bucket. If you named your file “stuff.txt”, you will see that file in your bucket.

Enhance My Script to Meet Your Needs

As you can see this is just a basic script that uploads a simple file. To extend this into a website backup script you may want to add the following features:

  • Tar and compress your website’s content
  • Tar and compress your website’s data
  • Name each file using the date, something like YYYY_MM_DD_content and YYYY_MM_DD_data
  • Remove from S3 any files that are older than you want to keep.
  • Send an email to the backup administrator with the status of the backup once the script completes.

You may want other features, these are just some of the features I like.

The AWS S3 PHP Code


#!/usr/bin/php -q
<?php

/*--------------------------------------------------------------------*/
/*   Created by Keith Smith  :  PHPCoderUSA.com                       */
/*   Copyright Keith Smith December 12th 2018                         */
/*                                                                    */
/*   This is a simple AWS S3 file upload script.                      */
/*                                                                    */
/*   Directions can be found at  :                                    */
/*   https://www.phpcoderusa.com/how-to-php-aws-sdk-s3-upload-script  */
/*                                                                    */
/*   You are free to use this script or modify it to your liking.     */
/*   By using this script you acknowledge you will hold               */
/*   Keith Smith Internet Marketing LLC harmless for any ill effects  */
/*   from uing this script.  Also you acknowledge this script is not  */
/*   secure and requires additional work to make it viable for        */
/*   any purpose.                                                     */
/*                                                                    */
/*--------------------------------------------------------------------*/

/* --------------------------------------------  */
/* - - -   Start Configuration Section    - - -  */
/* --------------------------------------------  */

$version                = 'latest';         // Probably set to "latest"
$region                 = '<your-region>';  // See  :  https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html
$bucket                 = '<bucket-name>';  // Name of the bucket

$credential_key         = '<credential-key>';
$credential_secret      = '<credential-secret>';

$path                   = '<path-from-root>';   // Full server path
$file                   = 'stuff.txt';

/* -------------------------------------------- */
/* - - - - -   End of Config Section  - - - - - */
/* -------------------------------------------- */

require 'aws-autoloader.php';
use Aws\S3\S3Client;
use Aws\Exception\AwsException;

// Hard-coded credentials
try{
$s3Client = new S3Client([
'version'     => "$version",
'region'      => "$region",
'credentials' => [
'key'    => "$credential_key",
'secret' => "$credential_secret",
],
]);
} catch (S3Exception $e) {
echo $e->getMessage();

}

/*------------------------------*/
/* function upload_file         */
/*------------------------------*/

function upload_file($bucket,$path,$file){
global $s3Client;
$path_filename = $path.$file;
try{
$result = $s3Client->putObject([
'Bucket'     => $bucket,
'Key'        => $file,
'SourceFile' => $path_filename,
]);
} catch (S3Exception $e) {
echo $e->getMessage() . "\n";
}
}

/*------------------------------*/
/* upload file to S3            */
/*------------------------------*/

upload_file($bucket,$path,$file);

/*------------------------------*/
/*          E O F               */
/*------------------------------*/

Conclusion

We know backing up data is important and AWS S3 is one solution to consider. The script I provide is just an example used for learning and is not secure. I offer several features you may want to add to make this script a viable backup script.

You are free to use and modify this script for your use. If you use this script please keep in mind that by using this script you acknowledge you will hold Keith Smith Internet Marketing LLC harmless for any ill effects from using this script. Also you acknowledge this script is not secure and requires additional work to make it viable for any purpose.

Why You Should Backup Your Website

Image : Why You Should Backup Your Website

If you are a website owner and value your website or blog, backing up your website content and data is important. 70% of small businesses fail after a data loss. All the more reason to backup your data. I use Amazon Web Services S3 for storage of my website data. S3 stands for Amazon Simple Storage Service.

Why You Should Backup Your Website

Think about this if you will. You have a website. Your website contains 40 pages of content. Lets say writing, proofing, editing, and posting takes 4 hours per article. That is 160 hours or one man month. That is just the amount of time you spent creating content. You probably spent a lot of time on the design and layout as well. Losing your website could be very costly and might even be the catalyst for you going out of business.

10 Reasons You Should Backup Your Data

  1. Human Error – I was working a website project when another developer completely deleted the web application from the production machine. It took years to develop that application so recreating it was not an option. We had a copy on another server, however that was a test and development environment. It would have taken months to update the development copy. Several years earlier I had configured a script that ran daily to backup all the data and files on the server. Because I had been backing up the production server, I was able to upload the latest copy of the web application and it’s associated data within a couple hours.
  2. Viruses & Malware – A friend of mine that owns a data center tells me his biggest concern is someone opening an email that contains a virus. Interesting insight. He says all other possible points of hacking are secure.
  3. Hard Drive Damage – Damage to hard drives can caused by a number of factors, such as a computer fan failure that allows the computer to overheat or power surges, to name just a few. Hard drives often crash leaving the data on the drive unattainable.
  4. Power Outages – This can be a real problem for hard drives and all the components within the computer. An unexpected power outage can create power surges that are deadly to computer components and may cause damage to the hard drive and / or corrupted data.
  5. Computer Theft – This happened. Think employee or a burglar.
  6. Liquid Damage – Soda, water, fire sprinklers, floods, etc.
  7. Disasters – Hot weather causing strain on the electrical grid that could cause a brown out that could kill computer equipment. Fires that burn electrical lines, etc.
  8. Software Corruption – Software that gets corrupted which can cause data to become corrupted. Power outages, brownouts, and improper shutdown are among the causes of software corruption.
  9. Hard Drive Formatting – Accidentally formation a drive that contained business data can be the source of data loss.
  10. Hackers – Security breaches by hackers is almost a daily news staple. While most of the data breaches we hear of are someone stealing data while leaving the hacked data intact. Hackers can be destructive.

Data loss can happen for may other reasons as well.

70% of Small Companies Fail After Major Data Loss

With a 70% failure rate of those small businesses that lost data, one would think making regular backups would be important. Data is important to the survival of the small business. I recommend you backup your website daily.

I Recommend AWS S3 Backups

I’ve been backing up to Amazon S3 for maybe a decade. I’ve used those backups several times. And the best part is the price. I personally spend less than a dollar a month to backup to Amazon S3. Cheap insurance.

Conclusion

It takes time and effort to build a website. It takes just a moment to cause it to disappear. I listed 10 causes of data loss and there are more. I shared that backing up to AWS S3 is what I prefer. And I shared that the price is right. You might spend much less than a dollar a month to backup a small website on a daily basis. If you are not backing up your website daily, I would recommend making that a priority.

Blogging for the PHP Programmer

Image : Blogging for the PHP Programmer

If you are an inspiring PHP Programmer or an old hat PHP Developer you should have a blog. A blog can help you stand out. In this article I will offer some guidance on blogging, why you should blog, types of blogs, doing research, how to rank, and much more.

Why You Should Blog

If you are trying to break into PHP Programming, a blog may help you do so. If you are a seasoned PHP Programmer blogging may help you also. Blogging is one more thing you can show a prospective employer. It could lead to opportunities that you see as unattainable or even opportunities you had not considered. A blog will set you apart from your peers. And it could be good for the community. Yes we would like to hear your perspective, hear your opinions, and hear your ideas.

Types of Blogs

You can blog for one or more of the following reasons :

Inform – You may want to help people understand or you may want to influence them. Some bloggers share their knowledge and expertise. This is a great way to contribute to your community.

Business Leads – Blogging is a great way to create a way to generate business leads. Organic search is a great marketing plan for your business.

Become seen as an authority – As you write more and more and share your knowledge you will become an authority within your niche.

Influence – Blogging is a great way to influence. Taking your experience, your ideas, your vision, and rolling them into a blog is a great way to begin influencing your target audience.

Choose Your Niche

In the context of a PHP programmer your niche will more than likely be your area of expertise. If you are a WordPress plugin developer, that is your niche. If you are a Magento Developer, then Magento development is your niche.

Do your Keyword Research

This is where you start when starting a blog. Doing keyword research is very important when it comes to blogging. You will want to be sure to write about what people are searching for. We are taking about a blog that will further your carrier and I’ll bet you would like some organic traffic as well. When doing your keyword research you might find your niche that is inside your niche. Let me explain. Say you are a Drupal Developer. Drupal 8 comes out and you write reviews and try to influence the community. That is a niche within your Drupal Developer role. We cannot be everything to everybody, that is why we specialize and that is our niche.

Make a Plan And Follow Your Plan

Make a formal written plan. Then follow your plan. Do not allow yourself to become distracted. This does not mean you cannot modify your plan as you go, what it means is make a plan and work your plan.

Use WordPress

Now that you have performed your keyword research and determined your niche, it is time to start working on your blog. WordPress is by far that most popular blogging platform, and is very easy to SEO. As you probably know WordPress is very mature, free, simple, and does not need a lot of server resources. WordPress is ideal for blogging.

VPS Hosting and Plesk for Your WordPress Blog

VPS stands for Virtual Private Server. I am a fan of VPS that run Plesk for server administration. Great platform. One can manage the entire server from the Plesk control panel. Plesk provides for the management of your server as a mail server also. Great combination – VPS + Plesk.

11 Things You Can do to Improve Your Website SEO Ranking

In my article 11 Things You Can do to Improve Your Website SEO Ranking I share some advice from my experience. I reveal some of the secret sauce of Search Engine Optimization (SEO).

Learning the basics of how to SEO your blog will go a long way. You do not need to become a world class SEO, the whole point is to learn enough SEO so you get some decent traction within your chosen niche.

Backup Your Blog Daily

I like using Amazon Web Services (AWS) S3 storage for my backups. AWS provides a well documented PHP Software Developer’s kit (SDK). Develop a AWS PHP SDK backup script and setup a cron job to run it daily. A Linux cron job is a way to schedule a task on the Linux server. Configure a cron to run your backup script on a daily basis and save your backups for at least 90 days. Don’t forget to test your backups regularly to ensure they are working as expected.

Backing up your blog is important. Consider this. Suppose you spend 10 to 15 hours setting up your blog and then over the course of a year you write 50 articles. If you spend 3 hours per article that comes out to 160 hours of work you have put into your blog. That is a man month. Protect your investment – backup daily.

Blog Regularly

You can probably start your blog on a weekend and write 4 basic articles or pages in that amount of time. Cool, that gets you started. Then you should write an article on a regular basis. I would recommend being consistent. Write an article or two every week. And do not forget to stay focused on your niche when doing so. Make a plan and work your plan.

Stay Away From Politics

Politics in the country is out of control. We are at the brink. Side step those political issues. Stay neutral. If you are going to write about something that could become politically charged, just report the facts and do so in a way that does not reflect any bias.

Conclusion

We covered a lot of ground. There is a lot to know and do to create a successful blog. I’ve given you the advice I would give myself. This advice comes for my years as a blogger and one who has had his successes and failures with SEO and blogging. We covered why you should blog, the benefits, how to Seo your blog and which blog hosting to use and many other aspects of blogging for the PHP Programmer.

Coding Boot Camp for the PHP Programmer

Image : Coding Boot Camp for the PHP Programmer

Is attending a coding boot camp worth the time, effort and money? In this article I will try to answer these questions and I will give you my opinion. I will cover what skills you need develop to become a PHP Programmer. You can acquire these skills in many ways. I will talk about self study, junior college, the university, and coding boot camps. Each has it’s merits and it’s drawbacks.

Time and Cost

Coding boot camps can take 8 to 24 weeks depending on the institution and the number of classroon hours. They range from full-time immersion to part-time. The cost starts at $8000 and goes up from there. And you will spend at least 600 hours in the classroom and out of class studying, working on projects, and doing some hands-on.

Can one really learn enough in 8 weeks or 600 hours to become a PHP programmer? I think it is possible if one either has great aptitude or prior programming experience. Prior experience does not necessarily need to come from being employed. What it means is that maybe one has been teaching oneself how to program and has some exposure.

Last 40 Years of Programming

Matt Roloff, from the movie series Little People Big World wrote in his book that in the 80’s companies would send developer trainees to private training courses that was weeks long.

During the late 80’s I met a man who told me he majored in mathematics so he could become a programmer. He said studying math was the only way he could get access to the university’s computer to learn how to program.

In the 80’s the local community college and universities started offering majors in Management Information Systems (MIS) and Computer Science (CS).

The interesting thing is that the MIS degree only requires 21 units out of about 125 in the core area of ones major.

In the very beginning people were self taught at the university. These were the investors. Then came the corporate sponsored training of 2 or 3 weeks to maybe 6 weeks. After that the industry required a Bachelor’s degree.

Today one can gain entrance in many different ways – self study, junior college, the university, and coding boot camps.

You Must be Self Directed and Motivated

When I go into retail businesses, the sub shop, the bank, etc, I like to ask the young people what their goals are. I’ve heard the gambit. From becoming a cop to becoming a game developer, to the University is too expensive and not worth it. The later is some great insight.

The second question I ask is something along the lines of what have they done to know this course of action is for them and what what have they have done to further their goals.

Lets take these two as an example. The guy who said he wanted to become a police officer what about 20 years old. When asked if he had gone on any ride along he said no. He has a dream with no game plan. Several years later he was still working a the same retail outlet.

The guy who said he wanted to create computer games and was waiting for school when I asked him if he was learning to create computer games. I went on to ask him if he knew anything about Linux and he said he has not heard of Linux.

The person who is going to make it is self directed, motivated, and takes the bull by the horns.

As an employer I want to hear about how someone learned by researching and doing. You need to show some initiative that shows me you really want to do what it is we are talking about and it shows you have passion.

What I recommend You Learn to Become a PHP Programmer

You can learn all you need to know online.

Linux – is the backbone of all of this. Linux is the hosting server operating system. You only need to know a handful of things to get started. You will need to be able to load Linux on a spare piece of hardware such as a laptop or and old desktop. You will not need a lot of power. I use an old Del laptop that has an i3, 4G of RAM and Solid State Devices in place of the old spinning hard drive. You need to be able to add a user. Ensure you have Apache or NGINX, MySql or one of it’s clones, and PHP installed. You may need to be able to modify the php.ini files to configure PHP.

Apache / NGINX – Add a virtual host and possibly being able to configure mod_rewrite.

MySql and Structured Query Language (SQL) – you will need to add a database, table, add a root user, and a regular user. SQL is used to create, read, update, delete and list records.

PHP – is the whole reason we are here. PHP is not a difficult language to learn. There is a number of training courses online. Basically you will need to know what variables are, their scope, how to create a function, create a classes, work with strings, understand looks, and work with arrays.

Database Normalization – This is very important. This is a must have skill. Without it you will struggle when building applications from scratch or even when modifying existing applications. Basically what database normalization is breaking the data down into the minimum data that should be stored in that table.

Lets take an invoice as example. We could make one huge tale that contained all the billing, shipping, account information and all the totals in one file along with the products or services paid for.

This is a great example because if you use one table you will store a lot of redundant data in each table. The solution? Two tables. One for the invoice header that contains the things we need to store only once like the billing and shipping information. The we create a second table that contains only the product information. This arrangement is cleaner and will store less data.

Project Management Skills – You may not need project management skills to get started, however I added this will help you will your projects.

HTML5 – HTML5 is the latest HTML standard. W3Schools [https://www.w3schools.com/html/html5_intro.asp] has a great tutorial on HTML5

Cascading Style Sheets (CSS) – While you are not a designer you will work with someone’s design so you will need to know the basics.  I recommend you take this course on CSS.

JavaScript – JavaScript runs in the browser while PHP runs on the server. I recommend you take this course on JavaScript.

AJAX – will give you a lot of power and make your user experience better. A mustr know and fun part of web development. I recommend taking this course. [https://www.udemy.com/jquery-tutorial/]

Networking – when installing Linux sometimes it is important to know now to configure your network connect because it does not get configured correctly during the install process.

IP Assignment and Routing – Based on your server configuration it may get an assigned IP or a static IP. Static is the only way to go when configuring a server. You need to know about Dynamic Host Configuration Protocol (DHCP). You do not want want to configure your server using DHCP, you want a static IP that way your server is always using the same IP.

Application Development Analysis and Design – Probably not something the average entry level PHP programmer needs to know. I put it here because it can be a useful thing to learn and know as an entry level PHP Programmer.

Object Oriented PHP Programming

Procedural PHP Programming – Some say that Procedural programming is making a comeback. I don’t see it. Object Oriented Programming is so much better than procedural programming. You should know both.

Name Space

Dependency Injection

Autoload

Security – sanitizing form data is a must have skill. There are other security issues as well. For instance not allowing access to an empty directly by your visitors. Then there is preventing unauthorized access to your PHP programs.

All of these tools are open source and free.

You can build enormous web apps by knowing just the following:

Life long learning …. PHP was not around until 1994 yet a vast majority of the web has been built on PHP and MySql. Relatic=vely new technologies.

And in reality the Internet was born January of 2000, after all the Y2K projects were complete.

Future of Programming

Currently there is two classes of developers. Programmers and engineers. In colleges there is two tracts. One is for the programmer. The other is for the computer scientist. The programmer learns to program while the computer scientist learned much more. The computer scientist will get exposure to creating parser, drivers, interpreters, and compilers. The computer science curriculum is much more robust.

Today we read about and maybe even see self driving cars, semi trucks, and robots. This is just the tip of the iceberg so to speak. In the near future we will begin to see computers applications that create computer programs. My friend David Connelly from the UK says he wrote a program that creates the administrative interface based on the information he programs into his software generator. Within seconds he is able to create ??? that would take him days to create.

This is what we are going to see in the near future – I’d say withing 5 years if not 10.

Computer Scientists are the ones who will be doing this type of work that will displace the programmer. I’m a programmer. If I had it all over to do again, I’d become a computer engineer. The curriculum is much more difficult, however computer engineers get to do some really cool stuff like create reality rides for Disneyland. Like this one

The seat moves giving the sensation that you are really flying and moving.

It is my opinion self driving cars and self driving semi trucks will be the norm within 10 years and the people who are driving taxicabs and the semi trucks will be displaced. And this is just the tip of the iceberg. They say most jobs will be replaced by robots in about 10 years. The person making robots will be the computer scientist.

Conclusion

Boot camp graduates are so prevalent they are becoming a commodity. One must do something to make themselves stand out. Open Source projects. Writing an application and publishing it on ???? Put up a blog. Use WordPress and a decent host and start blogging. You are selling yourself.

The University of Arizona (UofA) is offering a coding boot camp that odes not include PHP so I would not suggest you attend, I however can use it as an example. The cost is $9500 and can be taken for 24 weeks which is part-time, or full-time which will take 12 weeks. The UofA recommends 20 to 30 hours of study outside of class. Part-time is 10 hours of class time, while full-time is 20 hours of in class time.

Handful of well paid engineers will replace a ton of minimum wage workers.