Updated: Jan 29, 2022
By: Jesca KhembroWard
So you want to do some of this "coding" stuff but not sure if you have the tools to get started? 🤔
Never fear, we'll get you from zero to "Hello World!" faster than you can say Teknikally Speaking! 😁😆 maybe not that fast but still quick 💨.
I am new to all this coding stuff. I mean, I am a network engineer by trade but I literally google pieces of code, then copy and paste them in the area I need them. 🤷🏾♀️ And that's when I am trying to go above and beyond to resolve an issue instead of reaching out to the DevOps team. 🙄
So yeah, I am new. Now that I find myself more drawn to software development (blockchain technology🔗 to be more specific) I have decided to sit down and "go back to school". If you don't know my story by now, I am a self taught network engineer. Got myself from slaving as a fast food worker to traveling the U.S. as an engineer. So here's another journey. This one, you can take with me. 😁
Let's start this journey off right. I went to culinary school and before we would start cooking, our chef would say "mise en place" which is French for "putting in place". So before we dive into anything, let's mise en place and get our computer set up properly to write code.
Here is my checklist 👇🏾
Operating System -> Up to date
Terminals/Shells -> CLI to talk to the computer -> BASH, Powershell, cmd.exe
You need a place to store, track, and share the code -> Git
Programming Languages -> rules used to write code -> Python, JS, C++
Text Editor / IDE -> Atom or Notepad++
A coder's job is more than just writing code. They also must explore the different APIs that they consume within their code. They need to test their own application as they write it. And as many applications are written today for consumption through a web browser, they need tools to verify and troubleshoot web applications. There are many options like:
Postman -> REST API client
Google Chrome ->expose HTTP process
VPN -> OpenConnect -> connect to DevOp sandboxes
Let's dig a little deeper in some of these components.
Briefly mentioned in the CCNA course, we discussed "What a network consist of", and one of those components was an Operating System. In order to communicate with others around the world, or even others locally, you need an OS on your device (PC, phone, tablet).
An operating system is the most important software that runs on a computer. It manages the computer's memory and processes, as well as all of its software and hardware. It also allows you to communicate with the computer without knowing how to speak the computer's language. Without an operating system, a computer is useless
Top 5 Operating Systems:
Google's Android OS
Linux OS -> family of open source systems
Most of us are familiar with all but Linux OS. Here are some helpful resources to learn Linux and add that skill to your resume. 😉
The terminal is an application for command-line tools. This is where you can type and execute text based commands. Again, if you went through my CCNA course, then you already know what's going on here.
If you have never worked in the terminal before click Here.
Source Control Platform
Whether you are writing a simple code on your own or collaborating on a large software development project as part of a team, source control is a vital component of the development process.
Source code management systems allow you to track your code change, see a revision history for your code, and revert to previous versions of a project when needed. With source code management systems, you can collaborate on code with your team, isolate your work until it is ready, and quickly trouble-shoot issues by identifying who made changes and what the changes were.
Git is an open-source distributed source code management system. Git allows you to create a copy of your repository known as a branch. Using this branch, you can then work on your code independently from the stable version of your codebase. Once you are ready with your changes, you can store them as a set of differences, known as a commit. You can pull in commits from other contributors to your repository, push your commits to others, and merge your commits back into the main version of the repository.
If all that just went over your head, it's okay, here's a beginner friendly crash course.
*Once you get set up with a GitHub account, my username is @jescakw, check me out 😎
Programming languages are the tools we use to write instructions for computers to follow. Computers “think” in binary — strings of 1s and 0s. Programming languages allow us to translate the 1s and 0s into something that humans can understand and write. A programming language is made up of a series of symbols that serves as a bridge that allow humans to translate our thoughts into instructions computers can understand.
Top 10 Most Popular
HTML/CSS (I know, not really a language)
An object-orientated language
Then I am off to learning only specific tech related to blockchain. Your path will be different or maybe it won't. But this is where you figure out YOUR "first step"
A text editor is just a simple place to write code in plain text and control it with various commands. Different text editors come with various features, from simple ones like cut and paste to more complex ones.
New text editors come out often, here is a list of popular ones.
That's about all you really need to get started writing code. Everything else is specific to your project or task your trying to complete.
For example in the CCNA course, we were exploring API's, check out a snippet from that class.