JavaRush /Java Blog /Random EN /Is programming hard work or an easy way to make money?
mrserfr
Level 33
Киев

Is programming hard work or an easy way to make money?

Published in the Random EN group
A good motivating (or vice versa?) article. I posted it so that more people would read it. The author doesn't mind. :) ! Article about enterprise :) Not android.

How to become a Java developer?

1. Do I need it? Apparently the most important point. Due to the economic crisis, many people are trying to find a way to provide for themselves financially. And then “IT” appears, in which everyone gets a lot of money for being able to write 10 lines of code. Besides, “programming is easy.” Unfortunately, it is not. No matter how the founders of various courses try to explain that anyone can become a developer in 3 months, this is not true. First of all, it is necessary to remember that a software developer is an engineer. Therefore, the requirements are appropriate. Secondly, you need to understand what exactly the job of a programmer is? First of all, it is a permanent solution to problems. You will not have a moment when all problems will be solved. This is an ongoing process. Secondly, this is a huge amount of routine work, which to do for 3-4 hours a day without love for the work is, if not impossible, then certainly requires enormous effort on oneself. So, if you feel that software development is what you would like to do more than 40% of your life, then move on. 2. What exactly does it take to be called a Java developer? In order for you to proudly call yourself a Java Developer with more than a “J”, you must have at least a general understanding of the following things: Language syntax, namely Java Core; Fundamentals of Object-Oriented Programming; Database Basics (SQL); JDBC; Servlets + JSP; ORM (for example, Hibernate); Any popular Web Framework (for example, Spring); HTML, CSS, JavaScript; VCS (GIT, SVM or similar). Now, let's go through the points: Java Core This includes knowledge and understanding of the class hierarchy in Java, methods of the Object class and, of course, the Collection Framework. What interfaces, who implements whom, etc. This is the picture that a Java developer should draw at 3 am under art fire: Is programming hard work or an easy way to make money?  - 1 Books such as Java 8. The Complete Guide (Shiltd) Java Philosophy (Eckel) will help you in learning Java Core: And of course, there is no escape from the Java Platform API Specification There is a lot of material here, so it’s better not to jump between books, but to pick up one and “peck” it “until you’re blue in the face.” OOP A beginner is not required to do more than knowledge and understanding of the three principles of OOP (some believe that there are 4 of them, but it depends on you and this is not so important). The ability to explain each of them using a practical example. Basics of Databases and SQL MySQL 5.0 (Viktor Goltsman) This book explains basic concepts in an easy and accessible way with illustrations of examples and step-by-step instructions. JDBC In addition to understanding what a database is, you need to understand how your Java application interacts with it. JDBC 4.1 Specification most fully reveals all the features of JDBC. Servlets + JSP In the books on Schiltda and Eckel, Servlets are described “in passing”; for a deeper understanding of what it is, you need to study something more seriously. Java Servlet Specification and JavaServer Pages Specification These two specifications provide a comprehensive understanding of these technologies. Both JDBC and Servlets are used by developers in their daily work only in rare cases. But they are the basis of all popular Frameworks, and understanding how these frameworks are tripled “internally” will help you avoid many stupid mistakes that those who have studied only frameworks make. Hibernate The book that is the pride of the Java world is Java Persistence with Hibernate. Many developers who use other technologies (in particular C#) read this book in order to better understand what an ORM is and what problems it solves. If you know how to create one-to-one, one-to-many and many-to-one relationships and write a simple query in HQL, your knowledge is enough for a beginner level. Web – Framework (for example, Spring) After you have mastered everything above, you can already take a swing at Spring. First, write a simple CRUD application, and then find out what Spring Pet Clinic is. Now your knowledge will be enough to understand what is happening to create a more or less decent application that goes to the database, does something there, etc. and so on. Congratulations, now you can write something that you can already “touch” and show. In 5-6 months, you will want to delete this code and make sure that no one knows that you are the author, but for now this is good :) HTML, CSS, JavaScript Everything here is simple and not interesting. Regular layout, which is not of particular interest to the back-end developer. This is the bread and butter of front-end people. But there should be a basic understanding of all this. HTML Academy HTML Book Basics of JavaScript This will be enough for you. VCS Any project that employs more than 0 developers cannot be done without a VCS (version control system). GIT is the most convenient and frequently used; SVN competes with it. If you know one of them, you will be happy. As a result, it is fashionable to say that the barrier to entry into Java is extremely high. The amount of knowledge required to get a job or start writing more or less solid applications is simply enormous. But the end result is simply incredible prospects. It is important to understand that the demand for newcomers is extremely low, despite all attempts to show that there are not enough programmers. There are not enough highly qualified developers with at least 3 years of experience, and there are plenty of newbies. In order to get hooked and “enter IT,” you will need hellish work for 6 months to 1 year. But if it’s yours and you’re willing to put in so much effort for it, then go for it. Good luck to you! --- On my own behalf, I would like to add that in reality there is nothing better than javarush for learning java core, at least in RuNet. IMHO. Good luck everyone again. Article: http://proselyte.net/how-to-become-java-developer/ Author: http://proselyte.net/faq/
Comments
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION