Articles

Programming and IT

Self-study plans for getting into programming and neighbouring IT fields — what to install, which tasks to start with, which projects to build and how to check your code without a mentor.

One framework for any direction#

Whatever language or career you choose, the path is made of the same parts. First, a working environment: a code editor, an interpreter or compiler, a terminal. Then the basics: variables, conditions, loops, functions, data structures. Next, small programs you write yourself rather than copy from a lesson. Only after that come frameworks, libraries and portfolio projects.

The second shared part is a developer's habits: keeping code in a Git repository, making small meaningful commits, writing tests for your functions, reading the official documentation before retellings in blogs. A tester, an analyst and a machine learning engineer need these habits just as much as a backend developer.

How to use the articles#

Each article is a separate plan: what to install, first programs, stages by weeks and months, project ideas and ways to check yourself. If you have not chosen a direction yet, start with the general article on programming from scratch — it explains how to choose a first language. SQL and Linux basics are useful in almost any IT career, so it is convenient to learn them alongside your main direction.

  • Programming and IT What is Docker

    Docker packages a program together with everything it needs to run into a single image — and that image starts the same way on a developer's laptop and on a server. Below — what an image is, how it differs from a container, how to write your first Dockerfile and where the technology is overkill.

  • Programming and IT What is an API

    An API is an agreed way for one program to ask another for something. No screens and no buttons — the request travels as text over the network, and the answer comes back in a machine-readable form. Once you understand the four parts of an HTTP request, you can read the documentation of any service.

  • Programming and IT SQL queries: examples explained

    An SQL query describes which rows you need, not how to find them. Below, the same two tables go through all the main constructs of the language — from simple filtering to joins and subqueries — and every query comes with its result down to the last row.

  • Programming and IT Regular expressions

    A regular expression is a compact description of a set of strings. The same syntax works in grep, in your code editor, in JavaScript, PHP, Java and Python, so you only need to learn it once. This page covers the pattern language itself, not the library of any particular language.

  • Programming and IT Python: strings

    A string in Python is an immutable sequence of characters. Almost all of its quirks follow from that: methods do not change a string but return a new one, and fast text building goes through join, not through adding strings in a loop. Below is the working minimum with examples and output.

  • Programming and IT Python: slicing

    A slice cuts a piece out of a sequence by the rule "from which index, up to which, with what step". The notation is compact, but it has two places where almost everyone slips: the right bound is not included, and with a negative step the bounds swap places. Let us go through both.

  • Programming and IT Python: regular expressions

    A regular expression is a pattern that describes a set of strings. In Python you work with them through the `re` module from the standard library. You write the pattern as a string with an `r` prefix, search with `re.search` and pull the result out of a match object. Everything else is details of the pattern language.

  • Programming and IT Python: reading a file

    Working with a file takes three steps: open it, read or write, close it. You are better off not closing it by hand — that is what the `with` statement is for. And the parameter people forget most is the encoding: without it, the same code reads a file differently on different machines.

  • Programming and IT Python: practice problems with solutions

    A set of problems in order of difficulty — from reversing a string to a generator and a call-counting decorator. Solve each one yourself first and only then open the walkthrough: comparing your code with someone else's teaches more than reading a finished answer. All solutions are tested on Python 3.

  • Programming and IT Python: OOP

    Object-oriented programming is a way of describing a problem through objects that have state and behaviour. In Python its usual four building blocks are simpler than in Java or C++: inheritance exists, private does not, and type compatibility is checked by behaviour, not by ancestry.

  • Programming and IT Python: lists

    A list is a mutable, ordered collection of values of any type. It is also the main source of surprises for beginners: assignment does not copy a list, sort returns nothing, and removing items inside a loop skips half of them. Let us go through it in order.

  • Programming and IT Python: generators

    A generator hands out values one at a time, and only when someone asks for them. It does not keep the whole sequence in memory, so it suits large files and endless streams. The price is that a generator is single-use: you cannot loop over it twice.

  • Programming and IT Python: functions

    A function is a named piece of code that takes values and returns a result. In Python a definition takes one line, but arguments have subtleties: defaults are evaluated once, positional and keyword arguments mix by rules, and a function without return still returns something.

  • Programming and IT Python: exceptions

    An exception is a signal that execution went differently from what the code expected. By default it stops the program and prints a traceback. A `try/except` block lets you catch only the error you anticipated and carry on, without hiding real breakages.

  • Programming and IT Python: dictionaries

    A dictionary stores key–value pairs and finds a value by its key in constant time, however large it grows. It is the workhorse for counting, grouping and settings. Below: creating dictionaries, safe access, iteration and the places where a dictionary does not behave the way people expect.

  • Programming and IT Python: decorators

    A decorator is a function that takes another function and returns a new one with extra behaviour. The `@` sign above a definition is just a shorthand for an assignment. Keep that in mind and the whole topic takes one evening.

  • Programming and IT Python: classes

    A class describes what data an object is made of and what it can do. The `__init__` constructor fills in a new object, and `self` is a reference to the object itself. Below: a minimal working class, the difference between class and instance attributes, and ways to make the code shorter.

  • Programming and IT Markdown tables

    A Markdown table is built from pipes and a separator line under the header. Below is the table syntax with column alignment, plus a short cheat sheet for the rest of the markup — headings, lists, links, images, code, quotes and task lists.

  • Programming and IT Linux commands

    The Linux terminal works the same way in every distribution: command name, options, arguments. Below are six tables by area of work, each with one line per command and an example you can type to see the result straight away.

  • Programming and IT How to learn to code from scratch

    You can teach yourself programming without a technical degree if you write code with your own hands from the first week instead of only watching lessons. Below is how to choose a first language, what to install, which order to take topics in and how to tell that you are really making progress.