⬆️ ⬇️

Path to Java Junior Developer





Hello.

My name is Kislin Gregory. At the beginning of November, the first training seminar “Java. Basic course, now renamed to Java. Junior Developer. Intensive. I want to share with you the experience gained in its implementation on the topic of learning Java and also my experience in finding a job as a Java developer.



Learning Java



Learn Java is an abstract concept. Need clarification. Studying all Java classes is unreal, just like the most demanded Java libraries. Learning Java syntax is easier. It is enough to read books on Java , for example, classics:

There are also many online courses:

Special attention should be paid to such things as internal static and normal classes, anonymous classes, parameterization, collections, and multithreading.

')

The second thing after language syntax is the most frequently used API. At the initial stage these are servlets, JSP, JDBC, JUnit.



Then comes the thing that any programmer needs (not just Java) - the horizon. This includes SQL, XML (xsd, xslt, XPath), HTML, JavaScript, Unix shells, etc.



Finally, development tools. General: debugging in the browser (for example, firebug for FF), bugtracking and version control systems, DBMS, CI and Java tools: Ant / Maven, web containers / application servers.



And, as they say, last but not least - IDE : project creation, coding, refactoring, debugging, deploy, testing. As much as you own it, your project will be faster, simpler and better. According to IDEA I recommend to get acquainted with the video Effective work with the code in IntelliJ IDEA .



Practice



Good language learning in the process of writing an application of medium volume. Especially if you try to write it correctly, i.e. ~ 70% of the time to google on the topic of the best solution to each local problem and the best code variant. For the search I especially recommend the resource stackoverflow.com , in whose answers you will need to separate the wheat from the chaff. It is especially good if it is not an abstract application, but something necessary. Or, for example, a test job. You are lucky if you know the subject area, a good programmer and you are ready to take on a job without any experience in Java - then you get experience and you still get paid for it. Here is an interesting classification of work, salary and experience . I just would not reduce everything to money and career. When you gain experience and will be able to choose, you can encode for yourself, for fun. Well and profitable to sell yourself - this is also part of the game of programming, the measure of your professionalism.



Interview



Most recently, Habré published a good article about the interview from a position of employer. There are people there too :) and the more human relationships you have with the interviewer - the greater the chance of success. Well, in general - there will be a pleasant sediment. However, there are also such interviews , from which I would leave with the feeling that we are not very close to each other and it’s good that I don’t have to work with such a boss. Finally, as soon as you feel enough confidence, go for an interview ! (for people with experience, I would add market research from the perspective of architecture, solutions and technologies, with a frequency of a couple of times a year and for positions that are really interesting). And try to make the most out of each. If you do not know - do not hesitate to ask the correct answer.

After the interview, immediately sit down with Google to complete clarity and do not sit back, waiting for the result. Continue to do the same as before: learn and go to the following interviews. Treat this as a process. If the answer is not given in the specified time, do not hesitate to call and ask about the result. If you have an email of the interviewee (for example, they sent you a test task), and you can’t wait for a reasonable answer from HR, you can ask the result directly. A reasonable time to ping is once a week. I was about a month and a half, not expecting anything special, once a week I first called and then corresponded with Yota. As a result, I was transferred to another department, where the conditions turned out to be better than those where I had originally been interviewed.

At the same time, all the same, the basis of any interview for the position of a Java developer is your knowledge: a general understanding of the essence of programming in general, java in particular, and specific java things. For example: “How many instances of a singleton can be in one JVM?” (It is necessary to pronounce the key phrase - it depends on ClassLoader). Here is an example of questions in a collection interview . And this is not all the questions. For example, I was asked, why not just the hash of the key is taken, but the bytes are still mixed in it? The question is rather on a general understanding of the work of HashMap and ingenuity; the answer can be found in the implementation of HashMap. Of course, all of the above will not require from Junior. But the more knowledge you have - the higher your chances.



Results



A journey of a thousand miles begins with one step.
If time is not limited, you can try to master everything yourself. If not, the question arises - how do you get the maximum amount of knowledge in the minimum time? You can search for individual tutoring (especially if there are gaps in something specific) or finish Java courses with the widest and deepest entry into the topic. I would highlight the following selection criteria:





It is very important on the course (according to the listeners' opinions) the balance between practice, when in class an application is developed together with students, and when there is only a demonstration of development. If all the code is programmed together, we’ll go about half the program, and the focus is not on the content, but on writing down the code. If there is only a demonstration, students will not be able to work with the project on their own, despite the existing code. And homework is especially important when learning is mastered.



If you are going (or continue) to learn Java, then I hope that you were not without interest :).

Thank.



PS: Perepost from the sandbox, where I got for a link to the course. Special thanks to the Habr user who returned me an invite.

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



All Articles