Answer the question
In order to leave comments, you need to log in
What should a professional programmer know without taking into account the peculiarities of specific programming languages?
Except:
1. English.
2. Basic algorithms and data structures.
3. Design patterns.
4. Databases.
5. Version control systems.
6. Basic libraries, frameworks.
7. Security
Answer the question
In order to leave comments, you need to log in
Do not forget about soft skills:
- the ability to formulate your thoughts and convey them in human language;
- requirements gathering skills;
- initial negotiation skills to convey to the customer/manager why it is worth doing this way and not otherwise;
- Ideally, you should be able to delegate routine tasks to junior colleagues.
Without these skills, even the most brilliant developer is unlikely to advance beyond the middle level.
1. You must be able to think.
2. Have a desire and interest in the business.
Everything! The rest of the points will flow out of these two.
I'm not sure that for the average:
- a front-end developer needs patterns, algorithms and structures
- For a 1C nickname - English
- for an embedder - databases and frameworks
If you are talking about the web, then specify it. And then, unfortunately, today it is also necessary to clarify - the server, mobile, cross-platform frontend, etc. etc.
UPD : well, open the concept of "professional".
The question is put too broadly, it is impossible to give a sane answer to it.
- You can be a "star" without having particularly strong knowledge in general, but develop a world-famous library and be famous
- You can know your subject area from cover to cover and be a very valuable specialist in narrow circles
- You can know a little bit of everything and be an important link in the overall technological process at different stages of development of various projects.
What kind of knowledge to possess is a matter of what you have encountered in your direct activities. Of course, you need to know everything, but life is short, and tasks need to be solved real and already yesterday.
Another thing is how you manage the existing knowledge and, most importantly, those that do not yet exist (a la Umberto Eco Antilibrary) and how quickly you adapt to new tasks
Often, such a question is answered "Learn protocols and data structures", but this is also a strongly general answer (although, of course, like the question).
Ability to understand these strange managers/customers/clients.
In the article What does an "abstract developer" consist of? I formulated a classification of programmer knowledge. I think this is what you are asking about.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question