The Technical Path: Fundamentals
Tags: Learning, Building Blocks, Information Technology, Fundamentals, Soft Skills

The Fundamentals

No single course is going to get you the required fundamentals to build a solid foundation of knowledge and understanding for this field. Before you start to run, you need to learn how to walk — so let’s start with crawling.

Hardware and Software Fundamentals

These fundamentals should be learnt on Day 1. If you don’t know how the Operating System (OS) interfaces between a computer user and the computer hardware, you should stop right there. You should be able to open a computer chassis and identify each key component: CPU, motherboard, GPU, RAM, power supply, storage (SATA, RAID, HDD, SSD, etc.).

Along with the hardware basics, OS basics are needed to understand the complexities of hardware, hardware management, and the programs requesting I/O. There are two types of software that you should be aware of: System software (manages the operation of a computer) and Application software (programs that help the user perform a task).

Possible course you can take: Computer Hardware and Operating Systems

Learn How Logic is Formed — via Language

You don’t need to learn how to program in every language out there (~ 700 programming languages, so best of luck!), however you do need to know how logic is formed. Each language is different by ways of syntax, but they all have the basic elements: Data types, variables, keywords, logical and arithmetical operations, loops, conditional statements, arrays… It goes on, but the point is, learn the fundamentals of programming languages.

Here is a starting resource: Codecademy Basics of Programming

Learn Protocols & Networking Fundamentals

Having a foundation of basic networking concepts is essential to a successful career in IT as networking technologies underlie all IT activities. You should be able to look at a topology and identify the different hardware being used, the type of network is being implemented, the inbound/outbound traffic, and what protocols would be used via different applications.

Networking is broken down into the 7 layers of the OSI layers (or 4 of the TCP/IP model), and you should be able to name these off the top of your head. These 7 layers of the OSI model are extremely useful outside of networking, so much so that you can use them to troubleshoot technical issues.

Along with learning about networking fundamentals, it’s a good idea to check out Cloud Computing.

Free Sources:

Learn Basics of SQL + Databases

After learning hardware, storage, networking and the different types of data being used, it’s a good idea to learn how that data can be manipulated. You don’t need to be a guru in SQL, and you don’t have to be a data analyst to know the basics of SQL and databases, but it does drive the world. It can be essential when having to deal with large amount of data as well as solving business analytical problems, or applying solutions in a software that allows you to extract the desired information from the database.

Resource: Learn SQL

Learn Source Control

Last but not least, its recommended to learn about source control. If you are a developer and are not using a source control method, how do you sleep at night? This is never really taught within the educational system, but is widely used in the real world, and that is why its on this list.

This isn’t just for developers and their code; use the appropriate Source/version control method for your work.

Source: The basics