📜 ⬆️ ⬇️

The story of a developer, or shooting at the stars, you will hit the moon

Hello to all,
Especially students, novice programmers and everyone who wants to become them! I would like to tell the story of my junior work, I hope my invaluable experience will be useful to someone (and will help not to fill the bumps where it is not necessary).

Immediately make a reservation that I do not belong to that wonderful part of humanity that began programming in childhood, or at least in my youth. Up until the end of school, I was such an avid humanist that it was already disgusting. My admission to a good St. Petersburg technical university is a twist of fate, but the details are irrelevant.

So, there is a twenty-year fourth-year student enrolled in the specialty "Information technology in education" with a specialization "Project Management". In the passive - a very modest amount and quality of training in programming in high school and the humanitarian past. The asset is a great desire to become a highly qualified specialist in the development of highly loaded Java applications (this wording came much later, at an early stage, it was like this: “Java is cool, I want to code it coolly!”). The task is to realize your dream. Below is an algorithm that, at the very least, was formulated at the end of the analysis of all errors made in attempts to solve this problem.

Step one

In every possible way to use the training opportunities, which are underpinned by the university. Unfortunately, this understanding came to me too much, and after finishing the sixth year, I realized how much I had missed. Higher mathematics, discrete mathematics, teverver ... When you just study, it seems that all this is not so important, and the main thing is to learn the language. Hell no! Now I am trying to independently study what it is not easy to understand without a teacher and what I was taught voluntarily at the university. The only thing I paid attention to at the university was a term paper on Java. The statement of the task for the term paper was approximately the following: “Here is your TK, here is a book for you - do it!” The positive experience learned from this is this: it is best to choose a more complex task, more complex implementation, in order to get at least some experience it will be possible to operate when working with an employer.
')
Step two

Sooner or later an understanding comes that you know nothing! Therefore, one has to learn independently and, moreover, independently. It is very important. Real experts learn all their life, so you need to start as soon as possible. The main thing here is to find suitable books, and in this place I crammed my second bump - it was the active use of courses on the Intuit website. Intuit is good, of course, but I’d rather have read Java Philosophy five times instead. And a couple more times, Meyer’s The Basics of Object-Oriented Design.

Step Three

It seems that you already have some knowledge; it is time to apply them. And for this you need as early as possible to get a job. Theoretical knowledge and student work is all well and good, of course, but you cannot go far away. Here I stuffed another bump - I pulled with this for quite a while (the idea of ​​becoming a Java programmer came to me in my fourth year, and I got a job only in the fifth). All the time it seemed that I was not ready - then the book should be read, then the course on the site should be taken ... So, all this is nonsense. A student who is in search of his first job has a number of advantages, it is only necessary to properly present them.
First of all, you should not be ashamed of your inexperience, because it will come in handy here that which was acquired at the first step - some kind of real programs. You can and should talk about their theoretical knowledge. Well, and most importantly, to emphasize what is beneficial for the employer: you are ready to engage in arbitrarily tedious coderies in order to gain the necessary experience in a real project. Then more experienced programmers will be able to do interesting, and most importantly, important tasks, and everyone will be in the black. And at the same time you have to pay real pennies. When I got my first job (at that time, my experience was reduced to a coursework in Java, and only the Shildt was the most serious of the authors I read), I was happy to hell: you must learn Java, and and pay for it!

Step Four

When the interview is over, and you are finally involved in a real project, the main thing, ironically, is to leave it in time. The first time you, of course, there is cool. You are taught, you grow professionally every day, you begin to solve more and more complex tasks, and you get the opportunity to communicate with experienced specialists, consult with them on the choice of professional literature, etc. But sooner or later, depending on how quickly you develop, the process of your growth stops. All this is due to the fact that you were accepted to the position of Junior Developer, which solves tedious programming tasks, and, in fact, you have changed, but the project hasn’t. Those tasks that six months or a year and a half ago seemed interesting to you are now as boring as they were then for older comrades, for which you were actually hired to unload. It is good if you got into a company that assumes the constant growth of your employees, but in my case everything was different, because there the easiest way to switch from Junior Developer to Middle is to quit, and then re-engage. To understand this, I spent a whole year trying to increase the complexity of tasks and at the same time salary (I succeeded once, but not for long: I soon outgrew this level again), then I settled in the next department, where Middle Developer seemed to be needed. As a result, I had to quit. But I would like to repeat once again: do not wait for an increase! It is generally better as a preventive measure to regularly go on interviews, but this is in step five.

Step five

And here you are - a young programmer with some experience and a great desire to prove to the world the full depth of its steepness. Of course, the easiest way to do this is by passing an interview to some attractive position.
In this step, my experience was a little over two years. Professional growth at my work stopped about a year after I got involved in it, and therefore the only salvation was constant self-development: reading books, attending seminars, etc. It should be noted that the interview itself contains some learning component, because if you do not know something, you can either find out about it from the interviewer, or - later - from other sources. At least, therefore, it is worth going to interviews, even if you are not in search of work. In addition, the interviews keep you up to date, allow you to meet interesting people and projects, and, finally, what the hell is not joking, maybe you really can find an interesting position? Another rather useful advice: it is worthwhile to set the desired salary in the resume. Then you will be considered as a candidate for a more serious position, and in that case you certainly won't be bored!

You can search for a new job not only on relevant sites like hh.ru, but also at various job fairs and festivals. By the way, I found my current job thanks to FindIt festival in spring 2012, skipping from Junior Java Developer level right to Senior.

Summarizing all the above, I would like to do the following
findings


1. Learn, learn and learn again! Theoretically, practically, independently, on courses - as you like! The main thing is in non-stop mode!
2. Chat, chat and chat again! With colleagues, specialists in related fields, interviewers, staircases ... This is also a training option.
3. Regularly go on interviews as when you are an inexperienced student, as when you are already an experienced specialist.
And most importantly - do not be afraid to set significant goals. Shoot the stars, then surely you will hit at least the moon!

Source: https://habr.com/ru/post/178849/


All Articles