The short answer is "make websites", but I'm not really aiming for the world's most useless blog post here.
It actually depends on what type of web developer you are. There are "front-end" developers who create everything you see when you visit a website, and there are "back-end" developers who work on the web server with the things that you don't see - like the database. Those who do both are "full stack" developers. Also if an online image search is anything to go by, there are "caffeine-infused" developers who have a constant supply of steaming hot coffee fuelling their every move. Seriously, when looking for images to use for this blog, every other one has a giant cup of Nescafe Gold plonked on the desk! As it happens, I don't drink tea or coffee to contribute to that particular stereotype, but that's a whole other story.
Anyway, back on topic. Right now I'm a front-end developer, having only recently joined the web development fraternity. So if you were hoping to discover more about back-end development, sorry, you're out of luck. Having said that, I will certainly be getting involved with the back-end in the near future, so make sure you subscribe to read all about my exploits further down the road.
I thought it might be a good idea to run through a typical day in the life of my current job, just to give a general idea for those who might be curious about becoming a web developer. I'll try to keep it as relevant as possible and leave out things like the beatings I receive for producing shoddy work. No one needs to hear about that.
9:30am and I'm checking my emails. Compared to one of my previous jobs on a customer support team, this part is a breeze! I think in general employers probably want to put a developer's time to the best possible use, and for the most part that probably doesn't involve handling emails. I know my boss will receive virtually all emails from clients, and then prioritise the things I need to work on accordingly.
That brings me nicely onto my next point. Check in with the boss. Find out what I need to be working on. Often it'll simply be carrying on with what I was doing the previous day. Sometimes there will be a red alert, life or death situation which will require my immediate attention. OK that's a slight exaggeration, it may just be a different project which is now taking priority for some reason. That can happen, a lot. So you need to be able to juggle many different projects and switch between them at the drop of a hat, in my experience at least. Remember this is my first development job so your mileage may vary at a different company.
So what exactly do I do for each project? I'd love to tell you I mostly just browse Facebook and YouTube all day, but ever since that time I got caught watching "Top 10 Funniest Fails of All Time" they've been on the block list. At our company we use a system by Adobe called Business Catalyst, which is a Content Management System (CMS). It's worth me explaining a little about this I think, because it's something I didn't previously understand. Granted, it was probably just me being a little slow, but it may benefit others who were in my position.
I didn't understand what happened once a website had been created and delivered to a client. What did they do when they wanted to make changes? Surely they'd need to go back to the developer again every time they wanted to add something new to the site? It turns out up until the arrival of the CMS, this is exactly what they had to do. What a CMS like Business Catalyst or WordPress does is allow the client to access a very user-friendly environment where they can see all of the content on their website. From there, it is possible to change text and images to their heart's content (plus a whole lot more besides).
In the majority of cases so far, he will provide me with a layout of how he envisages the site looking - after consultation with the client. My job is then to translate that design into code and produce a working website from it. This is good fun because you can see a static design coming to life in front of your eyes. It's not so much fun when you hit a roadblock and can't figure out how to do something, however. That's when you have to resist the temptation to slam your head against the desk! The satisfaction once you finally work it out is worth all the pain though. You'll also find the more you do it, the easier it will become.
In terms of actually creating the code for the web pages, I like to write everything from scratch as opposed to using a framework or theme. This is probably my inner control freak that wants to know exactly what something is doing, and how it's doing it. By writing things from scratch, you have a complete overview of the whole project and understand it inside out. This pleases me. Probably more than it should. It's also extremely good for the speed of your final website because you're only including the essential elements that your site needs. Themes and the like often carry a huge amount of baggage and in my opinion, add unnecessary bloat, which upsets me. Again, probably more than it should! I've no idea how common my approach is, in part due to my lack of experience. Now I come to think of it, this is definitely something worth investigating. Am I alone in my obsessiveness? I very much doubt it. But am I shooting myself in the foot by not being more open to other options? Very possibly. Stay tuned to see if I change direction on this one after some more research.
By now you've no doubt realised that I'm still very much learning my trade. I'm a web developer, but there's mountains of information still to climb, and many years with which to do so. If you do start to learn web development, please don't get discouraged if you're finding it difficult. Everyone is in that situation when they start to learn something new. Apart from those annoying people who can learn and become an expert in a new language in a few hours, but everyone hates them anyway.
I find myself doing things now almost without thinking, that I had no clue how to do a relatively short time ago. By exposing yourself to these things and doing them repeatedly over many sites you will be surprised how quickly they become second nature.
The final thing I just want to mention - and this may set some peoples' minds at ease - I know I was uncertain about it before I started working. You really don't need to worry about learning code off by heart so you can recite it in your sleep! Learn the concept, understand what it's doing. Don't worry too much about memorising the code itself. If you know about it, and understand it, you can Google the rest. This isn't cheating! We all do it. The more you start to use that bit of code, eventually it'll click into place and you'll be typing it out from memory in no time at all.
So there you have it. The sanitised version of my average day at work. I deliberately left out the drugs and alcohol breaks to maintain a degree of professionalism. As ever, if there's anything else you'd like to know then leave a comment below.