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.