<BackChoosing the direction of development for programming training2/5/2023
Programming is in the field of view of many people. Someone is attracted by high salaries, and someone wants to create their own IT solution.
With this publication, I begin a cycle on how to become a programmer. The hashtag of the cycle is #wannacode.
In this article, you will find out what areas of development there are, how they differ and in which they pay more.
Choosing a direction is an important stage for a future programmer. The direction should correspond to your goals and interests. For lovers of everything beautiful, one direction is suitable, and for those who like algorithms and everything logical, another.
I identify several main areas - frontend, backend and fullstack. Let's look at each of them.
We all regularly interact with the interfaces of websites, mobile, web, applications and PC applications. All these are frontend or client applications.
Here is a list of the main tasks of the front (frontend developer) include:
- Interface layout. This is the process of converting the interface design into code used to display web pages or screens that consist of buttons, input fields and other interface elements.
- Writing the logic of interaction with interface elements. This is a conversion into code of what should happen when the user interacts with the interface elements.
- Writing the logic of interaction with the backend application. What is a backend and what is it for, we'll talk in the next section.
If you have a craving for everything beautiful, you are pedantic about visual design and want to see a visual representation of your works, then you can try this direction of development.
Imagine an online store. It can have several frontend applications: a website, a mobile application, an admin/moderator panel. Each of these applications must constantly interact with the database, for example, to create, edit or delete products. Do I really have to write database interaction code for each frontend application?
No. This is resource-intensive and unsafe. It is resource-intensive, because when you change the logic or the type of database, you will have to rewrite this part of the logic in all applications. It is not safe, because a database available on the general Internet is a tasty morsel for hackers.
The backend application is a component of the IT solution that is responsible for all the logic of interaction with the database and the general functions of the business logic of the product, such as authorization, file processing, interaction with online payment services.
The backend application does not have a graphical interface, and the tasks that it solves are more algorithmic.
According to statistics, the salaries of a backend developer are higher than those of a frontend.
If the visual component is not important to you, you like logical, algorithmic tasks and want to develop the "heart" of a comprehensive IT solution, then try this development direction.
Direction: Full Stack
A full-stack developer is an orchestra person who can write both a frontend and a backend part of a product.
Becoming a full-tech developer is a long-term goal. I recommend starting with the frontend or backend. Become a professional in the chosen direction, then switch to full-stack mode.
Full Stack is cool. You will be able to develop almost any product yourself and get a very good fee for it.
If you are a lover of visual beauty, take a closer look at frontend development, if you want to solve interesting algorithmic problems and develop the "heart" of IT solutions, sacrificing the visual component, take a closer look at backend development.
Do not hesitate to set a goal - to become a full-tech programmer, but start achieving it with the development of a backend or frontend skill.
If you feel that you need a mentor on this difficult path, then I am always at your service.
Composition of the IT development team7/6/2023
In this article we will look at the composition of the IT solution development team
About graphs, simply.12/18/2022
In this article, we will begin our acquaintance with graphs, get acquainted with the breadth-first search algorithm (BFS) and implement the graph in the Rust programming language.
What is the difference between outsourcing development and outstaffing an IT employee for development?10/17/2022
In this article we will understand what outsourcing and outstaff development are.
UI/UX design: The creation process4/9/2023
In this article we will talk about the main steps in the process of creating UI/UX design.
UI/UX design: Introduction3/29/2023
In this article, we begin to get acquainted with UI / UX design. This is the most important stage in the development of any visual application interface.
Agile, Six Sigma and No Principle9/14/2023
In the last article, we started diving into the development process. The first stage of this process is planning. At this stage, the project manager, together with other team members, forms a pool of tasks in accordance with some kind of project management methodology.
Meet the Pentest8/22/2022
We are beginning to consider one of the main methods of assessing the security of computer systems and networks for potential vulnerabilities - penetration testing
Reducing the implementation period of MVP12/8/2022
Let's figure out the timing of the implementation of the MVP.
Choosing a programming language3/17/2023
In this article we will talk about choosing a programming language to study
Testing an MVP concept1/9/2023
We will figure out how not to waste the budget on MVP development in vain
Application Architecture Design: Introduction3/6/2023
In this article, we will talk about the process of creating the architecture of an IT solution.
The terms of references: Structure2/17/2023
In this publication we will consider the universal structure of ToR
Incorrect estimation of the cost of IT contractor services9/10/2022
Today we will talk about the incorrect assessment of the cost of developing IT solutions. This pain is one of the main ones for enterprises and startups, including IT contractors themselves.
Introduction to Design Patterns in Software Development10/3/2022
In this article, we will begin to dive into the world of optimizing application architecture using design patterns.
OSI Model Levels9/6/2022
In this article, we will take a closer look at each of the levels of the OSI model
Main types of application architecture3/7/2023
In this publication, we will look at what application architectures are
10 ways to use Rust Cargo2/11/2023
In this short article I have collected 10 ways to use the build system and package manager of the Rust programming language
Documenting code in the Rust programming language8/24/2022
In this article, we will look at how documentation takes place in Rust and consider a very useful opportunity - writing tests through documentation.
Introduction to the OSI model8/19/2022
In this article we begin to consider the fundamental model of network interaction - OSI
CSS animation ripple8/31/2022
A simple example of how to implement ripple animation using HTML and CSS
What is the purpose of an ER-diagram in the development process?4/28/2023
Let's discuss in general terms what an ER diagram is and what it is used for.
From concept to MVP11/18/2022
In this article, you will learn, by example, how to move from a concept to an MVP without unnecessary complications in the functionality of the product
What are UML diagrams used for?5/23/2023
In this article we will talk about what UML diagrams are, what they are and where they are used
Introduction to writing the terms of references1/31/2023
The Terms of Reference are an important part of the development process. In this article, we will begin to dive into this issue.
Introduction to software development10/10/2022
Today, most companies are faced with IT development and often do not get what they want. In this article, we begin to dive into the process of creating IT solutions.
From idea to concept10/27/2022
In this publication, we will talk about how the idea differs from the concept. Let's do this with an example of a specific goal
In this article, we will get acquainted with weighted graphs, Dijkstra's algorithm, and its implementation in the Rust programming language.
Development Process: Planning8/16/2023
In this publication, we will begin to consider the development process. Let's start with the planning process.