Answer the question
In order to leave comments, you need to log in
Should I switch from php to java?
Hi all.
I would like to ask for advice on how and where to move forward. Now I work in one company, with my project as a chief programmer (there are 2 of us =) ) as a php developer. I have been writing PHP for over 4-5 years. I've been at this job for 2 years, and I've been stuck on one project, and interest has already disappeared.
About half a year I started learning java. Read Java 2 books Kay Hortsmann, Gary Cornell
Wrote a couple of programs (Swing, SWT) for chain stores.
I started studying J2EE, where I would like to go completely and completely.
I ask for advice from experienced Java developers on what to read and study further. Is it possible to get a job with not very good knowledge of English?
What areas are most often written in java (for Android and web?)
Is it right to start with freelancing for minor improvements?
I would like to immediately go to the middle, if it's real.
Answer the question
In order to leave comments, you need to log in
I would look towards Angular, Play2, swagger, Jooq, Apache DirectMemory and not bother with the enterprise. As practice shows, the J2EE stack is not very suitable for freelancing. Of course there are exceptions - you can look at Grails, Vaadin and ZK for RAD.
Grails has a terribly low threshold of entry, I put rail-dependent and jangistomaniacs on it; there, the level of support is several orders of magnitude better than in most solutions from the php / ruby / python worlds.
J2EE is a bit paralyzed right now, and there are quite a few risks associated with using it in production. First of all, cases of hacking serious institutions that use JBoss and WebLogic have become more frequent. It has somehow become quite unpopular to use servlets now...
JSF/ADF is now dying off.
Spring is a very simple and necessary thing if you figure it out, though it has its own problems and sometimes it's better to do without it.
According to design patterns, it is important to understand: mvc, mvp (document-view), mvvm, cqrs-es, disruptor, proactor / reactor. Everything else, "banal" such as Factory, Builder, Facade, can be gleaned from books ... this is almost never used on the web, but you need to figure it out to understand the rest of the patterns.
In most cases, I have to implement CQRS-ES in Play2 via Angular + sse. There are complications with http caching, and model caching... I often use prerender.io for non-JS clients and crawlers. Websockets (Socket.io) work slower (delays are higher, initialization is longer) than sse, sometimes you have to roll back to flash and long-polling, but you have to manually add all this along the way. There are many cool restangular solutions, although most of them are still quite raw - I trust what I write myself.
Good day.
Yes, getting a job "with not very good knowledge of English" is quite realistic. "If you understand the language well enough, I can advise you to look in the direction of patterns, in my opinion an excellent book - Freeman, Sierra -" Design Patterns ". A specific problem is posed, solved, the problems of the solution are shown and the solution is gradually improving.Most
often now in java it is the web, as a result, knowledge of related technologies will be useful - jquery, javascript, it happens that you have to do it (it depends on the vacancy already).If you return to java, you often need knowledge of the Spring Framework but I would advise you to deal with it already on the project and not on your own (you only need to see what IoC is on your own).
And I would not advise climbing into all sorts of JSF, ADF. At first glance, it may be cool but very limited and heavy (my personal opinion). Also, moving from 5 years of experience in php to middle java, you need to be prepared to reduce your salary, but in my opinion this is an investment in the future :)
If you have any questions, I will be happy to help! Good luck in understanding the world of java! =)
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question