CodeGym /Java блог /Случаен /До безкрайност и отвъд: колко време отнема да научите Jav...
John Squirrels
Ниво
San Francisco

До безкрайност и отвъд: колко време отнема да научите Java?

Публикувано в групата
И така, колко време отнема да научите Java? Десет години, десет седмици or един ден? Може би целият ти живот? Може да намерите много странни отговори на този въпрос в някои онлайн форуми. Нека да го изясним от самото начало. В тази статия „да знаете Java“ не означава, че можете да напишете „Hello world програма“. Става въпрос за това да познавате Java достатъчно добре, за да намерите първата си работа. Мотото на Бъз Лайтър тук в заглавието не е точно шега. Наистина може да продължите да учите Java or който и да е друг език до края на живота си. Причината е, че езикът непрекъснато се развива, обхватът му се променя и... Добри новини, приятели!Няма причина за паника! Изучаването на мисията на Java определено е възможно да се завърши за 3 до 12 месеца, но има много нюанси, които ще обсъдим в тази статия. Тук ще се опитаме да отговорим и на въпроса „How да научим Java бързо“.

Как да търсим отговора

Въпросът „колко време отнема да научите Java“ е доста труден. Разделяме го на по-конкретни подвъпроси и отговаряме на тях тук. За да бъдем по-точни, използвахме интервюта със студенти от CodeGym, отворени източници и статистиката от проучването. Това проучване беше за процесите на обучение на Java и търсенето на тази първа работа. То беше проведено от едно от местните звена на CodeGym. Участниците в проучването бяха студенти на CodeGym от ниво 30 и по-високо, които са намерor тази първа работа, свързана с Java, or са участвали в Java стаж.

Какво означава „Да познаваш Java“?

Най-точният, макар и много общ отговор на този въпрос би бил „да мога да реша проблема с помощта на Java“. Такъв проблем може да бъде целта „полагане на изпит“ or „получаване на работа“. Или това може да е техническа задача, or голяма „да създам собствен проект, достатъчно добър за Play Market“, например, or малка, като „да разбера How да напиша code, който прави това, от което се нуждаете“. До безкрайност и отвъд: колко време отнема да научите Java?  - 2Разбира се, вашите проблеми ще се променят с времето. След като получите първата си работа, ще трябва да израснете до позиции (например от 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
  • … и всички горепосочени комбинации.
Всички тези теми имат едно общо нещо. Това е Core Java, основите на езика Java. Така че, ако не знаете Core Java , определено изобщо не знаете Java . Следователно, да научите Core Java е стъпка №1 за всеки бъдещ разработчик на Java софтуер. Core Java обхваща основните концепции на езика:
  • Основни типове и обекти
  • Основни конструкции (специални оператори, цикли, разклонения)
  • OOPs концепции
  • Класове обвивки
  • Колекции
  • Многопоточност
  • I/O потоци
  • Обработка на изключения
Така че Core Java съдържа основни типове, обекти, конструкции и принципи, Howто и най-важните библиотеки и рамки. Освен това Core Jav обхваща класове за работа в мрежа, сигурност, достъп до база данни, разработка на графичен потребителски интерфейс (GUI) и анализ на XML. Повечето пакети на "Core Java" започват с 'java.lang..' Първата цел на всеки студент по Java е да научи Core Java. Какво да науча след Java Core? Зависи за Howво учите Java.

Вашият личен начин. За 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
По-долу е разширена инфографика, базирана на проучването на CodeGym и анализ на текущи свободни работни места за Java Junior. Отбелязваме само, че той не изобразява самата Java, но и редица други технологии, които съвременните разработчици на Java би трябвало да знаят. До безкрайност и отвъд: колко време отнема да научите Java?  - 3Размерът и разклонението му могат да изплашат нетрениран читател. Моля, запазете спокойствие и дишайте дълбоко! Тези технологии ще научите в детайли по време на работата си. Обикновено един начинаещ разработчик на софтуер трябва просто да има обща представа за повечето от тези технологии (с редки изключения).

Разработчик на Android

Android разработчиците могат да работят за компания or да имат свои собствени проекти. Те със сигурност трябва да знаят Java Core и някои други технологии. Тук имаме една инфографика, която демонстрира начин на Android Developer. До безкрайност и отвъд: колко време отнема да научите Java?  - 4Е, има много точки в списъка, но не много от тях са директно за 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
Обикновено пътят до Junior QA Automation е малко по-кратък от Java Junior Developer. Точните числа ще намерите в края на тази статия.

Кой пита? Портрети на потенциални студенти по Java

„Мисля, че зависи от вашия опит и времето, което можете да отделите за учене. Когато започнах пътуването си като софтуерен разработчик, прекарвах поне 40 часа седмично в учене. След 6 месеца редовно обучение се почувствах достатъчно уверен, че мога сам да овладея всяка нова технология. За да намерите първата си работа като софтуерен инженер, ще трябва не само да научите Java, но и да разберете основите на компютърните науки, обектно ориентираното програмиране и да напишете няколко проекта, които могат да покажат работата ви. Мисля, че това може да отнеме някъде между девет и дванадесет месеца. Знам, че това звучи като много работа, но не се обезсърчавайте! Това пътуване може да бъде истинско забавление, ако откриете кой аспект от codeирането ви носи радост и си позволите да играете.“ До безкрайност и отвъд: колко време отнема да научите Java?  - 5
Юлия Дейнега , самоук разработчик на софтуер. Юлия работи за LinkedIn като REACH Apprentice Engineer Освен това тя създаде канал в YouTube , за да сподели опита си от изучаването на компютърно програмиране и намирането на работа в Сorконовата долина
Можем да разделим тези, които започват да учат Java на три основни категории:
  1. „Новобранци“. Нулев опит. Е, тук има хора, които не разбират нищо от програмиране.
  2. „Средни“. Студенти с минимален or хаотичен опит в програмирането. Тези хора учат програмиране в учorще, университет or курсове, но това не беше сериозно обучение.
  3. "Професионалисти". Разработчици на софтуер, които владеят други езици за програмиране (1 or повече).
Според проучването 49% от нашите ученици са имали основно програмиране в учorща or курсове, преди да започнат сериозно да учат Java.
  • 33,3% са бor абсолютно начинаещи
  • 17,6% са знаели поне един език за програмиране
До безкрайност и отвъд: колко време отнема да научите Java?  - 6

Какво влияе положително на времето за обучение?

За да не губите време напразно, трябва да подходите ефективно към ученето от самото начало. Идентифицирахме основните точки, които допринасят за успешното програмиране на обучението.

Изберете правилните източници

В интернет можете да намерите много и различна информация за Java. Лесно е да се изгубите в него. Понякога, ако не разбирате дадена тема, е полезно да потърсите в Google нови източници, но преди да започнете е добра идея да изберете: 1 основно ястие и 1-2 спомагателни източника, като книги or уроци по Java. Придържайте се към тях. В този случай ще си спестите време, избягвайки безцелното лутане в Интернет и търсенето на нещо.

Бъдете готови да учите много и последователно

Джон Селавски, преподавател по Java и разработчик на софтуер каза в една от статиите си, че понякога е имал някои ученици, които са се справяли с програмирането невероятно добре, но някои от тях просто са спрели да учат. Техните проблеми не бяха в свободното време, възрастта or пола. Не ставаше въпрос за способности! Ставаше въпрос за последователност. Всички успешни студенти имаха последователен график и се придържаха към него. Те постигнаха напредък, макар понякога да беше бавен. Така че трябва да имате график (можете да го вземете от вашия основен курс or урок) и да определите време за учене. Искате да направите Java програмирането ваша професия? Ако е така, бъдете готови да учите всеки ден в продължение на 1–3 часа. До безкрайност и отвъд: колко време отнема да научите Java?  - 7Според анкетата на CodeGym, 52,3% от нашите успешни ученици са имали 1 до 3 часа ежедневна практика.

Добро съотношение на теория и практика

Не можете да научите How да плувате, без да се опитате да плувате, само с книга. Същата история с програмирането. Не можете да научите програмиране, без да пишете code. Програмирането е практическа дейност. Важно е да започнете да пишете code възможно най-рано. Не е нужно да учите твърде много теория наведнъж, особено през първите месеци на обучение. По-добре е да го изучавате на малки порции и след това веднага да го фиксирате на практика. И така, 20% от времето ви е за теоретични изследвания и 80% за практика. Тук е точното място да се върнем на първия въпрос „Какво означава да знаеш Java” и да изясним отговора. Да знаеш Java означава да можеш да codeираш на Java. Не „да познавате Java“, а да можете да пишете програми с различна сложност и да имате известен опит в подобно програмиране.

Добро съотношение за лесни и трудни задачи

Новобранците доста често се опитват да решават някои трудни задачи, опитват ги отново и отново. Ако го правят твърде дълго, резултатът може да е тъжен. Това е път към загуба на мотивация. За начинаещи е по-полезно да решават много малки и прости задачи, отколкото няколко сложни. Добро съотношение за първите месеци на обучение е 1 трудна задача към 10–20 прости задачи. И още нещо: ако задачата е твърде сложна за вас и сте се опитвали да я решите няколко пъти, смело я... отложете, докато разберете повече. По-добре е да решите още няколко по-лесни задачи и след това да се върнете в непроходимата крепост. Или .. ако все още смятате, че това е подходящият момент да го разрешите, не се страхувайте да зададете въпрос. Това е следващата точка.

Умейте да задавате въпроси

Начинаещите често се колебаят дали да задават въпроси във форуми и общности, защото смятат, че въпросите им може да са глупави. Е, определено биха могли! Но всичко е наред, няма причина за притеснение! Всеки разработчик на софтуер беше на ваше място и се нуждаеше от отговор на глупав въпрос за новобранец. Какво от това? Общностите за програмиране донякъде си сътрудничат. Разработчиците на софтуер обикновено работят в екип и всички те някога са бor начинаещи. Всеки студент и дори всеки професионален софтуерен разработчик задава глупави въпроси от време на време и в това няма престъпление. Така че, ако нещо се обърка, отидете във форума и задайте въпрос! Със сигурност може да е Javaranch or Stack Overflow or CodeGym Help. Най-добрите форуми за задаване на въпроси or търсене на отговори:

И така, колко време трябва да науча Java, за да получа първата си работа?

Доближихме се до момента, в който можем да отговорим на основния въпрос на тази статия: колко време отнема да научите Java, преди да започнете да изпращате автобиографията си и да получите първата си работа? Използваме данните от проучването и интервютата със студенти, за да създадем следните графики, които отчитат първоначалното ниво на респондентите и една от трите необходими позиции. За всяка група определихме интервалите от време, за които са изучавали Core Java и времето, което са прекарали в изучаване на свързаните технологии, необходими за получаване на първата работа. внимание!Ето информация за четене на графики. „Новобранец“ е човек с нулев опит в програмирането, „Среден“ е човек, който е научил малко програмиране в учorще or курсове. В случая на Java и Android Developer, „Професионалист“ означава лице, което владее добре един or повече езици за програмиране. В случая на QA Automation „Pro“ означава този, който вече работи в ръчно тестване и иска да стане автоматизатор с език Java. За всички графики използвахме времева скала с броя на месеците. Червените правоъгълници означават време, прекарано в изучаване на Core Java, сините са за други необходими технологии освен Core Java. До безкрайност и отвъд: колко време отнема да научите Java?  - 8До безкрайност и отвъд: колко време отнема да научите Java?  - 9До безкрайност и отвъд: колко време отнема да научите Java?  - 10Важно е да разберете, че графиките показват средното времеизразходвани от респондентите от всяка група за изучаване на технологии. Всъщност във всяка група имаше шампиони, които се справяха много по-бързо с обучението си, а имаше и такива, които отлагаха обучението си с няколко години. Общото време на обучение показва момента, в който кандидатите са започнали да изпращат автобиография or са завършor първия си проект (който е започнал да печели пари). Според нашето проучване намирането на работа отнема средно от месец до три. Тези месеци на търсене започват в края на изучаването на свързани технологии. Имаше късметлии, които намериха работа седмица след изпращането на първото си CV, но имаше и такива, които прекараха цяла година в търсене. До безкрайност и отвъд: колко време отнема да научите Java?  - 11

Изводи

Колко време да научите Java? Според резултатите от изследването скоростта на изучаване на Java и свързаните с нея технологии зависи най-вече от редовността и първоначалното ниво на ученика. Разбира се, сега не можете да направите нищо с първоначалното си ниво, но редовното учене определено е ваша отговорност. Как да научите Java бързо? Опитайте се да не правите дълги спирания or да отлагате, докато учите. Това е изключително важно, защото по време на дълги спирания не просто стоите на едно място, а малко по малко се връщате назад. Ежедневна практика, постоянство и мотивация — определено ще имате нужда от всичко това, ако решите да научите Java и свързани технологии. Ако следвате определен график, спазвате правилния баланс между теория и практика и практикувате ежедневно поне 1-3 часа, не се страхувайте да задавате въпроси, напълно възможно е да научите Java до ниво, което ще ви позволи да намерите първата си работа след 6-12 месеца. ... И след това продължете обучението си като разработчик/професионалист по автоматизация на качеството до безкрайност и отвъд! PS: Сега Howво ще кажете за вас? Колко време учиш Java сега? Труден ли е този процес? Или може би вече сте намерor първата си работа, свързана с Java? Беше ли трудно? Или може би просто сте започнали да го търсите? Споделете своя опит тук!
Коментари
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION