Today, we have the chance to interview an expert, Esteban, full-stack JS developer for more than 15 years.
What is your background as a developer?
I got a tape-deck ZX Spectrum for Christmas when i was 8 years old. It came with a whooping 128Kb of RAM and a manual on how to program your own games using BASIC.
I was hooked. Programming computer games was WAY more fun that playing them. Fast-forward 10 years later when the Internet got started and I was keen to build myself a website and help other people with theirs. Before I knew I had too many websites to build and not enough time. Since then my story as a developer has been somewhat similar, although the technologies keep changing I have been lucky that there is always demand for people like me to build websites and web apps so I have never been out of a job for too long.
Could you give us 5 tips for people who are planning to become developers?
TIP 1: Get comfortable with feeling useless
You have probably already experienced the feeling of utter uselessness that comes when trying to learn something completely new, and not doing a particularly good job of it.
Well this feeling is your new best friend, it tells you that you are growing, and growing is painful. Learn to identify it and become detached from it, learn to welcome it, and welcome the knowledge that comes with it. Chances are you are going to keep feeling like this on-and-off right through your career as a developer. And I hope you do anyway, because when you stop feeling useless it means you are no longer learning. And there WILL be times when things click, and you will feel amazing and become super-productive, but try and avoid hanging on to those times as your skills will become obsolete if you get too comfortable.
TIP 2: Sell your brand
It is scary putting yourself out there, telling everyone what an awesome developer you are by writing articles on linkedIn, building your network, shaking hands with people at meetups, and maybe even building your portfolio site or getting in touch with recruiting professionals. Specially when you feel that you know so little.
But the reality is that technologies change so fast that many other developers are in a similar situation, they know some things yes, but those are probably outdated, and they will likely have to learn most of their next job anyway. Establishing yourself as a brand will give you choices later, and it is an investment that will pay dividends over and over.
In other words: make it easy for people come to you rather than waste your energy writing job applications, which will end up in a black hole anyway. Do NOT sell yourself falsely, but sell yourself anyway, there will be plenty of people that need your skills as they are, even if they are not fully developed. And remember: the number 1 skill to have is to be able to learn quickly, and that is the number one tool in the developer toolbox and what will really help you when you get the next job.
TIP 3: Aim for jobs that expand your knowledge.
Many times I have faced a choice between earning more money or gaining the skills that will push my career in the right direction. I have to say that every time I picked a job for the skills rather than the money, I have been happier in the end. I think this is particularly relevant for developers that are getting started with picking their first jobs. Do yourself a favor and keep investing in yourself.
TIP 4: Learn to fail fast.
Lets face it: You are going to break things.
This is particularly true for junior developers. You need to get things done, so be careful, but don’t let this become a liability, and learn how to avoid blaming yourself (and others) when things go pear-shaped, and to focus your energy on picking up the pieces as fast and efficiently as possible (with the help of your seniors). If you do this well, the damage will usually be minimal, yet the lesson will be invaluable.
Each time your break something remember: 1) dont make it worse. 2) focus on recovery, 3) take steps to avoid it happening again.
If you take this approach you will generally gain the respect of your peers and managers, who have probably gone through the same right of passage at some point.
TIP 5: Build projects you love
I can’t stress the usefulness of programming something because you love what you are doing.
Try and find time to do this. Life is busy, I have 2 kids. And yet every time I have managed to put time aside to do something I enjoy I have found some learning that has helped me down the line. This is another way to invest in yourself. Some people are lucky enough to get paid to build something they love. If you can find yourself in this position even better, but most of us are not so lucky.
What other advice could be useful?
Honestly, work (and life) is hard for everyone. And the work of a developer is never easy. If you behave as yourself in as many interactions as possible (yes, even that job interview), and you make as many honest choices along the way as you can, you will find a measure of peace in all the chaos and pain that life has to offer. You cant take the suffering away, but you CAN add the satisfaction that every step of the way you did what was most true to yourself as a person.
Thanks Esteban for sharing your tips with us !