So I’ve been learning Linux, and I’m stoked. I’ve installed Ubuntu about 3 times now over the past few years “so I can play around with it”. I would install it, and then tinker with it for a night, not learn anything, and then give up. The problem I had in the past was that I didn’t have the right pieces of the puzzle to establish solid ground on this foreign operating system. I’m going to write about those pieces in coming posts, but for now, what you should know is that you absolutely must learn Linux if you are a web developer.
As I’ve said before, web applications are the most cost effective way of increasing efficiency for businesses. It is relatively cheap and extremely effective if used correctly. This is good news for developers, because with the market taking a nosedive, web companies are letting people go like everywhere else. We’re in a unique position to handle this potential transition fairly well. Learn to talk to people and know your stuff, and you will find jobs working freelance or even in-house. Most companies may not even know it yet, but they need us. I’ve done countless e-commerce solutions for small businesses and as it turns out, I’m more than a web developer; I’m building businesses for these people. Customer accounts, sales records, etc, are the lifeblood of a business, and most businesses don’t have a proper database in place to manage this data. Building their web application and database creates both outward facing interfaces for their customers and also internal interfaces for their employees to process orders and manage other company data. This skill set makes you very, very useful. Many of you probably use quality webhosts that provide all the service and functionality that you need to develop, but if you are tied strictly to remote hosting of applications, you are not taking advantage of a huge market potential for locally hosted, intranet based applications (business automation, and the like). Unfortunately for those people who haven’t progressed past a mere user of a platform, they will find that they are ill-equipped to perform in this market.
I honestly didn’t have these ideas in my mind when I started to learn Linux. I wasn’t concerned with taking advantage of previously inaccessible markets or rounding out my skill set so that I was in a position to provide end to end solutions. I’m not even sure exactly what I had in mind, besides curiosity and wanting to learn something new. It might have been learning bits of shell access from a coworker that really ignited my interest. After seeing the power of even the most basic commands, I had to have more. Now looking back from the other side, I can see how necessary it was, and how I’m benefiting from everything I learn on a daily basis. When I’m at home learning how to install software for my own enjoyment, I’m learning basics that I can take into work with me the next day.
I write in php, and those of you who do as well will know that if you really want to get into the interesting stuff, you’re going to be using php to interface with other applications. If you want to manipulate images, pdfs, or videos, you’re going to be interfacing with applications that run on the server. There are issues of special server configurations and all kinds of things that are taken for granted online, because your web hosting provider has created a GUI for managing them or installed the software for you. If you are going to approach a business with development service, it is likely that they may need a intranet based solution, and if you are able to install and configure Linux and set it up as a secure hosting environment with all of the applications you need to use, you now have a complete service offering, from conception to design and most importantly, implementation. You will be a one man team, you know you can go into a company and understand their needs as a business and use the web platform to build a system which will increase efficiency and save them money. You will know what hardware to buy and how to set it up, how to configure its software and design the application, setup the database and create user interfaces. This end-to-end solution is a valuable thing to have, as I said, especially when you face the possibility of working for yourself. Moving forward I am going to talk more about the specifics in learning the Linux operating system and also how it can increase your value as a developer.