Answer the question
In order to leave comments, you need to log in
How to improve your level of programming?
How to raise your level of programming and get away from the routine riveting of CRUDs?
Reading Habr, I feel some envy towards people who are engaged in really complex and interesting tasks. Neural networks, data analysis, smart caching and algorithms.
How do people come to this?
Universities, as a rule, are divorced from the realities in IT. A rare employer offers something more interesting than processing forms and simple (and, I do not argue, quite effective) caching.
What strategy would you recommend to move from modern, but monotonous programming, to development that borders on the latest achievements of science?
The question is a bit general, just express your opinion.
About me: a typical intermediate in programming (4 years in IT. PHP, node.js, Scala).
Answer the question
In order to leave comments, you need to log in
Push. Take an open source project with advanced technologies and start doing something in it. Experience will turn out, and there maybe something will become clear with the work.
How to change the way you work:
1) Get a job at a company that does this, maybe they will allow you to at least make tea and deliver cookies to developers there
2) Make your own successful software company, achieve fame and get an order to develop some complex system.
3) Just come up with some idea and try to implement it.
"Ingenious caching" - this is not, caching is nothing more than a crutch.
“Algorithms” - if you are interested in algorithms, solve olympiad problems, for example, on codeforces and read articles on sorting methods, finding a path on a graph, like there is some Western video course on Computer Science on the topic of algorithms.
Do not believe the comrade who wrote about game dev - Russian “game dev” has nothing to do with companies like Valve / id Software and is engaged in copy-pasting zombie farms, pulling models on purchased engines, miserable games for iPhones and other sometimes well-paid nonsense.
About freelancing - don’t believe it either, there are usually tasks of the “I need a plugin for my ecommerce site” level.
For me, really complex and important tasks are image recognition and orientation in space (not at the level of OpenCV and articles from Habr, but at the level of how living creatures recognize them), speech and music recognition, autopilot for a car, automation of natural resource extraction and services for urban infrastructure (like controlling traffic lights or monitoring light problems).
Options:
1. Go to work in a research institute. Many will take it without problems, and will teach. (there is reason to believe that it will be so)
2. Learn math, C ++ and go to GameDev. There will be a lot of fun from algorithms.
3. Go freelancing and choose more interesting tasks.
In any case, you will need to learn mathematics, algorithms, something more low-level.
You have to go to work in a company that does something really serious.
I agree with the two previous speakers - you need your own idea, which will be interesting to you and will attract you. I have never been a programmer, but during the time that I was engaged in my own projects, I began to understand programming much better, I learned a lot (although I realized that I still don’t know a lot and don’t know how :))).
You can “raise your level of programming” by reading books and talking to smart people…
wherever you are, whatever tasks you solve. Shit coders are not those people
who write routine and uninteresting tasks, but those who approach tasks
without having the desire and time to make their code better.
I did as some people here advise - I came up with ideas
that I would like to develop and saw slowly,
and the quality of the code is a thing to come.
The more you write, give it to someone for review, work not alone,
but in a team, the better and cleaner your code becomes.
I would suggest coming up with your own interesting project, which at first glance seems difficult for you, set yourself a big task ... create a new search engine, make your own Google map ... well, that's me for an example. It is not necessary that you actually create something grandiose, but in the process of its implementation you will learn something new for yourself, so you will move away from the routine and perhaps come up with and actually create something interesting.
The only way to get smarter is to play with a stronger opponent;
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question