I retrain people to Java programmers


When I see friends who are injected twice more, and earn less than four times, each time starting a conversation:
— You wouldn't want to work as a programmer? You're really smart. Maybe you're just not in place?

I retrain their friends and acquaintances for programmers. The whole process takes two to three months. 25 lessons 4 hours. Then all were able to get a programmer.
This article is not about how to teach, rather just a description of the process that works.

about me: ten years of programming. Half of which was programmed in Java. I just retrained into programmers eight people. Three more are taught right now. Retrain only if I see that man a job at all.
disciples 3 guys and 8 girls. Half technical education. Also a lawyer, economist, accountant, and historian. Some already worked, some have just finished University. Programming no one did at school. Common story: I graduated from (a) the University, and whom and where to work — Hz.

Why programming?

Before you teach people programming, to better explain what it does and why he needs it.
1 Simple interesting work.

Programming is simple and interesting work. Was able to compare with what the Bank economists do. It is heaven and earth. The Bank is much more boring. And follow the dress code in 30 degree heat not a pleasant thing.
2 Well paid.
I'm just glad to see my friends after 5 years of operation, began to buy cars or apartments.br> 3 Flexible schedule.
A tough schedule — it is unpleasant. This will confirm everyone who was stuck in traffic during rush hour, or who were fined for being late 5 minutes. But how about the option to come to work at 11am and leave at 5? Say dream? For most programmers it is a reality. Cope with their work, and you don't say. In many offices you can choose not to come to work and work from home.
4 Professional growth.
Almost any organization to receive prestigious position and earn good money, you need to make a career. The programmer simply be a programmer. You don't need to relearn from programmer to administrator or to fight for the position of the head. You can just grow professionally. Programmers with five to ten years of experience get smart salaries.
5 High international mobility.
Three of the highest paid specialty in the West: a lawyer, a surgeon/doctor and a programmer. But our lawyer abroad would be useless: the other laws, case law, etc. the Doctor need to learn the language, re-sit exams. Programmer to learn anything don't have to. The same language. Those same standards. Often even the customers are the same.

Why Java?

The combination of the following three factors have forced me to retrain people in Java-people.
1 Java is one of the easiest languages to learn
I get to teach people in three months.
2 a Great demand in the labour market.
You can get a job without experience. Firms are willing to hire sensible novices and engaged in their further education.
3 the highest salaries in the industry.
Some of the most high. Especially important for novice programmers.

a Key principle

There is a good rule to collect the backpack on a hike:
1 make a list of all the required
2 cross out everything which is unnecessary.

some idea, than have to deal with java junior in the first year of operation. Knowledge, without which you can do in the first year of operation are excluded!


I cut out learning a lot of interesting and good things. To become good programmers they have to teach. But I give enough to get a job. One theory without practice is often ineffective.
This is what I suggest to do in java junior first year of training:
1 Rejoice that you have a good job.
2 to Study the project.
3 to Read clever books.

Format

Teach 2-3 people. The optimal group size for me is three people. Three months. Two classes a week for four hours. A total of 25 lessons.
Everything is explained only by examples. Visibility everything. For example, to understand the collection we wrote in class my ArrayList &LinkedList. I give homework to consolidate the material.

where to begin?

With Pascal. As practice shows, and my subjective experience in school studying Pascal. Depending on the situation, allocate 2-4 classes at the recollection of Pascal.
1 Variables and Phony/WriteLn.
2 if, for, while, arrays.
3 Functions and procedures.
4 Consolidate study.

lessons

Usually tell new topic in 10-20 minutes.
We sit at the computer (the others are behind) and write working examples told. Then, all in turn giving the job on a current topic. Each person for a lesson manages to make 3-5 small jobs.
Encouraged to tell each other (teaches team work).
Spy old examples. Copy-paste anything.

summary of the first lesson in Java

(may not be first of all, if there were prior lessons on Pascal)
1 Tell me what is Java, JVM, JDK, J2SE, J2EE
2 Install JDK, IDE (my choice is Intellij IDEA)
3 the Creation of the first program. Show once and the people repeat.
4 Input/Output, working with variables. Making an analogy with Pascal — very helpful. Much easier to understand material when there is an analogy with what you know.

Alternative methods

Participation in free projects — ideal tool for self-development. The person who can work well, but not a fan of programming, suitable bad.

What is taught


the need
<b>Programming</b>
OOP
Inheritance: extends, implements
Polymorphism: overriding, overloading
Encapsulation
Interfaces: interface
The abstract methods and classes: abstract
Packages: package
The rest
The scope of variables
The overlap of variables
The concealment method with the other methods.
mutable, immutable
Cloning contracts.
<b>Syntax</b>
Operators
if-else
for, for each
while, do while
switch-case-default
try-catch-finally statement, return
throw, throws, catched & uncatched exceptions 
synchronized
instanceof, (type cast)
the priorities of the operators: + * ++ -- [] = == != && ||
finalize
Modifiers
public, protected, package, private,
static
final x3
Data types
Primitive types: boolean, char, byte, short, int, long, float, double
Reference types: Object
autoboxing
hashCode, equals
Generics
<b>Library</b>
java.lang
Interfaces-markers: Cloneable, Serializable, Remote
Integer, Real, Double, Character, ...
String, StringBuilder,StringBuffer, StringWriter
Thread,ThreadLocal, ThreadGroup
Throwable, Exception, Error, RuntimeException
java.io
Serializable
InputStream, OutputStream
Reader, Writer
FileInputStream, FileOutputStream
BufferedReader, PrintReader, Scaner
DataInput, DataOuput,
ObjectInput, ObjectOutput 
java.util
java.util.Date
java.util.Iterator
List
java.util.ArrayList<E>,
java.util.LinkedList<E>,
java.util.Vector<E>,
java.util.Stack<E>.
Queue/Deque
java.util.ArrayDeque<E>,
java.util.LinkedList<E>.
Set
java.util.HashSet<E>,
java.util.LinkedHashSet<E>,
java.util.TreeSet<E>.
Map<K,V>
java.util.HashMap<K,V>,
java.util.LinkedHashMap<K,V>,
java.util.TreeMap<K,V>,
java.util.WeakHashMap<K,V>.
Multithreading
Thread, Runable, join, interrupt, sleep, daemon, yield, wait, notify 



What is not taught

1 Algorithms, graphs, etc.
The prizewinner heaps of competitions. Over 10 years of real work nothing needed.
2 UI, applets, etc.
Likely future projects in the lives of my students will be connected with Tomcat, JBoss, WebLogic
3 HTML/JavaScript
Non-core skills. I recommend self-education.


I can't teach everything, and not try.
My goal is to get the job, the firm — the prospective employee, and both parties were interested in further training.

How to get a job. Key points.

1 the Right to make summary.
Imagine the contract can be a legal professional and a normal untrained person. The important things, don't hesitate to contact the professionals. So here: the summary does not need to be yourself, and ask a knowledgeable person.
2nd Interview
I'm doing some test interviews. And sending "graduates" to be like a job interview in a few offices — for the experience.
3 Experience
The summary should be 3 to 6 months of experience. This adds confidence to the person who decided to hire you.

to go to work only in an urban office.

And even better in large urban offices. They train the newbies. the purpose of the first year to get more experience, not money. is Already in position middle developer demand exceeds supply and wages start to rise sharply.

the Story of the life of students

How to request an enhancement.
The story of one of my students.
— I received a salary of $2400. Come next deadline for the revision of wages. I want 2800 but how to agree?

Decided to ask $3000, so as to bargain on 2800. However, when it came to discussing the new amount, it was found that above 2600 do not want to raise. Am I not worth more? — I thought, and signed up for an interview in a third-party firm.

A few days went for an interview, it was offered $3000.
Come the next day at work, printed out a job offer and the Manager to the conversation. He thought, called somewhere. Half an hour later came up and offered $3200.

Satisfied call the company where you interviewed and say they are unable to work, as the current work place offered 3200. They offer 3400. Quite unsettled. I'm already set up to continue to work, and here the news. But since fighting spirit was still, went back to the chief. Finally got $3600.

Much more likely to get a raise, if both (I am a chef) believe that I'm worth more than that.

The fastest career ever.

Story number two. Tell the first person.
I decided to get my first job. Made up resume for the position of java junior, was credited with 4 months of experience in a non-existent form and went for the interview.

Took. Worked three months. Taught java and was familiar with the project. But the firm did not like. After three months resigned. Stayed home for a month, work out, and went to the interview again. This time I was looking for the position of middle java and, in summary, had a year of experience. Worked for two months. The draft a dozen years, the professionals do it, but as a beginner this project is very boring. Quit.

Found a new job. Now in my summary it was a year and a half of experience. This time the project is fully staged, but would like to develop a different salary. There must be some firm that I'm looking for — I thought. Worked three month.

At my last job, got a position senjor java developer. Three years of work in a resume commanded respect. for three years, working in any firm. Exactly what I was looking for. I'm happy customer too.

The main thing is not to stop. No need to suffer in silence, if you see that your not. Don't be afraid to quit. Perhaps an ideal work from you within the interview. Well, in two, three, four.

the finer points

To be a good programmer it is necessary to study very much. It is impossible to do without the desire to learn and love programming.

I interweave the desire to learn/develop in the process of learning. It is not other people to me: put my heart and soul, I give interesting problems. They do not because they have to, but because they are interested in. Like forgotten childhood fun when doing something new, and you got it.
In our industry, for the beginner it is very important to gain experience and continue to learn. Therefore, large firms that are engaged in further training of Junior — our all. My goal is to have my students was in the office and able to realize themselves.

My students are convinced that programming is easy, exciting and creative. And it gets to them!

interviews

A person can only be judged on the results of his work, not in the summary, where what everyone wants, and writes. Salaries are often assigned according to the results of the interview, which takes place before the person saw in the work. As a result, there is often a mistake to assess the skills and contribution of specialist work, especially if the employer is careless in the interview. In fair assessment RFP $700, because you can a year to work on $1000 per month, but you can for $500. I do everything to this error, if it occurs, were to the side of the candidate — my disciple.

PS
Today, my first student (field five years of work as a programmer) the first day of TimoCom. Proud of her.
Article based on information from habrahabr.ru

Комментарии

Популярные сообщения из этого блога

Why I left Google Zurich

2000 3000 icons ready — become a sponsor! (the table of orders)

New web-interface for statistics and listen to the calls for IP PBX Asterisk