Seven things you need as a web developerAugust 14, 2014
Lists are all the rage now, aren’t they? So I thought I’d make one, needless to say, this isn’t an exhaustive list of things a web developer needs, but it was the first seven things that came to mind.
#7 – Editor
One of the most basic parts a developer needs, somewhere to enter the code. The things that I want in an editor is a directory tree for the current project, tabs for files that are open and multi-column layout.
For years I used notepad++, but seeing as it doesn’t come standard with a directory tree, I replaced it with Sublime Text 2 which I have of yet not stopped using (though I’m waiting for atom for windows to become more stable).
#6 – A dependable and fast computer
One of the things that can really throw you off balance is when your computer is acting up, no matter the OS. If you can’t be confident that you computer won’t crash within the next five minutes, you’ve got problems. Having a fast computer is also crucial, it’s hard to keep up an effective flow if you’re constantly interrupted with micro breaks because the machine can’t handle the load.
In my case, RAM is usually the biggest problem. I don’t like to close applications, I keep them active as long as I might need them, I don’t want to waste time waiting for Photoshop to load, I hate waiting — even though it’s just a couple of seconds.
#5 – Copy of your production server environment
Servers. Photo: dariorug
Ask any developer if they’ve ever pushed out code to the production server, and it doesn’t work like it does on the development server. I guarantee that almost every developer has been through this.
With today’s abundance of desktop virtualization (VMware, Hyper-V, VirtualBox, etc.) there is no reason not to create a carbon copy of the production server and use it as your own local development server.
Running Apache, MySQL and PHP on your local Windows machine is something that belongs to the past, there’s literally hundreds of guides on how to create virtual machines, some are so easy to launch that you only have to run one command. Do yourself a favour, virtualize your dev-environment.
#4 – Version control
Screenshot from the monorun repository.
Ever done changes to a project that you wish you didn’t? Or wanted to see from where some of the code comes from? Using version control systems like Git, SVN or the likes is a no-brainer in this day and age.
No matter the size of a project, you need to be able to trace the origin of code in a project or go be able to reverse code back to its prior state. I for one love graphical applications for git like SourceTree (though i have no problem using the CLI, I feel like a get a better bird’s eye view of a project through graphical applications).
I used to use Gitlab for my own projects, which is a great repository management system, but I later migrated to Github (for public projects) and Bitbucket (for private projects), mostly because I wanted to be sure that my code would be accessible for me where ever I was (and I don’t need to worry about backups).
#3 – A comfortable workplace
Usually when people talk about a good workplace, they talk about the noise-levels, office perks, etc. I’m not saying these things don’t matter — they do! But what I feel is more important than the superficial things in an office is that the workplace allows you to try new things, allow you to fail as well as succeed, a place where you feel safe to try things.
Which brings me to the next point..
#2 – Great colleagues
I’ve worked in small teams, large teams, small companies, medium companies and corporations, one thing I’ve learnt is that having dependable, interesting and fun colleagues is the best recipe for success. Yes, usually you can find any information online, but when you just want to juggle an idea, doing it with people that are close to you is infinitely better than not doing it at all.
#1 – An interesting project
The number one thing you need is a project that you’re interested in. Sometimes you don’t get to choose, but any project has aspects that are interesting, I think the best strategy is to work off the boring parts of a project so you get to look forward to the fun parts. If you start off with the things you like, there’s a bigger chance that you won’t keep up the quality with the things you don’t like.
Though truthfully, the fun stuff is usually the complicated things, the stuff you haven’t done before, and if I’m in that position, I usually start with, mostly because I can ensure that the project meet it’s deadline on time.