#S01E02: Josh Hudson

If you do interview, ask them questions. You are interviewing them as well as them interviewing you.

Josh Hudson

Josh Hudson

Josh approached me about being featured in Behind the Source, although he needed no introduction. Having followed him on twitter for a while, I knew exactly who he was. A local (to me) Brighton web developer. I was fascinated to hear his story about how he got into the web industry and how he feels the community is as a whole, from a Junior Developer's point-of-view.

What is your job title (and feel free to talk about where you work)?

I am a Junior Web Developer and I work for Tilt in sunny Brighton and have been for two years.

My day to day tasks includes developing the frontend on projects, building proof of concepts or bug fixing after internal or external QA and client feedback. I also cover maintenance for clients with bug fixing and new feature research which involves creation and implementation into existing sites.

Testing is another process I do on a daily basis, making sure that changes are tested and approved by the internal team and clients on staging servers, before pushing to live.

Work is always busy but we have a great team that works together to help each other out and support one another. Free coffee (and support) at work is also a major plus. Having a space to learn by doing is great for me while I learn more about development.

Recently, I have been setting up servers and learning about more backend processes, which has been really helpful when it comes to pushing code to both staging and live servers.

Be honest when applying for jobs

How did you get where you are today? What is your educational background? How many jobs have you had?

I originally started out learning to code about four years ago while working as a customer service agent for a large utility company. I wanted a change and decided to utilise my employees learning scheme to learn something new.

I enrolled at Brighton MET for an introduction to HTML, CSS, and JavaScript 8 week evening course - it was really good fun and included quite a bit of practical work and helped my skills increase quickly in a nurturing environment. After completing this course, I followed on with another 8-week course for PHP and MySQL, which I equally enjoyed as the logic behind this language really interested me.

[Mike: Having now worked as Junior Developer for 2 years and knowing what is “right”, did the course teach “up-to-date” techniques or was it outdated?]

The course taught me basic HTML, CSS, and Javascript and was good to set up the basic building blocks to Web Development, so I wouldn't say this is outdated, as getting the basics right is key to web development and is a good place to start. We used Notepad++ as the editor and made simple web pages with text and images and the course did teach good structure for code. It was a great place to start and then look into further more advanced techniques after myself.

After the night classes, I was introduced to Codebar Brighton, a local group that meets up once a week and helps underrepresented groups in tech get into coding. The group is run by local developers who give up their free time to help others - which is amazing. Getting to see the insides of some tech companies in Brighton and being surrounded by the community was a great boost for me, I learned so much from the developers who gave up their time for me.

I then knew that a dev job is what I wanted to do. I began looking around and sending email questions to local companies - some replied with helpful answers and some not. I asked about roles and, if possible, asking for directions to go as a new dev if they didn't have any jobs available. Being open about my skills and what I could and couldn't do helped a lot when it came to getting answers from companies. I soon managed to apply for a role at my current job Tilt who appreciated my honest approach and were willing to take on a Junior Developer to help educate and give an opportunity to grow.

This is my first dev job and I'm really grateful for the opportunity that I have been given, as entry-level jobs can be hard to find. My advice to any new dev is to be honest when applying for jobs and also if you do interview ask them questions as you are interviewing them as well as them interviewing you.

What is your tech stack? What languages do you use? What are your projects built with? Do you interact with servers, if so, what kind? What do you develop on/with?

I currently work on various projects utilising HTML, CSS, and JavaScript. I also build and maintain projects in Wordpress using PHP and MySQL for databases. Occasionally I will help out with bug fixing on the Laravel built projects. Other projects I also work with use Drupal, which I maintain the code including modules and security updates.

I do interact with servers, making updates that have been done locally to staging environments and also pushing changes live. I recently learnt how to set up Linux servers for development; making sure that these are secure for projects to be used on. I thought server setup would be daunting but it's been good and lots of documentation exists out there to help.

I mainly use Sublime Text to code with day to day and use chrome as my main browser to locally build with the use of dev tools. However, I do use all browsers to cross-browser test. The terminal is my friend along with using Git for version control is great and easy to use. Also, a Spotify account is a must to have some great dev playlist playing while I work.

Working on code is great, but understanding more about how the back end works is something that I was curious about. The command line helps so much on my day to day as making sure version control for code is important and a small git command make a big difference when saving your work. It was a lot to learn initially, the command line wasn’t taught to me in the college course, but documentation online has been really helpful to learn this. Also, one thing I advise is getting used to typing in the commands manually, as copy and paste is great but typing will commit the command to memory and make you understand it more.

It’s a bit like a Stack Overflow issue that you find. You get your answer in a code snippet and can copy and paste it to solve your problem, but if you don't understand the code and what it does it is pretty much useless. Taking time to understand and type in the command helps so much in the long run. [Mike: It also helps when you are on a machine you can't copy and paste to]

I found the jump different but went in with an open mind and the best thing to do is just start using it, the more you use it the better your skills become and remember that there is documentation out there.

Get used to typing in the commands manually, as copy and paste is great but typing will commit the command to memory and make you understand it more

What do you love about your job?

I really love solving a problem. I could be hours or days on an issue but when it's finally resolved and solved the feeling I get is great, because I fixed it. I do get up and do a little dev dance around the office when an issue is fixed or something I have done has worked.

I have headphones on so it is a bit of a silent disco, but I do find myself humming or singing out loud in the office. Singing Chaka Khan out loud can be embarrassing but I find the office joins in anyway.

What could be better?

I think that what could be better is more of a personal thing with me as, occasionally, I get imposter syndrome which seems to be a rising issue in the tech community. I get the feeling sometimes that I'm not good enough at my job and don’t deserve what I have. I combat this by reminding myself of where I have been and what I have accomplished [Mike: Or how many dances you do in a week?]. In January I made a list of my accomplishments from the last year, which has really helped put into perspective where I have come over the last few years.

I also strive to try and learn more but sometimes I feel that there is so much out there to learn in tech. Getting better at the basics is what I need to focus on, as I feel it's better to be great at some things than spread too thin and average at all things.

I feel it's better to be great at some things than spread too thin and average at all things.

What do you love about the web industry?

I love the fact that there are so many people online willing to help and Stack Overflow has been a lifesaver at times. So many times I have been stuck but a quick Google search can help a lot when facing a problem.

What are your frustrations with the industry?

I think that tech community needs to become a lot more diverse and open their arms to everyone. Tech companies need to invest more in programmes like CodeBar to help people, as it not only benefits new dev babies but also will benefit them to give back to a growing community.

Its not just skills that will get you a job its personality

Knowing what you know now, if you were to start again in the industry would you do anything differently?

I’m not really sure what I would have done anything else differently, as for me taking my time to learn new skills with a college evening course would have always been my first point of call. However, if I knew about Codebar earlier I would have gotten more involved with them from the word go, as it's a great place to meet people and learn the basics for free and get help from professionals. I think getting a job I would still be myself today and be honest about my skills and when interviewing. I would still be myself as its not just skills that will get you a job its personality as you have to fit in with the people you work with.

If you enjoyed this interview, would you consider buying us a round? Make sure you mention Josh Hudson in the message and i'll make sure they get half. Thank you.