A
A
Alexey2018-10-01 20:05:52
Work organization
Alexey, 2018-10-01 20:05:52

How do developers know exactly how to implement something?

I apologize in advance for a possibly stupid question, but it does not give me peace of mind.
It's hard for me to describe it, but I'll try.
For example, a person works as a backend developer and he receives a task: "Make a server load balancer" or "Write a registration system" or some other tasks. Since I don’t have any development experience at all, I’m still learning.
A question has come up.
Where do developers draw from or how do they learn how to do what they are asked to do.
That is, he was given a task, as I wrote above. And he's like, "Yeah, here it is, there it is. And it works." I wonder how they come to this when they understand how to do what is asked of them.

Answer the question

In order to leave comments, you need to log in

7 answer(s)
A
Alexey Sklyarov, 2018-10-01
@OwlFury

Your problem is that you ask too many difficult questions. About how to try to understand why the car is moving "headward".
In development, as elsewhere, consistent study and practice is important. You can’t just write your own Google with blackjack and .... not knowing how to write a simple site. Take any area and experience and thinking will always be important there.
When you need to lay out a page, you write something to yourself. That's it, the page is ready. Next, they tell you. And register. The first thing you do is go to Google with the request "how to write a registration in php". You see a bunch of porridge about some queries, databases, some protections, encryptions, and so on. All together right now you do not understand. But having understood each of them step by step, you can already write a simple registration. Then your site was broken to hell, because when writing the registration you did not think about security at all. They gave you a hat and now a new experience, next time you will try to protect all things.
Already having experience with the database (since you wrote the registration module), you can formally dig deeper and make it possible to add news to the site to the database, and then display them on the same site. And suddenly, you already understand how to implement a crooked-oblique blog.
In the course of solving any problem, a lot of problems arise that you will have to solve. This is experience. And the more such tasks you solve, the easier it will be for you to solve all subsequent problems.
PS As people said above, there is such a tool as "google search", at worst, "comrades in the shop" will help.

P
Philipp, 2018-10-02
@zoonman

Developers learn from a few basic principles
The above principles are the result of a consistent study of computer science, programming and systems design. Each developer goes through stages where he does not know how to implement or solve a particular problem, so he is always in continuous study of both technologies, programming languages, and development approaches, and, in addition, he studies the subject area .
Having a versatile set of knowledge, a person resorts to synthesis, as a result of which a certain generalized representation of the solution of a particular problem appears. As a rule, this synthesis is an unmediated act of intellectual activity (stupidly a person does not think much, and the solution pops up as if by itself). Although in fact it is the result of higher intellectual activity.
To go from "I can't do it" to "I did it" you need to study the experience of other people who have solved similar problems in the past and become familiar with what they studied - what books they read, what sciences comprehended, courses or studies at the university (college ). Formal learning should not be neglected, it lays the foundation from which to develop later.
Training helps to gain some experience in solving problems and form approaches to solving them.
After training, you should start working in your specialty, not sort out places, but go to any place and gain experience. Experience will help to form an idea of ​​the real state of affairs and how to correctly apply the acquired knowledge in practice. In general, the more you work, the more solutions you will have to create and the more complex problems you will be able to solve.
Do not try to immediately take on complex tasks, start with simple ones that you think you can solve. And work.
Everything comes gradually. It just needs movement. Learn, try to apply what you have learned. And so in a circle. And then you yourself will not notice how you progress.

P
Puma Thailand, 2018-10-01
@opium

Hell, developers don’t know if the chain is short, they ask the customer, if it’s long, then there are business analysts who could ask the customer thousands of times

X
xmoonlight, 2018-10-01
@xmoonlight

It is necessary to represent: how the whole process takes place step-by-step at the highest level of abstraction - in the form of steps or a flowchart.
This comes with time, with a gradual understanding of interaction technologies (the entire chain of events during code execution) and a tool for implementing the desired functionality - a programming language (+ libraries, etc.).
Trite, task: to register.
Immediately the question is: how does PHP know if I'm registered or not?
And from here - googling and reading the documentation begins. (i.e. gaining knowledge)
Then - coding (gaining experience).
Etc. for any given task.

D
Dimonchik, 2018-10-01
@dimonchik2013

you are lucky - now everyone knows from Google, before you had to know from books (yes, the Microsoft certificate is more valuable)
Google itself knows from British scientists
, and British scientists are also lucky - https://arxiv.org/ + Stackoverflo is also not without Internet live

A
Andrey Fedoseev, 2018-10-02
@itlen

There is a task, there are proven / common / popular design patterns. We take and apply. If the task is more or less non-standard, you look at what should be the result of the code, figure out what you need to get as input and how to convert it into output data or state. You start writing. When there is the first working code, this is a prototype, and there is already a plan/understanding in my head how to rewrite it more understandable/fast/scalable/reusable/safe/etc.
If you stick to theory and best practice for a long time, you can stagnate for a long time. Just do it, as they say.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question