Being a Coder means constantly learning, reading, planning, mapping out a new creation, thinking about how to solve a current problem or writing solutions. I think it’s fair to say that most coders are obsessed with solving problems – which means often you still have your head in code well after your normal working day has finished (again, what is a normal working day?!).
To get the most out of myself, I am always aware that my whole day has to be set up with very few distractions, and few decisions that I’ll have to make throughout the day.
A lot of the time there is more time thinking and reading than actually writing the code itself!
When I am writing a program, I have to fill my brain with as much of the program as possible – because you have to hold so much information in there so that you can properly build and problem solve, it is absolutely imperative that the rest of your time is free.
This means that project-juggling is difficult for a coder. You have to really fully immerse yourself in the project to be able to get into flow.
I wake up early, and do the minimum before getting straight to a computer to crack on. That said, a lot of the time there is more time thinking and reading than actually writing the code itself.
Sometimes getting stuck on a problem for a long time will mean losing money as you can’t fix the issue. Being at a standstill is an issue because it can cost the agency time, and the client time too. But it is unavoidable. Sometimes it is extremely difficult to know how long things are going to take when you start a project.
A big frustration in coding is that people think that it’s simple to do something or they may say ‘just move that there’. There is often such a large knock on effect, if you move something then it will kick almost everything else out too. So, it can double your workload. Nothing is as simple as it looks – and this is difficult to explain to people who do not code.
One difference compared with when I first started to code, is the requirement to write less and less code to complete the same task as before, because people are writing with higher level languages. Obviously most of the time this is enjoyable as using the higher level languages allows a programmer to develop projects much faster and more enjoyably.
I guess the biggest change is that it’s more accessible. More people understand what programming is than ever before. With more people understanding, that also means more ideas. In the world of work, it means more opportunity. And as technology progresses further, so do the possibilities with programming.
Head back to 15 years ago when mobile phones weren’t a ‘thing’. Look at how many more opportunities programmers have now that every single person (pretty much) on this earth has a least one connected device on them at all times. Think about what that means with regards to developing Apps. Think about what that means for how you build websites. Every site nowadays is built mobile-first. Even eight years ago that wasn’t the norm.
Coding bootcamps and hackathons are a normal part of life. Groups of tech-heads are encouraged to spend their time building, or hacking an already-existing site. Code is being taught as standard in primary school. Take it back to when I was at school, I remember my first ICT lessons in primary school where a laptop was plonked in front of me and one of my classmates cried because they’d never even seen a computer before. Imagine that now. Kids are on devices from when they’re practically babies…
Look at how many more opportunities programmers have now.
Your guess is as good as mine. I guess coders are going to be need to build bigger and better things. Integrate VR and AR into all projects. Security is going to be even more paramount because advancements in tech mean more money can be made, and stolen, online.
Because coding is still pretty BAMBOOZLING for many it is absolutely vital to be able to describe in simple terms exactly what it is you do, to people who don’t have a scooby. And, you’re going to come across a lot of these scooby-less people – whether it be as colleagues, clients or family members.
Work on your verbal communication, as well as your keyboard skills.
A great way to conquer the explanation-game is to actually ensure that you fully understand, inside out, what it is that you do with code and why you do it. You can be the greatest coder of all time… at home in your bedroom. A super-fast, coding keyboard warrior! But, unless you can take instruction, give feedback, explain why something will or won’t work, then you’re never going to last in the world of coding. So work on your verbal communication, as well as your keyboard skills.
A problem solved is a problem coded.