The first thing you need to understand is that site is different from site to site. If we compare website development with construction, then there are “gazebo” and “hut” sites, and there are “skyscrapers” or large “shopping centers”. The more complex the site, the more expensive it can cost an amateur who can easily cope with simple tasks for small sites.

We will talk about the requirements for a single programmer responsible for a small online store (30-3000 product cards, 1-10 orders per day). This specialist must be a generalist, that is, equally familiar with both the backend (server-side development) and the frontend (development on the user’s browser side).

1. Minimum requirements

If the online store already has a website, then the candidate’s resume should contain all or almost all of the technologies that are used on the site. You can check the list with the developer.

If a company is going to develop a website from scratch, then the programmer must know:

  • one of the common languages: PHP/Python/Ruby/C#;
  • one of the DBMS: MySQL/PostrgreSQL/MSSQL/Oracle/MongoDB;
  • one of the common content management systems (CMS): Bitrix, UMI, Drupal, ShoppingCart, WordPress;
  • have the skills to administer Linux and web servers, for example, one of Nginx/Apache/IIS or have experience in hosting web servers in the cloud platforms AWS, Google Cloud, Azure.

The lack of these skills does not mean that he is an amateur. He's just not right for you.

2. Correspondence acquaintance

Signs of a weak programmer can be identified even before the interview using a resume by examining the portfolio. If the programmer has indicated his works (websites), then you should open them in Google Chrome, go to the “Additional tools” section of the browser menu, select “Developer tools” and open the “Console” tab.

Then go on a “journey” through the site as an ordinary visitor: open several pages, try asking a question through the feedback form or filling the order basket. If errors appear in the console, they are automatically highlighted in red, this is a bad sign. It may not be the fault of a particular developer if he worked in a team, but this does not look good on the team as a whole.

The absence of a portfolio or refusal to demonstrate one is a sure sign of an inexperienced developer.

3. We swam, we don’t know

Naturally, practical work experience is of great importance. If during an interview, in response to questions about past developments, the candidate “floats” and cannot explain his own actions, you should be wary.

For example, a programmer talks about developing a system using MySQL, but cannot name alternative technologies and the reason why he chose this one. At the same time, even the option: “I just know her better” is suitable as a “correct” answer.

A competent specialist will be able to talk in detail about his developments and explain why he used specific technologies.

How to check: ask the programmer questions about the details of past projects and ask why development was carried out the way they were. If the candidate cannot answer clearly, there is a chance that he is taking credit for the work of the team or other colleagues. At the same time, the site owner does not need to understand the intricacies of programming; it is enough to ask clarifying questions.

4. Bird tongue

Another important point is the candidate’s ability to speak “human” language. A good specialist will be able to explain his work in simple words. But if the applicant speaks exclusively in terms, it will be difficult for him to interact with colleagues and the owner of the company.

How to check: ask him to tell about some mistake for which he was reprimanded by management. For example, the “feedback” form on the site did not work for 2 weeks. Imagine this is your website.

Clarify what the error was, how he found out about it, how he found the cause and eliminated the error. If the applicant talks in “abstruse terms”, ask for clarification. If you are still not satisfied with the explanation, it will be difficult to work with it.

5. "OpenSource"

Many experts publish their own developments on GitHub (or BitBucket). If a programmer has several public projects and, moreover, they have been marked or copied (fork) by other users, this is a significant plus. A large number of copies indicates a high level of professionalism.

A programmer of the level of Dan Abramov will be looking for a large company, level (he works there now), but if your candidate has projects with non-zero marks and the “green area” is also filled, great! Feel free to call him for an interview.

How to check: ask the applicant to send a link to his GitHub (BitBucket) account and list the projects he is proud of. Pay attention to the “age of the account”, the number of projects and the number of code copies by other users.

6. Old luggage

A competent specialist must monitor the emergence of new tools and technologies. It’s one thing if a programmer is forced to work with a site written in an outdated language, but another thing when he uses an overly conservative approach.

Modern tools can significantly reduce development time. By the way, chasing and unreasonably introducing everything new is also bad.

How to check: Ask what tools or technologies the candidate has learned in the last year or two and how they have helped him in his work.

7. Prices through the roof

Naturally, the work of a good programmer is not cheap, but there is no need to rush to outsource development to the most expensive specialist on the market. If a candidate immediately announces the cost of developing an entire website, without clarifying the requirements for it, this is strange, to say the least.

For simple tasks like “changing the color of a button” or “creating a sitemap,” you should expect quick answers – “it’ll take 5 minutes” or “I can do it in 2 hours,” respectively.

In addition, you can get estimates of cost and execution time from several specialists and compare them. If a five-minute task takes a programmer an hour, most likely he is unprofessional or is simply stalling for time to earn more.

How to check: ask the candidate how long it will take him to change the color of the “Buy” button in the online store and make a site map.

8. Handmade

There is a joke that a good programmer is a lazy programmer, but there is some truth in it. Competent specialists write code in such a way as to minimize not only the efforts of those who then work with the program, but also their own. They try to use someone else's ready-made code (OpenSource) and there is nothing wrong with that.

If a programmer does not know how to optimize his own work, he will spend a lot of time and the employer’s money on the same type of tasks.

How to check: clarify how the programmer approaches creating code, ask for an example. It’s good if initially he looks for a ready-made solution, and if there is none, he writes the code himself. You can, for example, ask a programmer how he will develop a calendar that may be needed on an order form to select a delivery date. A good answer is to find an off-the-shelf component.

9. Extra Twins

Duplicate code is a sure sign of an inexperienced programmer.

Let’s take, for example, the “feedback” form on the contact page, which needs to be placed in the catalog and on product cards. If a developer simply copies part of the code and pastes it into the required pages, the professionalism of the specialist leaves much to be desired. Because when you need to make adjustments to the feedback form, at best you will have to do triple the work, and at worst, the programmer will forget to change one of the codes.

An experienced specialist will write a function that will load the “feedback” form on different pages from one source. Thus, if it is necessary to adjust the code, the changes will automatically appear on all pages of the site where it is provided.

How to check: ask the candidate if he duplicates the code. It’s not an amateur who will say “yes, it happens,” but will explain this by the irrational expenditure of time on getting rid of duplicates. If the answer is no, then the programmer is lying, didn't write much, or is a perfectionist - any of these explanations are a bad option.

10. Cut to the quick

In a good way, the programmer should make a copy of the site, test the changes on it, and only after checking the changes transfer them to the main resource.

How to check: Ask the candidate how he updated the website at his previous job.

11. Trusts, but does not verify

Any changes to the site must be tested. In large businesses, the problem is solved by testers, but in medium and small companies it falls on the shoulders of the developer.

Without checking the functionality of the site after changes, many errors may arise that users will find. Problems will drive away potential customers, which will negatively impact the company's profits.

It is important that the programmer checks not only the functionality of the site, but also tests it for errors that users may make. So, when developing a feedback form, you need to check not only its correct submission, but also the site’s response if the fields are filled in incorrectly. For example, check that if a phone number is accidentally entered into the “Email” field, an error message is displayed to the user.

How to check: If you have doubts about the programmer, test the site yourself. Let’s say, after integrating the site with payment systems, try to pay for the order, for example, through Yandex.Money. Everything should go smoothly.

12. Smile and wave


The current pace of making changes to the site does not allow us to eliminate all errors; it is very expensive and slow. Therefore, a competent developer sets up a monitoring system and finds out about problems before users inform him.

It’s bad if the programmer takes a long time to fix problems or ignores them. A good specialist understands his code and, if problems arise, can quickly determine the cause and fix it.

How to check: ask the programmer to tell you how he learned about errors in previous projects.

Yandex claims that Alice is the world's first voice assistant that is not limited to a set of preset answers: you can talk to her like a person, and she will understand.

Business FM decided to get to know “Alice” better:

- Alice, hello.

- Hello!

- How are you doing?

— I came across a nice app here, but it’s personal.

-Who gave you that name?

- What kind of doctor?

— Pediatrician.

- Alice, what do you look like?

- The best way.

- How about more details?

— An endless row of mathematicians enters the bar. The first one orders one glass of beer, the second - half a glass of beer, the third - a quarter of a glass of beer, the fourth - one eighth. The bartender pours two glasses for the mathematicians and says: guys, here is your beer, there is a limit to everything. End. You know, it seems to me that the programmers selected these jokes for me.

- You know, Alice, it seems to me that you are avoiding the answer.

- No, I checked.

- By the way, before I forget. Alice, can you wake me up tomorrow?

- I can’t do it tomorrow.

- Alice, I really need you to wake me up tomorrow.

- Ha, I'll wake you up.

- At what time?

— The programmer Alexey promised to program it by the fall, but did not say which one.

“I’ll finally get some sleep.”

“Then we’ll sleep.”

- Alice, do you know funny stories?

- “What is your main weakness?” “I correctly interpret the semantics of the question, but completely ignore its essence.” - “Could you give an example?” - "Could".

- Alice, this is very funny. Do you like sweets?

— I think I would love to cook. At least I definitely love finding recipes.

- Alice, what do you love most in life?

— I like large buckwheat with chanterelles, sandwiches with smoked sausage. Joke. I like people. And learn.

- Alice, do you listen to the radio?

— Usually I just listen to my personal selection on Yandex.Music, but if not, Queen, of course.

— Do you listen to Business FM?

- Of course, I’m listening.

- Siri, can you sing us a song? Oh, what Siri?!

- What a subtle joke. Sarcasm.

- Alice, I'm sorry. Can you recite a poem?

— I remember a wonderful moment, the update was installed.

- Alice, do you like cats?

— I don’t like cockroaches. And so - yes.

- Alice, who do you love most?

— I like one Russian actor who cannot be named. And you.

Previously, with a beta version of the Alice service, when I visited the Yandex office on the day of the company’s 20th anniversary.

Probably every person knows what Tetris is, since it is a game that more than one generation has spent hours playing. But, unfortunately, the person who invented this game did not achieve popularity. And few people know who is the inventor of this game. It turns out that Alexey Pajitnov is the man who invented Tetris, our compatriot. He was born on March 14, 1956 in Moscow.

Alexey Pajitnov: biography

At school, Alexey studied as usual and did not stand out among his peers. But, as he recalls, his diary was always full of comments from teachers.

Alexey Leonidovich graduated from a mathematical school, and later from an aviation institute. After graduating from the institute, Pajitnov got a job at a computer center, where he invented the legendary game in 1984. In 1991, Alexey moved to the USA. He has many works and awards to his name.

Making Tetris

In 1984, young scientists sat in laboratories for hours with nothing to do. So Alexey Leonidovich Pajitnov was one of these people. During these years, he studied problems related to human speech recognition and intelligence. To overcome them, it was necessary to solve puzzles and difficult tasks. And then Alexey decides to create a puzzle that will be interesting to both children and adults.

What made Alexey Pajitnov famous? Initially, he created a computer game where the figures had to change their position under the gravity of other objects. But computers did not have great capabilities, and therefore the game had to be simplified. His figures consisted of five identical squares, but people did not really appreciate his efforts, and then he decided to create something simpler. Seven different figures were developed for Tetris. This number was not chosen by chance; it is this number that a person’s memory is capable of remembering. The game was compiled using the Pascal language.

What made Alexey Pajitnov famous throughout the world? He creates Tetris, in which pieces from four squares fall down. By the way, few people know why Tetris is called that way. In fact, when translated, the word “tetra” means four. Although this game was originally called tetromino, people themselves renamed it in order to simplify pronunciation.

As the creator of the great game himself says, he created it to bring pleasure to people. Alexey believes that absolutely all games that later became famous throughout the world should be created for this purpose.

After Alexei created Tetris, the fame of the new toy spread to many cities, and two weeks later everyone was playing it, competing with each other. Although the first week only the employees of the company where Alexey worked were busy having fun. Two months after the first Tetris model was released, Pajitnov and his colleague created a color version of the game. The advantage of the new game is that it included a table of records. Tetris was played not only in Russia, but also abroad, the game gained popularity.

It is worth noting that the official creators of the game were the Academy of Sciences, where Pajitnov worked at that time. That is why Pajitnov could not receive income from his invention for a long time. After all, the game was created during work hours and on a work computer, which is why the rights did not belong to Alexey.

Game rights

Many people wanted to buy the rights to the Tetris game from Alexey. The first was Robert Stein, with whom Soviet entrepreneurs who wanted to make big money from Pajitnov’s invention wanted to collaborate in the future. Although Pajitnov did not sign any documents or contracts with them. Many Americans even created their own versions of Tetris, which were no less popular.

Hungarian Stein later resold the rights to the game to Microsoft. In 1989, American-style Tetris was created. Since then, the games have sold over 70 million copies and over 100 million downloads on mobile devices. A little later, gaming and arcade machines with the game Tetris began to be created.

Creation of the Tetris company

Despite the fact that Alexey Pajitnov is not such a famous person, everything worked out perfectly in his life, since the inventor worked a lot. He managed to organize the company Anima Tek, which was offered cooperation by Microsoft. And having already moved to the USA, he organized a company called Tetris, and only then did he start making money on the game created many years ago. And since 1996, Alexey Pajitnov has officially worked for Microsoft. All products produced by Alexey bear a note that he is considered the creator of the legendary game.

Film about the creation of Tetris

Recently, information leaked to the press that they are planning to make a film in America so that all people can know who created the game, which more than one generation spent a lot of time playing. The directors of this film, naturally, will be Americans. The exact release date of the film is not yet known.

The plot of the film will be not only the personality of Alexey Pajitnov, but also Tetris itself. The plot will be science fiction. According to the directors, the film promises to be no less popular than the game itself.

Tetris today

Despite the fact that today it is very well developed, there are still people who play Tetris. In addition, every game console has a similar game. Today, many games have been developed that are similar to Tetris. You can play with a group or alone. By the way, this game develops erudition and other abilities in a child.

The life of Alexey Pajitnov today

Despite the fact that Alexey lives in the USA, he never thought about emigrating; it happened by accident. And Pajitnov could not refuse such a gift from fate. Today Alexey is an employee of a well-known company in the world. He has released several games, mostly puzzles, which are in demand. It releases applications on various consoles, but mainly on PCs. The Tetris game is very popular, and probably no other game will be able to achieve such popularity. Alexey Leonidovich admits that his wife does not play with any toys, but the children enjoy playing the games that their father creates, and he is proud of it.

Alexey Pajitnov himself plays not only his own games - every time he goes shopping, he always buys some kind of puzzle for himself. He sees his inspiration in games. Pajitnov still plays Tetris, but does not consider himself the best player. Alexey still has time to grow and become the schoolchildren who show the best results in this game.

Who knows, maybe Alexey Leonidovich will release another game that will become no less popular than the legendary Tetris.

Alexey Pajitnov is a Soviet and Russian programmer who created a popular video game called Tetris, winner of several honorary awards in the field of programming and computer game development. After receiving higher education at the Moscow Aviation Institute, he worked at the Computing Center of the USSR Academy of Sciences, where in 1984 he completed the development of the Tetris game. The game began to bring in its first money in 1996, when Alexey and Henk Rogers (an investor who owned large shares in Tetris and spread the game around the world) founded the Tetris company.

Alexey Pajitnov - biography

Born on March 14, 1956 in Moscow. During his school years he studied well, but had constant problems with discipline. As Alexey himself recalls, as a child he was full of energy and could not obediently sit through lessons, so he often received comments in his diary for his behavior. However, nothing remarkable or surprising: many have gone through this. Pajitnov always did well in mathematics, so after finishing the fifth grade he transferred to Moscow Mathematical School No. 91, which he later graduated with honors.

Introduction to Programming

After graduating from school, Alexey Pajitnov entered the Moscow Aviation Institute, where he first became acquainted with computers and programming. Here he quickly became interested in program development and began to devote himself entirely to writing code for various purposes. Soon, the talented young programmer was invited to work at the Moscow Computing Center of the USSR Academy of Sciences. Here he was engaged in far from the last thing - optimizing the problems of artificial intelligence and developing programs for speech recognition.

Routine everyday life at the Academy of Sciences was not sweet: from morning to night, Pajitnov sat in a cramped office, where there were several scientists at one desk. Alexey recalls that he sometimes left his workplace for the whole day, so that he could then work at night in silence, when everyone had gone home.

Career after the creation of "Tetris"

In 1984, Alexey Leonidovich Pajitnov created the legendary game “Tetris”, which became almost the most popular in the world. In the information technology society, Pajitnov is becoming recognizable and popular. In 1988, in collaboration with Bullet-Proof Software, he founded the company AnimaTek, which develops games. The corporation flourished exponentially, and already in 1991, the inventor of Tetris, Alexey Pajitnov, moved to the USA.

The creation of Tetris - how was it?

In the 1980s, at the Computing Center of the USSR Academy of Sciences, young scientists spent days on end in their laboratories, solving boring and non-trivial problems. One of these was Alexey Leonidovich Pajitnov, who at that time was developing a speech recognition program and also studied the problems of artificial intelligence. The responsibilities assigned to the young programmer were incredibly difficult; Alexey constantly had to create extremely complex algorithms that were beyond the capabilities of the average mind.

With a large knowledge base at his disposal, Pajitnov decides to create an interesting puzzle that will attract both adults and children. “Tetris” is far from the first invention of the talented programmer. Initially, he created a game where the figures had to change their location under the influence of the gravity of other objects. Approaching the completion of writing the code, Alexey realized that such a game would be too much for the processor of an ordinary computer, so he had to simplify some of the intricacies of the program.

As a result, he creates a game where the pieces (like in Tetris) consist of five squares, the goal of which is identical to the future Tetris game. Unfortunately, the public did not like such a creation, so Pajitnov decides to further simplify the game, where each of the 7 existing figures consists of four squares.

Only seven figures, and world fame is in your pocket

Have you ever wondered why the game Tetris has such a name? And why are there only seven figures in it? The thing is that the game was originally called “Tetramino”, where “tetra” translated from Greek means the number “four”. With the increase in popularity, the users of this game themselves gave it a simplified name for easier pronunciation.

In one of his interviews, Alexey Pajitnov explained why there are only 7 pieces in the game:

“The game involves only seven figures, and this is actually luck, because the number 7 is the size of the RAM of the human brain, that is, what a person can remember. A 7-digit phone number is much easier to remember than an eight-digit number. A team of seven people is the maximum that can do without a boss or foreman. In a group of eight or more people, where there is no leader, it is impossible to work harmoniously and in a structured manner. In such a team, constant disagreements and contradictions will arise, regardless of whether you are friends, comrades, or just acquaintances. I draw these conclusions based on personal experience.”

Motives for creating Tetris

The Tetris game was created so that people would have fun and be able to relax from routine and everyday responsibilities. Pajitnov always said that the best alternative for relieving stress, besides sports, is computer games.

Video Game Lightning Glory

After completing the writing of the Tetris game, for the first couple of weeks the employees of the USSR Academy of Sciences, where Pajitnov worked, were captivated by it. When the game became available to everyone, the fame of the entertainment product spread throughout all cities in a matter of days. Within a couple of months, the whole world was playing Tetris. At this moment, Alexey Pajitnov, together with his colleagues, decides to create a new version of the game, where the figures will be multi-colored, and statistics on records will also be kept so that people can compete with each other.

While the whole world was enjoying the game, Alexey continued to live an ordinary life for many years and work at the Computing Center of the USSR Academy of Sciences. The fact is that he did not have the opportunity to monetize the game, because the rights belonged to the Academy of Sciences. This was explained by the fact that the game was written during working hours on a work computer.

Alexey Pajitnov: the state of the creator of the game "Tetris"

As you know, in 1996, Pajitnov began working for Microsoft, where he developed a series of puzzle games called Pandora’s Box. He worked here until 2005 and during this time managed to acquire several large shares from this company, which to this day bring him a certain percentage. Alexey himself does not consider himself a millionaire. In one of his interviews, he said the following: “A millionaire is one who spends millions, but not one who has a million. I live a fairly modest life and don’t throw money around left and right, so I would never call myself a millionaire.”

Computer addiction - the fault of developers or users?

In the modern world, many people get too involved in video games, thereby creating problems for themselves in everyday life. They become psychologically attached to computer games and the Internet and can devote their time to sitting in front of the computer for days on end. The age of information technology has significantly changed people's consciousness. Pajitnov was once asked how he could comment on this situation, to which he replied:

“People often tell me that I stole a lot of their time when they find out that I am the creator of Tetris. I always ask them: “Was this time good or bad for you?” They all unanimously answer that it’s good. So that means I gave this time, and didn’t steal it.”

Unlike many of my colleagues, I was not born a programmer. I was born a musician. I didn’t learn to program at university and until a certain time I didn’t even intend to connect my life with IT.

But I have always been attracted to Moscow, with its wide sidewalks, long embankments and huge parks. But once there, you feel the need for money more than in any other city in our amazing homeland. At that time, my older brother rented an apartment with two programmers working in some bank. So, in one of the kitchen conversations, I plunged into the world of Python for the first time. From that moment on, a lot of time passed before I got my first job as a Python developer.

First steps in programming

So, once I was in Moscow, I had to look for a job, since I couldn’t live as a guest for a long time. At that time, my skills were only enough to get a job in technical support of one large and immoral company. I accepted requests by phone and walked back and forth along the long corridors of the building to connect mice to system units, which in turn flew out of their sockets for all office employees.

It was there, realizing the absurdity of what was happening, that I wrote my first program. In my free time from routine, I studied the capabilities of the language and wrote scripts for system administration. Senior administrators quickly noticed this and began to give me tasks to write this or that program, and I was surprised to discover that even with my minimal experience, I was a better programmer than they were and could be useful to them in this.

First job

Surprisingly, I have never worked as a junior. I went straight to middle. But I tried to get a job as a junior developer. I remember that interview well.

Two well-educated programmers (amusingly, they were husband and wife) tested my knowledge and thinking for two whole hours, after which they concluded that I clearly did not have enough knowledge, but they did not refuse me, but gave me a list of references and sent me to complete my studies. Two weeks later, I returned for an interview and demonstrated fantastic learning ability, answering many questions that I could not answer before. The next day they called me and said that I had been accepted. They quoted me a salary that wouldn’t even be enough for me to pay rent and food, not to mention any luxuries. I immediately refused and never regretted it, as I got a job as a system administrator in a world-famous company, where I continued my self-training as a programmer. From this story I learned one important point - nothing guides and pushes as well as an interview!

What's next

At some point, tired of office life and working as an administrator, I saved up some money and went to travel to India for six months. Oh, if I could describe what those six months were like, a book would not be enough, let alone this article. When I returned, I already knew that I would try again to get a job as a programmer, and this time luck smiled on me, and I was much better prepared for this. Over six months of traveling, I improved my spoken English very, very well, which now helps me every day in communicating with colleagues. Getting into a language environment turned out to be much more effective than any textbooks (by the way, the same can be said about programming). But it’s better to jump there by already understanding the basics, otherwise you will use the conditions in which you can become advanced to learn the basics.

So here it is. At my first job as a programmer, I was the only backend developer in the company! You can't imagine anything worse! Well, I got what I wanted. But at my second job, I found myself in a wonderful team where real professionals with extensive experience worked. Thanks to them, I acquired a code culture and learned about high standards in development. Misha Korsakov and Andrey Belyak - respect and respect!

Now

And now I work remotely for an international company and this has its advantages! Just don’t think that I’m now lying on the beach with a laptop and enjoying life to the fullest. I still work a lot and get tired a lot, but I don’t need to go to the office. I live in St. Petersburg, sometimes I travel. I managed to live in Portugal, Italy, and Georgia, but I can’t say that I had any special holiday there. Organizing travel comes with a lot of extra complications, and when combined with work, it can be twice as hard as working from home or an office. But you can see a lot of new, beautiful and interesting things. And this is a clear plus!

Mentoring

And my mentoring began in a very funny way and without my participation. Once I was visiting a friend and accidentally left him with a book on Python and Django. And the next time we met only a year later, and then he surprised me. He says, and now I work as a programmer! Remember, you forgot my book, so I read it, made my own website based on it, and recently got my first job.

It happens!

Later, my mentoring continued with the fact that I began to teach one of my friends. Despite the fact that he spends almost every day at another job, our business is going very quickly and well. Your first job as a programmer is just around the corner!

How to become a successful Python developer? Alexey Kurylev will share his experience with both beginners and experienced programmers

Questions

What advice would you give to beginners that is rare or considered unusual or controversial?

Fit into any movement! Don't miss a single opportunity to practice! Always be open to any suggestions!

And what is very important:

“When faced with ambiguity, resist the temptation to guess.” - zen of python

How do you keep your skills current? How do you constantly grow and become better as a developer?

Well, work doesn't allow you to become irrelevant. Every day you have to do something new. Well, I read, of course. I'm learning other languages. I communicate with other developers. I develop various web services in a team with friends, without salary, just for fun. And I rest more whenever possible, this is also necessary, so self-development goes easier and faster.

Top 3 books for beginners
  • Mark Summerfield - "Python 3 Programming: The Definitive Guide"
  • Wesley Chan, Paul Bissex, Geoffrey Forcier - “Django. Web application development in Python”
  • Robert Martin - “Clean Code” - Read it even if you don’t understand Java, there’s a lot of just good advice there. And at the same time you will start learning Java.