И така, колко време отнема да научите Java? Десет години, десет седмици or един ден? Може би целият ти живот? Може да намерите много странни отговори на този въпрос в някои онлайн форуми. Нека да го изясним от самото начало. В тази статия „да знаете Java“ не означава, че можете да напишете „Hello world програма“. Става въпрос за това да познавате Java достатъчно добре, за да намерите първата си работа. Мотото на Бъз Лайтър тук в заглавието не е точно шега. Наистина може да продължите да учите Java or който и да е друг език до края на живота си. Причината е, че езикът непрекъснато се развива, обхватът му се променя и... Добри новини, приятели!Няма причина за паника! Изучаването на мисията на Java определено е възможно да се завърши за 3 до 12 месеца, но има много нюанси, които ще обсъдим в тази статия. Тук ще се опитаме да отговорим и на въпроса „How да научим Java бързо“.
Юлия Дейнега , самоук разработчик на софтуер. Юлия работи за LinkedIn като REACH Apprentice Engineer Освен това тя създаде канал в YouTube , за да сподели опита си от изучаването на компютърно програмиране и намирането на работа в Сorконовата долина
Можем да разделим тези, които започват да учат Java на три основни категории:
PS: Сега Howво ще кажете за вас? Колко време учиш Java сега? Труден ли е този процес? Или може би вече сте намерor първата си работа, свързана с Java? Беше ли трудно? Или може би просто сте започнали да го търсите? Споделете своя опит тук!
Как да търсим отговора
Въпросът „колко време отнема да научите Java“ е доста труден. Разделяме го на по-конкретни подвъпроси и отговаряме на тях тук. За да бъдем по-точни, използвахме интервюта със студенти от CodeGym, отворени източници и статистиката от проучването. Това проучване беше за процесите на обучение на Java и търсенето на тази първа работа. То беше проведено от едно от местните звена на CodeGym. Участниците в проучването бяха студенти на CodeGym от ниво 30 и по-високо, които са намерor тази първа работа, свързана с Java, or са участвали в Java стаж.Какво означава „Да познаваш Java“?
Най-точният, макар и много общ отговор на този въпрос би бил „да мога да реша проблема с помощта на Java“. Такъв проблем може да бъде целта „полагане на изпит“ or „получаване на работа“. Или това може да е техническа задача, or голяма „да създам собствен проект, достатъчно добър за Play Market“, например, or малка, като „да разбера How да напиша code, който прави това, от което се нуждаете“. Разбира се, вашите проблеми ще се променят с времето. След като получите първата си работа, ще трябва да израснете до позиции (например от Java Junior Developer до Java Middle/Senior Developer). Първата задача за codeиране е последвана от втората. Освен това, когато го направите, ще се появят някои нови цели. Да се върнем на нашия въпрос. Какви теми трябва да знаете, за да напишете „Знам Java“ в CV-то си? Студентите по Java обикновено изучават следните теми:- Core Java or
- Core Java + JUnit or
- Core Java + бази данни or
- Core Java + Инструменти or
- Core Java + библиотеки or
- Core Java + Spring + SpringBoot + Hibernate or
- Core Java + Android SDK or
- … и всички горепосочени комбинации.
- Основни типове и обекти
- Основни конструкции (специални оператори, цикли, разклонения)
- OOPs концепции
- Класове обвивки
- Колекции
- Многопоточност
- I/O потоци
- Обработка на изключения
Вашият личен начин. За Howво учиш Java?
В тази статия не разглеждаме опции като „Научавам Java само за забавление“ or „Искам да преподавам Java в бъдеще“. Тук говорим за професионално използване на Java в ИТ. В момента най-често Java се преподава, за да отиде по един от трите начина:- Java Developer, от стажант/Junior Developer до Senior Developer
- Android разработчик, независим or в компания (от младши до старши)
- QA автоматизация (с Java)
Разработчик на Java
Наборът от Java Developer е много широк и изискванията за познаване на Java са за получаване на първата ви работа, която може да варира значително. Според проучването на CodeGym има някои хора, които са получor първата си работа в Java Junior, познавайки само Java Core и нищо повече. Компаниите бяха готови да ги обучават по време на работния процес. Това обаче е доста рядко събитие. По-често такъв човек може да се присъедини към стаж or да стане Java стажант след полагане на някои изпити. Обикновено кандидатите за Java Junior трябва да знаят повече от Java Core, за да получат първата си работа. Ето списък с подходящи технологии, които Java разработчиците трябва да знаят.- Основна Java
- JDK API
- Java 8 (ламбда), Java 11
- Тестване на библиотеки (JUnit)
- Пролетна рамка
- Spring Boot и Spring MVC
- Хибернация
- JDBC
Разработчик на Android
Android разработчиците могат да работят за компания or да имат свои собствени проекти. Те със сигурност трябва да знаят Java Core и някои други технологии. Тук имаме една инфографика, която демонстрира начин на Android Developer. Е, има много точки в списъка, но не много от тях са директно за Java (само тестови инструменти и всъщност Core Java). Обикновено разработчиците са съгласни, че самостоятелното изучаване на Android програмиране е малко по-лесно и по-бързо от Enterprise development. Независимо от това, дори и за тези, които се стремят към позицията на Java Junior, ще бъде полезно да създавате проекти за Android, за да тренирате уменията си за програмиране.QA автоматизация
Един добър QA Automation трябва да знае езика за програмиране доста добре, това е едно от най-важните умения за тази професия. Свързан с Java- Core Java (особено OOP, Collection, FileOperations)
- Тестване на библиотеки (JUnit)
- IntelliJ ИДЕЯ
- Рамка Selenium RC/WebDriver
- Обектен модел на pageта
- HTML/CSS
- SQL
Кой пита? Портрети на потенциални студенти по Java
„Мисля, че зависи от вашия опит и времето, което можете да отделите за учене. Когато започнах пътуването си като софтуерен разработчик, прекарвах поне 40 часа седмично в учене. След 6 месеца редовно обучение се почувствах достатъчно уверен, че мога сам да овладея всяка нова технология. За да намерите първата си работа като софтуерен инженер, ще трябва не само да научите Java, но и да разберете основите на компютърните науки, обектно ориентираното програмиране и да напишете няколко проекта, които могат да покажат работата ви. Мисля, че това може да отнеме някъде между девет и дванадесет месеца. Знам, че това звучи като много работа, но не се обезсърчавайте! Това пътуване може да бъде истинско забавление, ако откриете кой аспект от codeирането ви носи радост и си позволите да играете.“- „Новобранци“. Нулев опит. Е, тук има хора, които не разбират нищо от програмиране.
- „Средни“. Студенти с минимален or хаотичен опит в програмирането. Тези хора учат програмиране в учorще, университет or курсове, но това не беше сериозно обучение.
- "Професионалисти". Разработчици на софтуер, които владеят други езици за програмиране (1 or повече).
- 33,3% са бor абсолютно начинаещи
- 17,6% са знаели поне един език за програмиране
GO TO FULL VERSION