JavaRush /Java Blog /Random EN /I retrain people to become Java programmers (Archive)

I retrain people to become Java programmers (Archive)

Published in the Random EN group
On August 1, 2012, I published my article on Habré. It was her reviews that inspired me to start working on the JavaRush project. The article is given below. I retrain people to become Java programmers. I retrain people to become Java programmers (Archive) - 1When I see friends who work twice as hard and earn four times less, every time a conversation begins: “Wouldn’t you like to work as a programmer?” You're really smart. Maybe you're just out of place? As a result, I am retraining my friends and acquaintances to become programmers. The entire process takes two to three months. 25 lessons of 4 hours. Then everyone was able to get a job as a programmer. This article is not about how to teach, but rather just a description of a process that works. A little about myself: ten years of programming, half of which in Java. In total, I retrained eight people to become programmers. I’m teaching three more right now. I retrain only if I see that such a job is suitable for a person. About the students: 3 boys and 8 girls. Half have a technical education. There is also a lawyer, economist, accountant and historian. Some already worked somewhere, some just graduated from university. No one has done programming since school. A common story: I graduated from university, but I don’t know who and where to work.

Why programming?

Before teaching a person programming, it is better to explain what it does and why he needs it.
  1. An easy, interesting jobI retrain people to become Java programmers (Archive) - 2 Programming is an easy and interesting job. There was an opportunity to compare with what economists do at a bank. This is heaven and earth. Everything is much more boring at the bank. And following the dress code in 30 degree heat is not a very pleasant thing.

  2. Well paid. I’m just pleased to see how my friends, after 5 years of work, began to buy cars or apartments for themselves.

  3. Flexible schedule.
    A tight schedule is unpleasant. This will be confirmed to you by anyone who has been stuck in a traffic jam during rush hour, or who has been fined for being 5 minutes late. What about being able to come to work at 11am and leave at 5am? Dream you say? For most programmers, this is reality. Do your job and no one will say a word to you. In many offices, you don’t have to come to work, but work from home.

  4. Professional growth.
    In almost any organization, in order to get a prestigious position and make good money, you need to make a career. A programmer just needs to remain a programmer. You don't need to retrain from a programmer to an administrator or compete for the position of boss. You can simply grow professionally. Programmers with five to ten years of experience receive luxurious salaries.

  5. High international mobility.
    The three highest paying professions in the West are: lawyer, surgeon/doctor and programmer. But our lawyer abroad will be useless: other laws, case law, etc. The doctor needs to learn the language and take exams again. The programmer does not have to learn anything. Same language. Same standards. Often even the customers are the same.

Why Java?

The combination of the following three factors forced me to retrain people to become Javas.
  1. Java is one of the easiest languages ​​to learn . I can teach a person in three months.
  2. Great demand in the labor market. You can get a job without experience. Firms are willing to hire smart newcomers and provide them with further training.
  3. Highest salaries in the industry. Some of the highest. Especially relevant for beginning programmers.

Key Principle

There is such a good rule for packing a backpack on a hike:
  1. Make a list of everything you need.
  2. Cross out everything you can do without.
I can roughly imagine what a java junior will have to do in the first year of work. Knowledge that you can do without in the first year of work - we exclude it! I threw out a lot of interesting and good things from studying. To become good programmers they will have to be taught. But I give enough minimum to get a job. Theory alone without practice is often ineffective. This is what I advise java junior to do in the first year of study:
  • Be glad that you have a good job.
  • Study the project.
  • Read smart books.
  • Class format.
I teach 2-3 people at the same time. The optimal group size for me is three people. Three months. Two lessons a week for four hours. There are 25 lessons in total. I explain everything exclusively with examples. Visibility is everything to us. For example, to understand collections, we wrote our ArrayList & LinkedList in class . I give homework to reinforce the material. Where is the best place to start? From pascal. As practice shows and my subjective experience, everyone at school studied Pascal. Depending on the situation, I allocate 2-4 lessons to remembering Pascal.
  1. Variables and ReadLn / WriteLn .
  2. if,for,while, arrays .
  3. Functions and procedures.
  4. Consolidation of what has been learned.

Lesson format

I usually talk about a new topic for 10-20 minutes . I sit down at the computer (the others are sitting nearby) and write working examples of what is being said. Then, I give everyone assignments on the current topic in turn. Each person manages to complete 3-5 small tasks during such a lesson. I encourage you to give each other advice (teaches teamwork). You can look at old examples. You can't copy-paste anything.

Summary of the first lesson in Java

(may not be the first of all if there were preliminary lessons on Pascal)
  1. I tell you what Java , JVM , JDK , J2SE , J2EE are
  2. Install JDK , IDE (my choice is Intellij IDEA )
  3. Creation of the first program. I show it once, then people repeat it.
  4. Input/Output, working with variables. I draw analogies with Pascal - it helps a lot. It is much easier to understand the material when there is an analogy with what you know.

Alternative techniques

Participation in free projects is an ideal tool for self-development. A person who can work well, but is not a fan of programming, is not a good fit.

What I teach

I retrain people to become Java programmers (Archive) - 3Only what you need

What I don't teach

  1. Algorithms, graphs, etc. He himself is a medalist of a bunch of Olympics. For 10 years of real work, nothing was needed.
  2. UI, applets, etc. Most likely, future projects in the lives of my students will be related to Tomcat , JBoss , WebLogic
  3. HTML/JavaScript. Non-core skills. I recommend self-study.

Job

I retrain people to become Java programmers (Archive) - 4I can't teach everything, and I don't try. My goal is for the person to get a job, the company to get a promising employee, and both parties to be interested in his further training.

How to get a job. Key points

  1. Write your resume correctly. Imagine what kind of agreement can be drawn up by a professional lawyer, and what kind of agreement can be drawn up by an ordinary untrained person. When it comes to important things, don’t hesitate to turn to professionals. It’s the same here: you don’t need to create a resume yourself, but ask a knowledgeable person.

  2. Interview. I conduct several test interviews. And I send the “graduates” to attend interviews in several offices - for experience.

  3. Experience. Your resume should include 3 to 6 months of work experience. This adds confidence to the person who decided to hire you.

Go to work only in IT companies

Or even better, go to large IT companies. They are the only ones who train newbies. The goal of your first year is to gain as much experience as possible, not money. Already in the middle developer position, demand exceeds supply, and salaries begin to rise sharply.

Stories from the lives of students

How to ask for a raise correctly

The story of one of my students. — I once received a salary of $2400. The next deadline for salary revision has arrived. I want 2800, but how to negotiate? I decided to ask for $3,000 , in order to negotiate for 2,800. However, when it came to discussing the new amount, it turned out that they did not want to raise it above 2,600 . Am I not worth more? — I thought, and signed up for an interview with a third-party company. A couple of days later I went for an interview and they offered me $3,000 . I come to work the next day, print out the job offer, and talk to the manager. He thought, he called somewhere. Half an hour later he came up and offered $3200 . Satisfied, I called the company where I had the interview and said that I cannot work for you, since at my current place of work they offered me 3200 . They offer 3400 . Completely unsettled. I was already determined to continue working, and then there was this news. But because I was still in a fighting mood, so I went to the boss again. As a result, I received $3600 . I'm much more likely to get a raise if both (me and the boss) are confident that I'm worth more.

Fastest career in history

I retrain people to become Java programmers (Archive) - 5Story number two. I'm telling it in the first person. I decided to get my first job. I compiled a resume for the java junior position , added 4 months of experience in a non-existent company and went for an interview. Have taken. I worked for three months. I learned Java and understood the project. But I didn't like the company. Three months later he quit. I stayed at home for a month, studied, and went for interviews again. This time I was already looking for a java middle position and, according to my resume, I had a year of work experience. I worked for two months. The project is ten years old, professionals can handle it, but a beginner on such a project is very bored. Quit. Found a new job. Now I had a year and a half of experience on my resume. This time I was completely satisfied with the project, but I wanted to develop and get a different salary. There must be a company somewhere that I’m looking for, I thought. I worked for three months. For my last job, I got the position of senjor java developer. Three years of work on a resume inspired respect . I have been working for the company I like for three years now. Exactly what I was looking for. I'm happy, and so is the customer. The main thing here is not to stop. There is no need to endure in silence if you see that it is not yours. Don't be afraid to quit. The perfect job may be just one interview away from you. Well, or two, three, four.

Subtle points

To be a good programmer you need to study a lot. It is impossible to do this without the desire to learn and love for programming. I weave the desire to learn/develop into the learning process itself. These are not strangers to me: I put my heart into it and give them interesting tasks. They do it not because they have to, but because they are interested. Like a pleasure forgotten from childhood, when you do something new and succeed. In our industry, it is very important for a newbie to gain experience and continue to learn. Therefore, large companies that provide further training for juniors are our everything. My goal is for my student to get into such an office and be able to realize himself there. My students are convinced that programming is easy, interesting and creative. And it becomes like this for them!

About interviews

A person can be assessed only by the results of his work, and not by his resume, where everyone writes what they want . Salary is often determined based on the results of an interview, which takes place before the person is seen at work. As a result, there is often an error in assessing a specialist’s qualifications and contribution to the job, especially if the employer is careless in the interview. With a fair salary estimate of $700 , you can work for a year on $1000 a month, or you can work on $500. I do everything so that this error, if it occurs, is in the direction of the candidate - my student.
Comments
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION