Answer the question
In order to leave comments, you need to log in
Can you advise how to proceed?
I have wanted to be a programmer for a long time. And I have sufficient knowledge about programming languages, OOP, what a framework is (although I could not master the book by E. Gamma "Design Patterns" [so far]).
I understand web development - html + css + php + mysql, I made training sites on them. I can not say that such great knowledge.
I know the java language - I made projects in android studio (I need to prepare a program in it for a master's dissertation), in general I wanted to make java my main language.
In general, I can quickly master any language.
And I'm trying somewhere for an internship, so far they're not taking anywhere))
What I wanted, I'm confused, I don't know what step to take next. How to develop further. Can't move on from knowing the basic constructions and logic of programming languages. Which framework to choose. How to move to more serious programming. Give advice.
And I apologize in advance for such a question, I know that such things happen often and it bothers.))
Answer the question
In order to leave comments, you need to log in
"I want to make the main Java" - very vague. Java is a tool for different areas: android, desktop, web. I would advise in the web - the most common area; wangs say that android applications will someday give way to web. Well, it's all a matter of taste and what you want. So, for example, we want in Java-web:
1) Are you sure that you know Java? Maybe there are nuances and small gaps? (go over Eckel and Bloch, you can see articles about preparing for certification - a lot of little things, non-obviousness is revealed) Parse Java 8, special attention to stream.
2) Ok, you know Java SE, but Java EE? Here you can not delve very thoroughly at first - the frameworks will help us.
3) Let's go Frameworks and Libraries - Spring Family: Core, MVC, Boot, Data, Security. For ORM - Hibernate (it is possible together with Spring Data, it is possible instead, you need to look). To reduce the bolt plate - Lombok.
4) For testing JUnit, then check out the Spock Framework (here we also get acquainted with Groovy).
5) Smoothly move on to the client. Here Java is not enough for us. Remember html and css. If you don't know JS, find out. Next is a matter of taste. We choose (we write our own) a library or a fashionable framework, we study and saw the client part. At the stage of proceedings with the client, get acquainted (if you suddenly didn’t know something) with REST, http, https, http 2.0, webSockets, json, ajax what is DTO.
6) For UI testing try Geb.
7) WebServices! SOAP, Jaxb, SOAP MTOM.
8) You can simultaneously expand your horizons on the database - try instead of mysql postgres or NoSql databases.
Here is a sample set of tools.
But the main thing is practice. You need a study project. You start doing it - problems appear - see how this can be solved with existing tools - you immediately put the theory into practice.
I propose to write some kind of corporate portal with some kind of registry, directory, etc. Turn on fantasy.
Start small - the directory-registry itself with CRUD functions - create, read, edit, delete an entry. Next, fasten the system of rights and user roles (not everyone can create, edit, and even more so delete). Add work with files - download, upload, export to pdf and exel. Continue to wind up your application with functionality - personal and chat, bulletin board, imitation of boss-subordinate relations (time management, task management, collecting reports of some work), notifications (in mail, in the system, you can try with sms), write another small system and communicate them to each other via SOAP (for example, another system can read from the directory and write something there). Take some hypothetical enterprise (warehouse, shop, car service, school, hospital, factory, etc.) and imagine
In short, gain experience and learn through practice, set tasks for yourself and look for ways to solve them. Internships and work in general at first give a powerful impetus to development. Can't find an internship? Go to interviews, do test tasks - then all the gaps will immediately pop up.
I don't know what step to take next. How to develop further.
Usually it goes by itself with constant writing code. If on java - take and do projects. Any. Something came to mind - try to implement it. I also advise you to look at Eckel's book. Over time, you will gain experience and you yourself will not understand how you learned :)
Language is a tool. Learning an instrument for the sake of learning an instrument is a stupid exercise.
Serious programming can come only after solving specific problems.
If there are interesting ideas (interesting to you personally, and not in principle, in general) - decide. So experience and ability to work with real frameworks, libraries, languages, systems, etc. will come. And "ideas" - they always exist, one way or another. Even a decision of 1/1000 of the most daring idea (make your own operating system, VK analogue, your own photoshop or your own GTA with blackjack and ....) will give you a colossal experience that you can’t buy.
If there are no goals, tasks and other things that need / can be solved using a programming language - only work. Try to get somewhere. Though an apprentice, apprentice, but settle down. Do not take - lack of knowledge? So dig what employers require. I understand, not the most pleasant way - but the experience will be "heaps".
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question