Answer the question
In order to leave comments, you need to log in
How do you deal with dumb programming?
I am engaged in amateur development, but there is a wild desire to work. I have already had such a moment a thousand times that in some task I start to get stupid, and I can’t find the answer on the network. I just give up what I started to do, and immediately come back with a new idea, and so on in a circle. Initially, I tried to freelance on the web, but the problem described above haunts me, now I got into an adventure from inexperienced people who decided to make a game for themselves. And I'm afraid that now it will be a total disappointment not only for me alone xD
I think I'm not the only one who had a similar problem, so I ask: how did you break this damn vicious circle?
Answer the question
In order to leave comments, you need to log in
From experience, these dead ends are mostly due to a lack of knowledge.
Therefore, they need to be solved through knowledge: you need to read books and articles on the topic, hang out on special forums and chats.
This is the only way to get those pieces of information that are not enough to solve the problem.
Perhaps most of what you read/hear will not be used, but one day, when the appropriate task arises, these pieces pop up in memory and are built into the big picture.
Experience is needed, but you can't get it from the inexperienced. Adventures with beginners do not give much, because. only the worst is adopted, crutches. You need to focus on more experienced comrades.
A good option is open projects on github, at least you can see how people solve certain problems, learn some tricks, chat in the comments with those who are in the subject, as a maximum - you can join the development, grab a bunch of angry comments in the style of "what for shitcode?", but at the same time get a kick in the right direction faster, anywhere.
And remember: you can stagnate and walk in circles for a long time. The chances that this will lead to success are minimal.
So something must be done to develop.
You can take online courses for a year. This will give you a good level.
Or, if you are a lazy ass, go to the galley as an intern - there in six months you will be forced to level up to a good level.
Freelancing without experience is the worst decision, because. you work alone, there is no one to focus on, no one checks what you do, as long as it works, as a result you write terrible code in your own style, and you don’t get any self-development.
There are many such unfortunate freelancers on the market, many have been working in this style for years.
You meet someone like that, the experience is huge, but when you look at the code - it is worse than that of a beginner from the courses, it's just a game.
The sensations are indescribable: when you see it in real life, it simply does not fit in your head how this is possible.
Apparently you are not very interested in just programming itself, so you don’t want to strain yourself.
I want everything to work right away, but you don’t need to do, dig, make efforts, think, and so on.
With such an approach - no way, you will always be stupid.
Maybe programming is just not for you. When the stubbornness "I want to do this, even if the result is not fucking necessary" appears, then you can assume that perhaps this is not so.
First - architecture,
then - coding.
On the contrary, it leads to a dead end.
Everything is very simple. Do something radically different and find a solution to your problem in minutes.
Standing in the shower - think. Riding a bike, walking in the park, doing unimaginable tricks on roller skates - think. When faced with dilemmas that are driven by design decisions, think. Thinking is much more useful than watching TV or surfing the Web aimlessly - even though there are 500 channels, nothing really happens on them, and the fact that they seem to relieve a person of the need to think is absolutely not healthy. Think hard, to the point of exhaustion, and when there is no strength left, start again. The result will surprise you.
(c) J. Hunk Rainwater. How to herd cats
no way. there's no such thing. my trouble is perfectionism:
- I tear to the last (when no one needs it for a long time)
- or I can complex because of doubts (I don’t even start, although then it turns out that I could easily)
.. the solutions are always the same - like that deceive yourself, or in fact come to terms with the loss of some kind of situation,
do not look for miracles. They are not here. but they say that there are good psychotherapists... ;))
Be sure to read Poincare 's article on this topic, everything is beautifully described there.
In short, everything is as it should be.
If the head starts to get dull, Nootropil works great (in my case), cheaper variations of piracetam give a much smaller effect. You can also try tea + coffee (L-theanine + caffeine), sugar, just food. But all stimulants still need to be taken correctly (in conjunction, in courses), although one-time tricks work too.
More here and on the channel.
M-yes, you should be a blogger) I got a lot of subscribers with one question))))))) I have not seen so many answers on this forum haha.
Well, I'll give something from myself. It's been written right here. First you need to design on paper for example. From the big to the private. But sometimes this does not help either, all sorts of different things pop up when you are already writing the code, since it is very difficult to see the whole picture on paper. I have a stupor. Of course, after this, I constantly think about this problem, no matter what I do, and often at some point bam and the problem seems to be resolved, but sometimes it doesn’t, then I try to enter from a different angle. You just need to understand that there are a lot of solutions to the same problem, and maybe you turned the wrong way, I throw away all thoughts and try to solve the problem in a different way. This most often comes from inexperience. If this also does not help, then you need to pull up knowledge. But the constant change of tasks will not lead to anything, here you need to have a sense of self-esteem, it crashes for me if I quit what I can’t do and take on a new task. And it's eating me up inside. Therefore, I suffer but decide what recently seemed unsolvable. Sometimes I delete everything under a clean one like crumple a notebook and throw it in the trash) I take a new one and fuck it again). In general, this is labor intensive work. And when you see what the designers do in seconds, then a tear wells up a little ((
There is a book, think like an engineer.
Just about the topic, I recommend.
When something doesn’t work out right away for me, and this happens from time to time, despite 25+ years of experience in the industry, this means that I either underestimated something, or one of the two. Well, in general, for me personally, this causes wild excitement like "How come, I didn’t succeed myself ??? Oh, no. Come here!"
I learned a long time ago that there is always a way out. If you don’t see it, it means that you didn’t look carefully and methodically enough. You connect the method of exceptions and figachish from here to victory.
In general, I notice that young developers often have a discrepancy between the image in their heads and objective reality. Those. they think something to themselves there, and sincerely believe that they are doing one thing, but, in fact, they are doing something completely different, but they do not notice point-blank. Those. the level of self-criticism is insufficient.
Again, I personally learned a long time ago that if a piece of iron does garbage, then only I am to blame, or the piece of iron has physically broken down. Well, when you don’t have schizoid urges like, “I did everything right, why doesn’t it work?”, and you clearly say to yourself, “I screwed up somewhere, I need to find where and fix it,” then, in in general, who is tuned in to what, and moves there.
Summarizing the above - always look for the guilty only in yourself and work until the result, literally becoming furious from failures and obstacles, and channeling these emotions into increased focus, concentration and perseverance.
Oh yes, if the RAM is not pumped and the discipline of thinking is lame, namely, you cannot take into account dozens of nuances, factors, features and other miracles, keep focus on one goal for an infinitely long time, methodically move forward no matter what, it will be difficult, long and painful and the result will be so-so...
Any successful developer is still a Jedi. :)
It is difficult to answer the question without knowing specifically the things that baffle you. There can be many reasons, for example, the lack of fundamental knowledge in the area where the dead end met. Give some examples.
There is no way to deal directly with the source of the problem.
There are two options.
Or you work, for example, at home and have the opportunity to be distracted from the task - in this case, when you change activities, there is a very high probability of finding a solution, but the home environment means that the new activity is addictive, self-discipline suffers, the solution found is quickly lost and the task remains unresolved.
Or you work in an office, with the boss in the same office. In this case, you arrive at 9 am, stare at the monitor and try to solve the problem before the end of the working day. If today is "not good", the head does not boil, you want to sleep and all that, then the day will be ineffective and the solution will be found no earlier than tomorrow. But it will be found, the only question is time.
Over the years, with experience, these stupid people tend to zero, because with the growth of professionalism, the hand is stuffed and there are less and less unfamiliar tasks. But in this case, another problem appears - the work becomes routine and causes a feeling of unbearable longing.
Fairly vague description.
If the problem is that you can’t reach some algorithms yourself. That lacks experience. Try solving problems on www.codewars.com. Here, after the decision, the best solutions are shown, you can learn a little.
If you can’t implement more global ideas, for example, you think how can I make a cool game so that there are a thousand planets and cool AI that will master them on its own, etc., but at the same time you don’t understand game development at all, then you need to raise knowledge in this specialty.
In general, pure programming is not used anywhere. Those. knowing one language is not enough. You always need to know the direction and the frameworks/libraries for it. You need to choose, for example, the backend, and the laravel framework. Or frontend, react. They usually work in this way. If you learn one naked php or js, then no one will take you to work as a programmer, because. this is not enough. You need to know the whole stack of technologies for this direction. It's better to look at the stack for your language / direction in the vacancies on hh, learn them and maybe half of the solutions that I could not find will immediately come to mind.
Find a paid mentor for 21 days with a price that significantly affects your wallet.
It usually helps to find a solution when you think about a problem all day long with breaks for something else, read various trusted sources, create a model in your head, then at night, it happens, the brain processes the information, puts its fragments on the shelves and in the morning it may pop up something useful, some solution)
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question