Children's Day Against Bad Code

Children's Day Against Bad Code

The post is dedicated to Children's Day. Any match is not a match.

At the age of 10, I got my first computer and a disk with Visual Studio 6. Since then, I have been inventing tasks for myself - to automate things, to build some kind of web service for three people, or to write a game that will then be removed from the play store from old age. Of course, I lost the source code and wrote code that is embarrassing to show people. And at the age of 10, I would definitely not refuse to receive an archive from the future with all the jambs - so as to never allow them.

A couple of weeks ago, I asked colleagues from Yandex.Money what advice they would give to a child who wants to become an IT specialist, and then I remembered something about myself. This is how this text came about. I propose to talk about it.

I don’t recommend spending a lot of energy on the agony of choice, it’s better to try everything and do everything. When you understand what is what in general terms, you can decide for yourself in which direction you need to move, and which one is better to refuse.

Sergey, junior programmer

Detstvo

What is the most fun thing to do in a programmer's childhood, when there is no Internet yet?

I had two of them - to parse all the games from the “800 games in Russian” disk with all the programs from the “Everything a hacker needs” disk, and then rewrite all the games that I spent more than 10 hours on from scratch in BASIC. It doesn't matter what happens, even if it does.

Children's Day Against Bad Code

You take, try, rearrange the blocks in places, experiment and reach out to everything that you can reach. You take down Windows, 10 hours you put Windows back. Trying to get the drivers back. Understand how DOS works. You figure out how the jumpers should be in order for your hard to start up in a friend’s computer (there are 200 megabytes of new games!). You twist the software, twist the hardware, disassemble and assemble the computer. You've been writing football simulation for 13 years, after all.

When there is nothing, you become happy from this.

The importance of self-examination cannot be underestimated. In my opinion, newcomers to IT underestimate how strictly you have to control your product (and in analytics too) and how much time it takes compared to the purely creative part. And the more interesting what you do, the more difficult and longer the test will be.

This, of course, is somewhat abstract advice, but if I knew right away.

And I do not recommend focusing on one direction in IT. Here, too, perspective matters.

Anna, Senior Systems Analyst

high school

At some point, programming was discussed on a forum in the county town of P - and a thread appeared there with the heading "PHP programmers are looking for a large company." The ad text was:

В крупную компанию ищутся программисты PHP:

Для того, чтобы понять, стоит ли вам приходить на собеседование, выполните несложное задание: напишите программу на php, которая находит такие целые положительные числа x, y и z, чтобы x^5+y^5=z^5. (^ - степень).

Отвечать можете здесь.

Only a few people have unsubscribed in this thread - I was there too. With all my sixteen years of naivete, I replied:

Реально чет странное. Да и комп нужен неслабый, штоб ето найти...
Ибо от x,y,z <=1000 таких чисел нет-эт во первых (сел набросал в vb, большего ПОКА не дано), во вторых комп подсаживается намертво.

Не все равно чето нето, ИМХО.

Yes, a prank, a trap for beginners, yes, a padonkafsky one, so what. Obviously, I spent some time on a simple script, but I completely forgot about the existence of Fermat's theorem - which the author of the thread, the venerable The_Kid, clarified at the very end.

Итог печален - в П. практически нет людей, знающих математику, но каждый второй мнит себя мего программистом. За три часа, на все форумах на которых я разместил сообщение, было суммарно около двух сотен просмотров... и всего два правильных ответа. А теорема Ферма - это ведь школьная программа, и условия ее настолько просты, что должны бросаться в глаза. Кстати, параллельно при опросе в аське 6 из 6 знакомых новосибирских студентов ответили «Это же теорема Ферма».
И кого после этого брать на работу?

Then it caused me a storm of indignation in the spirit: “If I didn’t write about Fermat’s theorem, it doesn’t mean that I don’t know about it,” is a classic excuse. Am I sad now? No, this is also a lesson for life. Like when my game was featured on the Indonesian Windows Phone Store and removed two weeks later because I didn't update some EULA.

And it’s completely incomprehensible: if there is no one to hire in one large company, then who should you be? What to do? Where to grow?

You should not think that, having received an education, you will be a programmer / taxi driver / mathematician or someone else.

The times have come when basic subjects (mathematics, physics, computer science, philosophy) become much more important in the diploma, and not applied ones (programming, design in specific areas, etc.). Higher education began to be divided into layers - basic (engineering) and applied. You should not learn specific skills, but thinking, scientific approach, understanding how to solve problems, soft skills.

This is about the university. A person will still have the rest of his life for applied skills.

Oleg, Leading Systems Analyst

University

You write code in "pros", you write code in Java. You touch the assembler, take your hand away, get into Qt and think why they do this to you. By the fourth course, everyone doesn’t care what you write the next important labs on - teachers look at the code somehow.

Of course, this is not the case everywhere - there are universities where it is powerful and good, but they take guys who solved problems from ACM at school, squeezed everything out of graph theory in extra classes and crammed how much memory all the algorithms in the world require for everything in the world .

I didn’t decide, I didn’t go to special stages, but I just completed my studies in my math class, doing interesting things along the way. Spoiler - no one will need them at interviews.

First, it is better to decide what you like from IT. If you like all directions, it will be difficult. Learn some language will not lead to anything, there will only be confusion in the future.

Jan, specialist in fin. monitoring

The real story is that for a Windows simulator made with a friend on your knee in grade 10, at the university you can get a couple of exams and tests automatically. You can even tell everyone later how great it was. The problem is that it wasn't cool - it was a confusing architecture, ugly code, and a complete lack of any standards for anything.

Such things need to be done for one purpose - to have your own rake catalog. Although this will not save you from the impostor syndrome, when you find yourself in a big company with some superficial knowledge of everything and you think that you will be exposed now.

Children's Day Against Bad Code

I will support, it is more important to help with advice on what can be done and where to get information, and not vice versa. And it’s not at all scary if at first he will do something by touch, realization will come later. It's important to like it.

Eric, Test Engineer

We all write development plans - what to learn, what to do in the near future and how to improve ourselves. But it seems that it would be useful for all of us to write a letter to ourselves from the past - here is mine.

  1. Take your time, find a book and install the Ubuntu distribution that was sent to you for free from Canonical. There is clearly some simple problem, Ubuntu starts up everywhere. And Linux will be very useful to you.
  2. Don't be afraid of the console. Volkov Commander, of course, fits on one floppy disk, but try to figure out why you need all these commands, make friends with the command line. And floppy disks will die. Disks will die. Flash drives will also die. Don't worry too much.
  3. Read about algorithms, understand sorts, trees, and heaps. Read books.
  4. To understand the basics, paid courses are not needed. Youtube will appear soon - you will be surprised.
  5. Don't focus on BASIC. There are a hundred technologies in the world that are worth your attention, and a million things that are more interesting than drawing user forms in Excel once again. Take at least Python - and then you'll figure it out.
  6. Learn to use the Git, back up all the sources. Write at least one client-server application to understand how they work. Understand networks, switches and routers.
  7. And if you're reading this now, it's not in vain.

Tell us in the comments what would you write to yourself from the past? Give some advice to today's schoolchildren and students who are still at a crossroads and are trying to find their way. Let's talk about it.

Source: habr.com

Add a comment