Good Coder or Great Coder? From beginner, to intermediate, to expert.

You’ve just demonstrated your worth to a future employer with a perfect first interview. You coded intelligently and very casually aced the ‘Hello, World!’ test You made the two developers across the table from you laugh at a terrible joke (which you stole from Dilbert).  You complimented the baby picture displayed, accidentally calling one of their infant sons an adorable little girl, and after all was said and done, you’ve been called back for a second technical interview. If all things fall into alignment, and you’re as good at programming as you believe you are, it won’t be long until you enter your 6 month probationary period. Before you walk in the office door for the first time, there’s some established wisdom that will serve you well, in any field.

‘It’s one thing to write “Hello World,” but it’s another to understand how the words appear on the screen. By learning the “groundwork” that supports the work you do, you will become much better at it.
Why? Because you will understand why things work the way they do, what might be wrong when things are broken, and so on. You will become better by learning what happens at a lower level than your work.’

If you’re entering the field, any professional field, for the first time, it goes a long way if you understand the foundational principles upon which everything stands. You’ll hear the expression ‘information architecture’ an awful lot, but before even that, learn how the spinal column supports the body, learn why the building doesn’t sink into the sand, and essentially learn to think about the underlying structure which is maintaining some form of structural integrity. It will show, and your peers will appreciate you not asking basic questions.

Leave your prejudices, biases, and coding dogma at the door. Everyone has their own tactics and strategies, their own methodology, about how things should be done, but I think it’s very important that for the very first time you enter the office, leave your coding dogma at the door.

As a developer just starting out, you shouldn’t be the one boldly announcing about the ‘One true way’ about how to achieve the end-goal. Not only will it make you somewhat unpopular in how inflexible, arrogant even, you’re coming across as, but at the end of the day, you will be embarrassed when you’re proven wrong. Approach projects and tasks with an open mind and a willingness to accept when you’re wrong, but more importantly, approach tasks with the intention of learning from others, and past mistakes. They’re not obstructions- they’re challenges. They were all there once. The boss who just shook your hand and immediately forgot your first name, they were you once, and he or she most likely didn’t get where they are by making the mistake of being narrow-minded and opposed to new ideas- a particularly fatal error when you’re in a field that changes as constantly as technology.

‘ Most software today is very much like an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves.
Alan Kay

Whichever way you look at it, programming demands hard work. For every technology that makes your job easier, your life easier, your phone smaller, and your computer faster, there were countless minds dedicated to providing that service. You might imagine a life of sitting at an office for hours on end isn’t physically taxing to your body, but it will be. Bad posture will lead to lower back problems, carpal tunnel syndrome might cramp your wrists, insomnia will keep you awake for days on end, and when you finally manage to fall asleep, you’re dreaming in binary. If you start seeing your colleagues as stacks of numbers compiling, it’s probably best to take a walk outside. Part of coding, but more so, part of being a coder, is your attention to detail, and your incorruptible patience. Your code is only as good as you are, so ideally, you approach the task with the due diligence it deserves.

‘ Computers are good at following instructions, but not at reading your mind.
– Donald Knuth

Nobody wants to spend their weekends and dark evening hours under fluorescent lighting, knee deep in error messages. Learning proper testing procedures, and good habits, will save you a lot of time in the future if you start learning them immediately. Very few codes, threads composed of thousands upon thousands of written lines, will run from start to finish error-free, particularly if you haven’t afforded the process the attention it demands.

Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.

– Brian Kernighan

‘ It’s hard enough to find an error in your code when you’re looking for it; it’s even harder when you’ve assumed your code is error-free.
Steve McConnell

A final piece of advice, applicable to us all – do not be afraid to up-skill yourself through constant learning. Self-teaching, reading about and discussing emerging technologies and strategies, a willingness to experiment in your own time, and a healthy curiosity about how the system works, will only benefit your future career. Learn a new language, read the code of your senior developers, dissect both your successes and your failures- they’re all equally valuable. This is particularly vital in a field which is endlessly-evolving. So, while there will be good and bad days, there will be bugs in the code, and there will be passive-aggressive company-wide emails, you should accept that your own progress, any progress, takes time. It helps if you’re passionate about what you do.

Database Programming

In layman’s terms, a database is a collection of organised data and information. These databases contain many tables with multiple fields containing information on a company’s clients or employees.    Nearly every website uses databases, notably eCommerce websites, to record sales, shipments, and other information using special database software. This software is essential for organising, updating, […]

What Are HTML Tags?

When a web browser sees an HTML tag, it knows what to do with the material. Tags allow a web browser to differentiate between HTML and plain text. Opening tag, content, and closing tag all make up a single HTML tag. But some HTML tags are not closed tags. What Are HTML Tags? An HTML […]

What is AWS?

AWS, which stands for Amazon Web Services, is a cloud computing technology platform provided by one of the most well-known organisations, Amazon. This innovative and evolving platform provides customers with a myriad of services like servers, storage, networking, virtual computing, email, hosting services, and privacy. Storage is an essential asset for practically every organisation. Previously, […]