Understand How a Computer Works

Basic IT literacy is a given, as is a fundamental understanding of computer science. The majority of the work you’ll be doing will be on a computer and you won’t be spending a huge portion of your time using applications like Microsoft Word, Excel or Outlook. Rather, you’ll be in the trenches of the computer using the text editors, the terminal console or in your IDE; writing and running your own code. I very rarely spend time looking at nice user interfaces, you’ll be ‘closer to the metal’, in that you’re working with data a layer below conventional applications with graphical user interfaces. Closer to the metal machinery that grinds all the instructions.

Working in this way enables a huge possibility for customisation and flexibility with regards to what the computer is capable of. Let’s run through some basics you should know.

“What is an OS?” 

“What is linux”

“What is a Virtual Machine?”

“What does distributed computing mean?”

“What’s the difference between RAM and ROM?”

“What is a shell/bash script”

“What’s a CPU?”

“How many MB in a GB?”

“How do you do basic file management in the terminal? E.g. remove, copy and rename files”

“What’s the difference between a relational database and a non-relational database?”

“What is a binary executable?”

There are plenty more important concepts you should understand besides the above, but run through each one to check you know the answer and if you don’t, give it a search online.


Make Notes, Keep Them Organised 

This tip is one that I retrospectively wished I had listened to. 

Notes are the breadcrumbs along the path of where the knowledge is stored in your head. Sometimes you need to read through notes to resurface that knowledge. While you’re learning, create your own personal knowledge repository of notes, keep them clear and organised. If you’re aesthetically inclined, make them look nice and something you can be proud of. You’ll probably have to draw upon them a few times in your career, I know I had to rummage through boxes of old papers from my previous modules. I regrettably threw many of them out. Besides being useful, notes are a living record and a “horcrux” of the long hours spent learning your trade.


The Internet Will Know

I recall having a conversation with a colleague that went along the lines of,  “How did anyone ever get anything done before Google?”. The truth is I doubt that I would be a data scientist if it wasn’t for Google’s magic hand. Whilst there’s not much more to say here besides, “Google it”, there are some tips and tricks that may be of use. 

The first is, copy and paste the errors returned into Google. Remove the parts that are specific to your problem like ID’s or column names, but keep the rest. At the start of your career you’ll find no shortage of explanations and solutions. 

Right click, then use “open in new tab” on the search results. Open 3-6 tabs, this will help you quickly cross reference answers without having to keep clicking back to the search results. 

Close non-relevant unnecessary tabs before you make a search, these tabs just create more cognitive load that you don’t need. At the start I used to think that I’ll come back to this page so i’ll keep it open, 90% of the time I never did. If it’s a really important page then bookmark it. Worst case you can always pull up the page from your history.

Split screens work, always have an internet window accessible with Google opened to quickly search stuff whilst you’re working on a problem. If you don’t have multiple screens; most modern operating systems let you split your single screen. 

Try not to overly rely on Google too much. If you find that you are constantly just copying and pasting code without understanding what’s going on then that’s a bad sign. Try and read multiple solutions, read information about the code as well as the code itself, once you are happy & have a rough idea of what’s going on – write your own code using the answers you found as an outline. You may think you are saving time by copying and pasting an answer from or Github, however you might be wasting time in the long run if you can’t come up with it yourself in the future.