Queue in the backend: what are we standing for and where to start our journey?

image

For everyone who does not like to do UI, “breathes” queues and dreams of an ideal API, in the fourth issue of the “Dry Oars” podcast , we called backend developers Andrey, Azat and Anton.

Iron developers Redmadrobot Artyom and Roma record a podcast where together with guests they discuss different aspects of creating IT products and share their experiences in digital. In issue # 4, the facilitators found out from the interlocutors how their path to the backend began, what web-framework should they choose, whether they dream about layout of screens and how to explain to their mom who you work with.

Attaching a podcast and answers to several burning questions


Timing


01:27 - How do they come to backend development
10:33 - What attracts specialists in the backend
12:32 - Disruption: Do you need in-depth knowledge of algorithms for those who are "sawing the cookie"?
15:17 - Questions about scaling and security
16:23 - Do all backend developers do the same job?
19:23 - Ruby on Rails, its “magic”, rise and fall
24:23 - How to choose a platform?
28:06 - Why are microframes necessary and how to work with them?
33:55 - What is an asynchronous server and why is it needed?
35:58 - Go: simplicity and architecture
41:46 - Postgresql instead of MySQL. Why?
44:58 - Why do you need to learn Docker as quickly as possible and why should you install nginx?
50:49 - Green developers: what minimum skills do university graduates need to get a job?
1:04:21 - Best books on algorithms
1:09:33 - What you need to know and what you do not need to do at the interview?
1:14:29 - Do you want the guys to leave the backend?
1:20:28 - And yet, what should not be done at work and why "need to communicate with people"?

How come backend development?


Despite the popularity of mobile development, there are still those who are prettier than the good-old backend. Among them, of course, are our guests.

Azat, for example, told how he did not go to mobile development and decided that it would be more logical to engage in web development in the broad sense. But the story of Anton is closely related to Python.

Python. , - «». , , - -, CMS’ — . . - , , - . , , . , , , . , , backend .

backend...


... When is there a super popular frontend? Artyom recalled a lot of interviews at which applicants told why they want to build a career in mobile development. Just to later show off the coolness of the application. In the backend, this is more complicated.

But in fact, if the friends with whom you share the joy of creating a backend understand in IT development, they will praise you. But mom can say what the server did for the mobile application of the store, which she uses. And even if she doesn’t fully understand what a server is, mom will still be proud.

Pros of Backend Development


Azat suggested that people are attracted to the fact that there is no need to impose. There is still an opinion that the backend is harder and cooler, although to each, of course, their own. After that, the guys went into conversation about scaling and security. More details - from 15:17.

Do all backend developers do one job?


This is not true. The tasks in backend development are different, and they depend not on the language or platform, but on the needs and specifics of the company, as well as on the level of the developer.

Sometimes, work may be to refine an existing API method or to make integration between two third-party systems, but somewhere it may be necessary to develop a distributed system architecture from scratch.

Python, Ruby, Go, C ++ and all-all-all


The guys in the studio started talking about how to choose a platform. And also about the fact that Ruby is “still alive” (Roma recently saw the proof), and also why Anton began to learn Python, about the strange names of the creators of programming languages, the simplicity of Go, microframes (they talked especially about them - listen from 28:06) , MySQL, Docker, asynchronous servers and magic rails.

"Green" developers and minimal skills for the applicant


How deep, for example, does a university graduate need to understand backend to get a job?

During the discussion, it turned out that he should be a “confident PC user.” But seriously, according to Azat, a young specialist is required to have minimal skills in administering unix-systems - to know a certain set of commands: cd, ls and others.

I also need to understand what a process is, what access rights are, what the Linux rights system is, and how networks operate in general, how IPC (inter process communications), TCP sockets work. That's enough for a start. You just need to be able to program. Here is what Anton said:

There are basic things that are common to any development, for example, for OOP (object-oriented programming) there are rules for writing, designing classes. If these are algorithms, you just need to know how they are designed, what is there, dynamic programming, well, and "use stack wherever you can."

In other words, for starters, you do not need to dive into it with your head.
Novice does not need to know all the existing sorting algorithms. But at the same time, a similar question occurs at interviews. He is needed in order to see how a person thinks and what solution he will offer.

What books on algorithms are worth reading


Andrew "drowned" for Stephen Skien and his "Algorithms. Development and application. " Anton recommended a book by Thomas Cormen, in which “there is a balance between rigor, clarity and simplicity of presentation”, and “Cracking the Coding Interview” is a good practical guide to quickly understand the algorithms.

The guests also advised the "Art of Programming" by Donald Knuth, which was conceived as a guide to compilers, but became a real "book of books."

In the end, backend - yes or no?


The guys came to the conclusion that in all areas of web development there are pros and cons. And this is normal. If you like backend, algorithms and queues, then you should think about a career in it. If briefly. If you want to hear reasoning live, then join the podcast from 1:14:29.

Useful materials


For those who want to dive into Python, you can read:


A selection for future REST Jedi:



Previous issues of the Dry Oars podcast


  1. Software Architect: why is it needed and what is its curse
  2. Source of truth: how an analyst teaches a manager and a developer to work together
  3. CTO all startup
  4. QA for beginners: how to test a rocket or plane

Listen to us wherever convenient: Soundcloud , Apple , Google Podcasts
Avoid discussing the issue in Telegram chat

All Articles