As you might have read, I am back into doing web development with PHP Programming.
Over the past three months, I have been working on solidifying my technology infrastructure with the intent of being able to within minutes, spin up a new environment and get to work on a new business concept. I would consider this about 80% completed including the accompanying documentation.
Probably the biggest thing that has always been missing from my tool belt, is a proper development environment. This includes using a virtual development environment, an IDE, version control software and PHP frameworks. The two biggest things have kept me from using them: time and effort. If there is one thing I have learned over the years (and should know better), is that every once in a while, you need to slow down long enough to learn something new and then work on implementing it (if it’s appropriate to do) so that you can increase your productivity. I know that I am the bottleneck in my projects – it’s just me, I have no one else to blame! This is where the business owner hat needs to stay firmly on. I need to work smarter, not harder!
When I first started out in the industry, there were a lot of things not in place that we now have today such as frameworks and version control – at least, not in the capacity we know it now which of course, will again change over time. “Back in the day,” version control was you keeping “versioned” (by filename) backup copies of the files you were working on. I learned very early on to comment out (rather than delete) code and how to debug code. But it is beyond time I graduate to an IDE (from DreamWeaver 8) and start learning and using the tools that have been developed over the course of my career.
I refer to my programming career as an “evolution” in which each step along the way has taken me up a notch as I have evolved as a programmer. When I first started out, PHP was a procedural programming language and MySQL Stored Procedures did not exist. When you use something for a while, it is really hard to change the way you work because us humans are creatures of habit. I remember the push backs in organisations as “proper” development platforms, best practices and version control software were introduced and the importance of documentation stressed. We dragged our knuckles about doing it but would eventually admit to how much better off we were for having done so.
I first looked at PHP Frameworks about ten years ago when Cake first came out. In their infancy, I found the frameworks to be so cumbersome and convoluted (not to mention the added overhead) to work with. I was spending way too much time trying to figure them out and ended up throwing my hands in the air and going back to how I had always been doing things because it worked.
As I mentioned in a previous post, as a business owner, I need to be writing less code. The best way that I can do that, is by forcing myself to sit down and learn a PHP framework. I started this as part of the process in setting up my web development environment over the Summer when I had my first look at Laravel. It certainly looks like a framework I want to work with: Object-oriented PHP 5 using PDO which is where my codebase had been heading. But yet again, I hit that brick wall and went back to not working with a framework because I did not feel I had the time to learn it.
I had been stuck in between gears this Summer with programming my application. I keep wanting my code to get to certain point before taking the time to sit down and learn Laravel. But then I look at the code I’m writing which I know is already written in Laravel and wonder what I’m thinking by re-inventing the wheel.
After sitting outside talking with the birds about it for a few hours one sunny summer afternoon, I decided that no, I need to force myself to take the time to finish rounding out and polishing off my skill set as a PHP Programmer so that I can finally feel comfortable calling myself a “Senior PHP Programmer”. I know I am lacking a few skills in my tool belt that would help me land a job more appropriate to my 15 years of experience in the industry should I go back to working for someone else.
To learn Laravel, I will port a few small PHP web applications while still maintaining status quo on my bigger project. After doing a bit of research to sort out in my head what I needed, I have decided to work with NetBeans, Git, Laravel and of course, continuing on with PHP 5 and MySQL. My hope is that once I get a firm grasp on using them, I can venture back into the world of front-end development so I can get up to speed with JQuery, AJAX and CSS. I have to admit that I have hardly looked at JavaScript or CSS since the late 1990’s when I was first learning it. <blink> I know, right?
I still to this day use DreamWeaver 8 as my web editor. All I have ever needed is an editor that FTP saves my code to server with color-coded coding and that is all I have ever used DW for: color and FTP capabilities. I learned how to code using NotePad which was painful and made me appreciate HomeSite and DW that much more. IDE’s did not exist back then. While I have worked with IDE’s over the years (mostly Visual Studio), I have never been one to use the full capabilities. My colleagues would be stepping thru with the debugger while I would still be outputting variables here and there to figure out why my code wasn’t working.
As my son settles into his first day of school, I am settling myself into “home schooling” for my next evolution as a PHP Programmer.
What are you doing to up your game as a programmer? Are you someone who can easily pick up new technologies? Or do you get frustrated like me and go back to doing things the way you always have because it works?