If you're a relative beginner in the world of back end web development, some pro tips will make your life easier
That's where we come in. No word of a euphemism here, but we've dabbled in the back end for quite some time now. We know some stuff.
But before we dive into all that, let's make sure that the absolute beginners among us know what they're getting into here. Let's have a quick layman's description of what back end development is.
Web development is essentially divided into three disciplines: front end, back end and full stack. The first deals with the part that users interact with. It's visual. Back end is all about data wrangling and handling servers, applications and databases. Full stack is a jack-of-both-trades, an almost mythical walker between worlds.
All that being said, if you're a developer who's exclusively “got much back” (if you'll excuse the Sir Mix-a-Lot parlance) you basically make a website possible, but not necessarily pretty.
Now that we're on the same (non-404) page, let's get to learning.
1. Focus on one side
When you're still in the “I'm-not-sure-yet”-phase of considering web development, you really need to bite the bullet, pick a course and specialise. Trying to tackle the front and back end of the bull from the get-go is a good way to get overwhelmed and trampled. Pick the horns or the hind legs of a website.
Once you get your bearings with back end development, by all means take a look over the shoulder of a competent front end contemporary. Though it's true you do know the programming languages that this co-worker uses to a much higher degree, take note of their design work and learn to develop an artistic eye as well.
Maybe someday soon you'll use that as inspiration and become a full-stack “full package” dev who can do it all. But for now, dedicate yourself to becoming a Rembrandt of code instead of pixels.
One side-tip before we move on: If you do cross-pollinate your skills into a bit of front-end, for the love of Your Own Person Deity, do it in secret. If a stingy employer spots you “doing the work of two developers,” even badly, they might try to get you to take on extra responsibilities for no additional pay. We've seen it happen before. Once you go full stack it's hard to go back.
2. Lay it all out
You'd be amazed at how many of us don't do this. Take the time to make yourself sit down and figure out the basic framework of where you are now and what you wish to achieve with the project. That could be as basic as jotting down a list of stages.
How you do this is up to you. Some OG-types will gravitate to the pen and ink option, though an on-hand notebook is prone to scribbling and coffee spill destruction. You'd be better served using dedicated planning software like Writemaps (a website map tool), Workflowy (a wonderful manager of bullet lists) or Trello (a project board that lets you categorise and populate cards with info).
The benefits of not blindly charging ahead are many. You can highlight any roadblocks early in the project phase and figure out solutions from a distance. You can also easily keep your (potentially nagging) client, project manager or micro-managing CEO in the loop as to what you're doing exactly.
With the course of action set out in black and white, there's no chance that you'll over-promise and under-deliver as things go on.
3. Be proactive and scheduled
Now that you know how to get from scratching your head to tricked-out website, use the info to your advantage. Lay your grand scheme out to the folks who are expecting your output (think: bosses and the all-important client).
While having communication about things that haven't happened yet can allow people to mess with said plan, sometimes this is a blessing in disguise. New ideas and perspectives can be brought to bear. Miscalculations of the projects intent can be rectified. An especially clueless client may suggest you put a racing stripe down the side of a server to make it look better for their customers and to run faster, thus providing a hilarious anecdote to retell forever. Communication is good.
In order to maximise the benefits of the above, you'll want to schedule regular meetings with all involved. These pow-wows can be difficult to track of when you're a back end dev spending hours and hours with your head stuck in code. You should therefore look into reminder programs that jog your memory. IOS Reminders springs to mind; or you can go with Google Calendar if you've gone the Android route. If you want a multi-platform solution, try Evernote to easily whip up a checklist.
4. Get your finger on the pulse
Recognise and accept that as you're learning, back end development isn't some constant stuck in time. New programs, programming languages, techniques and server hardware are all evolving around you.
More often than not, these new ways of doing things cut out a lot of the tedium that you're currently bashing your head against. Basically, you needn't doggedly stick to perfection some mad bead sliding skillz on an abacus when your competitors have found and adopted a calculator solution to the same task. You need to keep abreast of your chosen discipline.
Personally, we recommend dedicated newsletters. One of the best in the biz is the Web Development Reading List. This weekly concern is a no-nonsense look at the hottest and most helpful innovations in the field of back-end development. Even better, you can access years and years worth of info in their backlogs located here.
Alternatively, if you want to relegate your self-improvement time to your morning commute, go with a podcast. Syntax, a weekly show by full stack devs Wes Bos and Scott Tolinski, is a great place to start.
A podcast with greater frequency is Developer Tea (it comes out every few days and is more back end centric).
5. Perfect your core skills
Let's get the obvious skill out of the way first. A back end dev lives and dies on the knowledge of programming languages. Note the plural there. Don't stagnate by knowing one or even two.
The next skill you need to be well across is databases and SQL. Once again, knowing how to shuffle data around via a few means is always preferable to only knowing one technique.
Expose yourself to industry-standard programs like MySQL, SQL Server and PostgreSQL as a bare minimum requirement. Technically they all achieve the same thing — storing data in rows and columns within tables — but there are differences to learn. Knowing them ahead of time, before accepting a contract that uses these programs exclusively, will save you a bundle of stress.
Last but not least, learn to live and breath JSON and/or XML APIs. These days you can no longer assume that your work will be exclusively used on a web browser and a web app.
6. Abandon your post often
Let's wrap this up with the most painfully obvious tip imaginable, but also one that's routinely ignored.
Being a coder can make for quite a sedentary lifestyle. Sadly, reaching out to pick up another can of Red Bull isn't the workout routine your body craves. So do right by your hardware.
Use the aforementioned schedulers to give yourself a five minute breather every hour or so. Eat some lunch in a nearby park and get a bit of Vitamin D, or challenge a co-worker to some Fight Club-esque release in your company's open-air car park. Whatever it takes for you to clear your head, really.
Studies have shown that pushing reset on your brain every once in a while works wonders on just about project you're working on. Clear your cache and come back ready to create amazing things.