Back to Blogs

Who Are Coders and What do They Do?

2022-3-14

Who Are Coders?

Pulling Back the Digital Curtain. What Coding is, and How to Master it

A lot of people are interested in coding, and with good reason. The field of software engineering is filled with opportunities; it supports solid pay and job security, and it encourages creativity and critical thinking.

But many people don't know what coding is or who coders are, and get intimidated by these unknowns.

Defining the Role

Coding may seem like magic going on behind the screen, but it’s pretty simple when you boil it down. Coding uses languages (such as C# and JavaScript) that communicate your instructions to a computer. It’s like learning a foreign language so you can speak to electronics.

Terms in the coding field can be confusing, but know that they all mean the same thing. “Coding,” “software engineering,” and “programming” are all synonymous. This also goes for “coders,” “software engineers,” and “programmers,”; all just different terms to identify the same position.

Starting Simple

TrueCoders lessons start small and work up to the big stuff; you have to take baby steps before you start running marathons, after all.

The first thing you’ll learn to do (after getting acquainted with some vocab and general concepts) is how to create a “hello world” program.

This simple program sends the phrase “Hello World!” to a webpage, terminal, or mobile app. This program is very basic, usually consisting of no more than one or two lines of code, but it is coding. It’s an actual set of directions that perform an actual task, and that’s what coding is all about.

using System;

namespace MyFirstApp
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World");
        }
    }
}

By creating your “Hello World!” program, you’ll demonstrate more coding knowledge than a majority of the population.

Intermediate Coding

After making your “Hello World!” program, you can create progressively more complex programs that incorporate concepts like methods and classes. You do this the same way you hone any skill: by learning a few new things at a time, and building on your knowledge as you go.

Next, we help our students create a calculator program. This program is a bit more complex; it takes user inputs to solve equations.

static class Calculator
{
    public static int Add(int firstNumber, int secondNumber)
    {
        return firstNumber + secondNumber;
    }
    public static int Subtract(int firstNumber, int secondNumber)
    {
        return firstNumber - secondNumber;
    }
    public static int Multiply(int firstNumber, int secondNumber)
    {
        return firstNumber * secondNumber;
    }
    public static int Divide(int numorator, int divisor)
    {
        if (divisor == 0)
        {
            Console.WriteLine("You cannot divide by zero dummy!");
            return 0;
        }
        else
        {
        return firstNumber / secondNumber;
        }
    }
}

Another intermediate project will have you create a program capable of searching through a mock Best Buy database. TrueCoders will teach you how to create a program that searches through this database, finding information like prices or inventory.

static void Main(string[] args)
{
    var config = new ConfigurationBuilder()
        .SetBasePath(Directory.GetCurrentDirectory())
        .AddJsonFile("appsettings.json")
        .Build();

    var connString = config.GetConnectionString("DefaultConnection");

    IDbConnection conn = new MySqlConnection(connString);
    var repo = new DapperDepartmentRepository(conn);

    var departments = repo.GetAllDepartments();

    foreach (var dept in departments)
    {
        Console.WriteLine($"Department Name: {dept.Name,-20} Department Id: {dept.ID}");
    }
}
class DapperDepartmentRepository : IDepartmentRepository
{
    private readonly IDbConnection _connection;

    public DapperDepartmentRepository(IDbConnection connection)
    {
        _connection = connection;
    }

    public IEnumerable<Department> GetAllDepartments()
    {
        return _connection.Query<Department>("SELECT * FROM departments").ToList();
    }

    public void InsertDepartment(string newDepartmentName)
    {
        _connection.Execute("INSERT INTO DEPARTMENTS (Name) VALUES (@departmentName);", new { departmentName = newDepartmentName })
    }
}

Advanced Stuff

As your education advances, TrueCoders will teach you how to create a complete web application. You will build on that Best Buy project and reshape it into something an end user can use.

This program will move from the console to the cloud. It will have a user interface, fields for info, styling, buttons, graphics, and more.

For this project, you will need to know backend coding (the code instructing the computer), frontend coding (what the user interacts with), appealing design, dependency injection, correct structuring, and a solid understanding of methods and classes.

All in all, your program will have thousands of lines of code.

public class Startup
{
    public Startup(IConfiguration configuration)
    {
        Configuration = configuration;
    }

    public IConfiguration Configuration { get; }

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddControllersWithViews();
    }

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
        else
        {
            // ...
        }
    }
}
public class ProductController : Controller
{
    public IActionResult Index()
    {
        ProductRepo repo = new ProductRepo();
        ProductViewsModel.Products = repo.GetProducts();
        return View();
    }

    public IActionResult UpdatePage(Product p)
    {
        ProductViewsModel pvm = new ProductsViewModel();
        pvm.ProductUpdate = p;
        return View(pvm);
    }

    public IActionResult NewProduct()
    {
        return View();
    }

    public IActionResult CreateProduct(Product p)
    {
        ProductRepo repo = new ProductRepo();
        repo.CreateProducts(p);
        return RedirectToAction("Index");
    }

    public IActionResult DeleteProduct(int idToDelete)
    {
        ProductRepo repo = new ProductRepo();
        repo.DeleteProduct(idToDelete);
        return RedirectToAction("Index");
    }

    public IActionResult UpdateProduct(Product p)
    {
        ProductRepo repo = new ProductRepo();
        repo.UpdateProduct(p);
        return RedirectToAction("Index");
    }
}
@model ProductViewsModel

<h2>BestBuy Products</h2>
<br />

<button><a asp-action="NewProduct" asp-controller="Product">Create a New Product</a></button>
<table class="table table-bordered">
    <tr>
        <th>Product ID</th>
        <th>Name</th>
        <th>Price</th>
        <th>Category ID</th>
        <th>On Sale</th>
        <th>Stock Level</th>
        <th>Delete</th>
        <th>Update</th>
    </tr>
    @{
        for (int i = 0; i < ProductViewsModel.Products.Count; i++)
        {
            <tr>
                <td>@ProductViewsModel.Products[i].ProductID</td>
                <td>@ProductViewsModel.Products[i].Name</td>
                <td>@ProductViewsModel.Products[i].Price</td>
                <td>@ProductViewsModel.Products[i].CategoryID</td>
                <td>@ProductViewsModel.Products[i].OnSale</td>
                <td>@ProductViewsModel.Products[i].StockLevel</td>
        // ...

All About the Process

Creating a user-friendly web app with thousands of lines of code might seem beyond your abilities… but you’re wrong. You can do this. Thousands of TrueCoders graduates already have. Just start with one “hello world” program and slowly build from there.

You’re going to mess up along the way, and that’s fine. If a line of code causes your program to crash, your TrueCoders instructor will go in with you, search line-by-line, and figure out where the problem is. We don't grade or judge you. It’s all about teaching you skills and learning from your mistakes.

Coding is, in essence, just a toolset. It's no different from learning a second language. You might not know much about it now, but you can learn.

TrueCoders is the place to learn.


Ready to change your life?

Enroll Now

Questions? Contact support@truecoders.io

205-843-7103

2022 © TrueCoders, All rights reserved.