PHP Programmer

php programmer header image

Hire Professional Freelance PHP MySql Developer

I'm Keith Smith and I have been a freelance PHP developer since 2006. Programming is my passion. I love building software applications. If you have a project you would like to talk about, please call me at 480-748-9893 or complete my Project Request Form.

PHP Programming Skills

I am not a web designer. I am a PHP developer. I add functionality to a website or web application. I have a working knowledge of HTML and Cascading Style Sheets (CSS), which is the designer's area of expertise. I also have a working knowledge of Linux hosting which is the system administrator's area of expertise. Because of my skills I am what is referred to as a full stack developer – meaning my skills overlap with the designer (front end) and the system administrator (hosting server expert).

Here is a breakdown of my skills:

HTML

HTML is the skeleton of a website. HTML is not too difficult to understand. I like to refer to HTML as the bone structure of a web page.

Cascading Style Sheets (CSS)

CSS is what gives a website it's look and feel. As a back end programmer, I am not a CSS expert, however, I know my way around CSS. I usually work on websites where the look and feel has been created by a designer. CSS makes a website mobile responsive. Being mobile responsive meaning the website will respond and display on desktop computers, tablets, and phones. A modern website must be mobile responsive.

JavaScript

Most websites on the internet utilize JavaScript to validate forms or to do some type of interactivity. JavaScript runs in the browser. Different browsers interpret JavaScript differently, making JavaScript quirky. To address this issue, multiple JavaScript libraries have been created. I prefer jQuery.

AJAX

AJAX stands for Asynchronous JavaScript and XML. It is not as complicated as it might seem. AJAX is implemented by using javascript. AJAX is a way to manipulating web content without a need to refresh the entire page. Only the content that needs to be modified is refreshed, leaving the rest of the web page unchanged. This is a way to make websites and web applications interactive. A JavaScript library like jQuery can make the process easier.

PHP Programming Language

PHP is a server-side scripting language. Sounds oversimplified. Don't let that fool you. PHP was created for the web in 1994 and is very mature and robust. The current version is 7.x.

I've worked with both procedural and Object-Oriented PHP. Both have their merits.

As you probably already know PHP is the most popular Internet programming language. Around 80% of Internet websites/web applications implement PHP in some fashion.

MySql/SQL

Most websites/web applications on the Internet are data-driven. For a website to be data-driven a database is required. In this case, it is MySql or one of its derivatives. MySql is the data engine. SQL stands for Structured Query Language. SQL is how the programmer communicates with the data engine.

Database Normalization

Database normalization is simply breaking down the application's data into a relational model that reduces redundant data. Most self-taught developers are not familiar with normalization. This is a must-have skill for a freelance PHP developer.

Linux Hosting

The PHP programming language is native to the Linux operating system and it's hosting software servers, such as Apache. PHP can be served from Microsoft Windows servers, however, this is not the preferred way to do things.

Linux was created in the early 1990s by a Finnish student named Linus Torvalds. In the early 1990s, the personal computer was at the beginning stage of its roll out as well.

As a student, Torvalds, created Linux so he would not need to buy Unix. Linux caught on and became so much more than a college project.

As Linux progressed a community developed to support it and add functionality. Today Linux is widely used in many different ways. It is the most popular web hosting operating system. Linux and PHP are available at all the major hosting companies.

LAMP/LEMP Stack

LAMP stands for Linux, Apache, MySql, and PHP. This is a hosting platform.

LEMP stands for Linux, NGINX, MySql, and PHP. This is also a hosting platform.

Apache and NGINX are software web servers that can be used interchangeably. Both have their merits. Which one to use is more of a personal preference than anything else. It comes down to an ideology.

Being able to work on all these layers of technology is often referred to as being a full stack developer.

There is a lot to know to be a full stack developer. Where that line starts is hard to say. Some say it comes down to being able to troubleshoot the entire stack.

Not every PHP developer is a full stack developer. It takes time to learn all there is to know.

To be an effective freelance PHP programmer, it is my option the freelancer needs to have a basic familiarity with the full stack.

Project Management

This is a very important skill that an independent PHP programmer needs to have. Project management can make or break the project. Most of the projects a freelance developer takes on are usually small and have a limited budget. Given this, there is not a lot of time to perform a formal analysis and design. And a feasibility study is usually out of the question.

I've become skilled at taking someone's idea and making a quick informal analysis and design that allows me to complete their project as desired.

As you can see a freelance PHP programmer needs to be skilled with a stack of technologies.

Soft Skills

Communications

This is my pet peeve. A developer that lacks good communication skills is doomed to fail.

I regularly hear stories about failed projects. For the most part, I think it is the developer's fault. Most developers like to go away for a while and then show you what they have accomplished a week or two later. This has the potential of causing the project to go off track. After a couple passes through this cycle I hear about developers who disappear. Most of these people are probably very talented, however, they probably should not be independent consultants, at least not at this point.

I like to communicate as much as is practical. I find if I get the client involved regularly, any required changes are small and the goes much smoother.

Problem Solving

To be an effective developer one must have problem-solving skills. To be a freelance developer one must have the ability to identify and resolve issues within the full stack.

In this case, the full stack is HTML, CSS, JavaScript, AJAX, PHP, MySql, Apache/NGINX, and Linux hosting.

Accountability

If you have read the book “Extreme Ownership: How U.S. Navy SEALs Lead and Win" then you know it is this type of integrity that resolves problems and ultimately leads to success.

It is the type of accountability where one takes complete ownership of what happens. It is tough but necessary.

Time Management

To complete projects on time and budget requires time management. It is not easy. In today's world, there are may distract. One must structure things so the current project gets the attention it needs.

Work Ethic

Projects are hard work and they require regular diligence. Not once in a while. Having a work ethic is a daily activity, not something that shows up once in a while.

Self–Motivation

To me, self-motivation includes time management and work ethic, and it is more. One must have passion to succeed, and one must be self-motivated to achieve a high level of success.


My name is Keith Smith. This is my website. It was handcrafted by me as an example of my skills. It is not as beautiful as what a website designer might have been able to create, however it is clean, simple, and functional. I am not a designer, I am a programmer.

If you have a project you would like to talk to me about, please call me at 480-748-9893 or complete my Project Request Form.


I look forward to hearing from you soon.