My Top 5 Linux Dev Tools for the Full-stack: Atom, Node JS, Vagrant, Virtualbox, and Oh my Zsh

Having recently switched from Windows to Linux, I thought it best to showcase the top Linux dev tools that I use day-to-day in my dev environment. Here’s a video demonstration of my set-up. If there’s anything you use that’s missing, let me know in the comments! I’d love to learn more about Linux.

Switching from Windows to Linux

Four weeks ago I started working on a new project for a client.

The first task was to load up a Vagrant box to run their platform locally on my machine.

So I cloned the Git repo and ran ‘vagrant up’.

Immediately I was presented with errors… Tons of nasty, confusing errors.

It turns out that the Vagrant box was using the Ansible provisioner, which isn’t well supported on Windows.

I look for a solution, none of them are ideal.

I can either run the Ansible provisioner in a separate VM (in which case I practically need to re-write the Vagrant setup) or I can spend hours hacking away inside the ugly Windows Command Prompt window to do some black magic hackery and get Ansible working with Cygwin…

And I thought Vagrant was meant to make coding easier!

I ask around to see if anyone else has had the same issue. It turns out not a single member of the team is using Windows.

They all use either Linux or Mac OS (mostly Linux).

That’s when I decided it was time for me to make the switch away from Windows and give Linux a try.

Continue reading this article…

My experience with Dell Support (Dell Hell 2.0)

As a software engineer, the most important tool you will ever need for your job is your computer.

In January 2015 I decided it was time to get a new laptop.

I was currently using an Acer Aspire V3-571 which lasted me a good year (which was impressive considering it only cost about £500) but eventually it started to slow down and became difficult to work with.

I decided it was time to invest in a professional grade laptop with good support. I wanted something that was lightweight, powerful and reliable.

I spent a considerable amount of time researching the different products on the market and finally landed on the Dell XPS 15. Here’s why:

Continue reading this article…

Attitude vs Experience: What’s more important for developers?

When I was looking for my first software development job, I kept hearing the same thing: “you don’t have enough commercial experience for this role”…

I kept persisting and eventually I got a job at a startup, where I worked for two years.

When I decided to go freelance I was surprised that, after having two years experience as a developer (which in my eyes is a like a century in the fast-changing technology world), I was still hearing the same thing: “you don’t have enough experience for this role…”

But I kept on trying. I worked on my own projects. I published them online. I kept reading and learning new things…

After a few months I got my first freelance contract working with Python.
Continue reading this article…

How to Build a WebSocket Multi-Client Chat using Ionic and Node.JS

I first started learning how to code at age 12 when I taught myself how to make basic Windows batch scripts. It wasn’t long after that when the easy-to-use GUI drawing feature of Visual Basic 6 had me hooked on programming for good.

I graduated onto making proper network connected applications shortly thereafter. I was obsessed with making client-server programs that could talk to each other over TCP. I spent many of my younger years hacking away at the VB6 WinSock API. First learning how to make one client talk to a server, then figuring out how to make the server handle multiple clients at once and so on…

More recently I was tasked with making a real-time scoreboard for a company I’m currently contracting for. It involved an AngularJS front-end with a WebSocket client and a Node.JS server that would accept connections and broadcast the latest scores from a text file.

To be honest, before taking on this challenge, my Node.JS/Angular experience was sparse at best. But I saw the challenge as an opportunity and quickly learned what I needed to get the job done.

I was amazed at how quickly you can make a multi-threaded network application using Node.JS and the standard JavaScript WebSocket library. In a few minutes you can do something that used to take hours to figure out.

I was so amazed I thought I would make a tutorial explaining how to create a multi threaded chat client and server using Ionic and Node.JS.

Continue reading this article…

10 Productivity Hacks for Developers

How can you be a more productive developer? That’s the million dollar question.

As a professional developer, one of the most difficult challenges you are faced with is being able to stay focused on tedious lines of code for hours at a time. Whether you’re programming professionally or just fun, you probably have goals you want to achieve, and staying focused is key to achieving them.

I always had trouble staying focused, so over the years I figured out a number of techniques or hacks that have since helped me become a lot more productive.

Although I haven’t found a way (yet) to meticulously measure this – my guess is that, when implemented, these hacks increase my productivity by 100-200%.

Continue reading this article…

How to ask questions on Stack Overflow (and get answers)

A lot of people ask me questions when something isn’t working.

While I’m more than happy to help where I can, the questions I tend to get don’t outline enough information for me to be able to answer them. But more importantly, I might not be the best-suited developer to help.

Which is why every programmer should learn how to ask questions properly on Stack Overflow — to get the answers that they’re looking for.

Continue reading this article…

How to Get a Software Developer Job in London

Are you currently looking for a software developer job in London? The scene is booming at the moment, but I still encounter people who have trouble when looking for new roles. So I thought it worthwhile to pass on some of the things I’ve learned whilst navigating this exciting job market.

Whether you’re looking to move from permanent to contract work, or just trying to land your first developer role, there are some things you need to know about getting a programming job in London.

Note: I’ve written this guide with the London job-market in mind, but the principles and methods I’m sharing with you here can be employed regardless of where you live.


How to get a software developer job in London

How-to-get-a-software-developer-job-in-London-FB

Continue reading this article…

How to Build an App Part 3 of 3: Using Ionic Framework

Now for the third and final part of this three part tutorial: How to build an app. If you missed out on the first two instalments, you can read part one here, and part two here. For our third part, I will explain how to build the app using the Ionic framework.

How to build an app ionic

How to build an app ionic
Continue reading this article…

How to Build an App Part 2 of 3: Creating the back-end with Django REST Framework

Welcome to part 2 of 3 of my How to Build an App tutorial. In the first part, I explained how to create the back-end server which we will use to host our app’s back-end (if you didn’t get a chance to read it, you can check it out here). In this second part, I will explain exactly how to build the back-end itself.
Continue reading this article…