Фури Роад: Путовање програмера за обрачун

Менаџер компаније за развој наплате има два начина да изгради тим. Први је да се регрутују готови „сениори“ и да се континуирано стварају такви услови за рад да максимално искористе своје вештине и искуство, да се развијају и да при томе не улазе у туче. Други је да се створи тим од мешавине новопридошлих, средњих и професионалаца, тако да комуницирају, утичу једни на друге, уче и расту унутар компаније. Ја сам против зачараног круга а ла „без искуства – нема посла – нема искуства“ и не видим проблем у ангажовању програмера почетника. Форвард Телеком већ дуго има програм стажирања, који је многим садашњим запосленима постао одскочна даска у каријери.

Сада ћу вам рећи како ја видим развојни пут програмера наплате и којим редоследом треба да савладате професионалне вештине.

1. Научите програмски језик

За почетак, било ко. Приоритет је Јава, Питхон и ЈаваСцрипт, али Руби, Го, Ц, Ц++ су погодни за стицање основних знања. Како подучавати? Идите на плаћене и бесплатне курсеве; могу препоручити обуку из Голанга. Ако вам ниво енглеског језика дозвољава, гледање страних видео записа је добра додатна вештина.

Фури Роад: Путовање програмера за обрачун

2. Разумети ОС концепте

Оперативни системи се заснивају на седам компоненти које морате да знате и умете да објасните принцип рада:

  • Управљање процесима;
  • Нити и вишенитни код;
  • Соцкет (софтверски интерфејс);
  • И/О диспечирање;
  • виртуелизација;
  • Складиште;
  • Системи датотека.

Препоручујем да похађате основни курс администрације за Линук. Други оперативни системи у низу су Виндовс и Уник.

3. Навикните се на терминал

По аналогији са фобијом од празног листа, постоји и фобија од празног црног екрана са трепћућим курсором. Мораћете да га превазиђете да бисте научили како да напишете добре команде на командној линији.
Мора да зна:

  • Басх и КорнСхелл шкољке;
  • Команде финд, греп, авк, сед, лсоф;
  • Мрежне команде нслоокуп и нетстат.

Фури Роад: Путовање програмера за обрачун

4. Мрежа и безбедност

Наплата је уско повезана са захтевима за заштиту мреже и података. Не можете писати онлајн услуге без разумевања како мрежа функционише, тако да морате да научите основне концепте и протоколе: ДНС, ОСИ модел, ХТТП, ХТТПС, ФТП, ССЛ, ТЛС. Затим, када наиђете на грешку Цоннецтион Рефусед, знаћете шта да радите.

5. Сервери

Након проучавања принципа преноса информација на мрежи, можете започети основе рада сервера. Почните са веб серверима: ИИС, Апацхе, Нгинк, Цадди и Томцат.

Даље низ листу:

  • Реверсе проки;
  • Анонимоус проки;
  • Кеширање;
  • Балансирање оптерећења;
  • Ватрени зид.

6. Научите инфраструктуру као код

Верујем да је ова фаза једна од најважнијих. Мораћете да разумете три широке теме:

  • Контејнери: Доцкер и Кубернетес
  • Алати за управљање конфигурацијом: Ансибле, Цхеф, Салт и Пуппет
  • Резервна копија: Тераформа, облаци.

7. Научите ЦИ/ЦД

Још једна корисна вештина за програмера наплате је да може да постави цевовод за континуирану интеграцију и испоруку. У области ЦИ/ЦД постоје алати као што су Јенкинс, ТеамЦити, Дроне, Цирцле ЦИ и други. Спојлер: учење Џенкинса који се широко користи биће довољно у почетку.

8. Контрола софтвера и инфраструктуре

Кључни циљ је разумевање основа праћења апликација. Алати у овој области су подељени у три групе:

  • Мониторинг инфраструктуре: Нагиос, Ицинга, Датадог, Заббик, Монит.
  • Праћење перформанси апликације: АппДинаниц, Нев Релиц.
  • ЛМС: ЕЛК Стацк, Граилог, Сплунк, Папертраил.

9. Услуге у облаку

У блиској будућности, свака апликација или софтвер ће имати пандан у облаку. Пре или касније, програмери се сусрећу са облаком, па прочитајте о популарним добављачима облака (АВС, Гоогле Цлоуд и Азуре) и о основама технологије.

10. Рад са базом података

Сви актуелни пројекти користе базе података, а искуство са ДБМС-ом и СКЛ-ом ће олакшати почетак. Научите да пишете СКЛ упите, користите објашњење и научите како функционише индекс. Најлакши начин је да прођете курс. Такође можете вежбати своје вештине Постгрес документације и играти се са репликацијом.

11. Побољшајте своје меке вештине

Неочекивано необична тачка, али ништа мање важна. За почетак, будите стрпљиви. Брзо се навикнете на ситуације попут „поправи пеглу, ти си програмер“, али мораш да будеш психички спреман за рокове за покретање нових пројеката. Ако сте од нула до годину дана у програмирању и сматрате се јуниором, припремите се за критику и научите да је прихватите, преглед кода од стране ментора је често болан процес. Али у исто време, обавезна вештина је способност да се брани своје гледиште и конструктивно расправља; понекад се истина рађа у свађи. Програмери никада не престају да уче, практично не постоји плафон у струци, тако да су способност учења и ЖЕЉА за учењем нових ствари основа вашег развоја.

Фури Роад: Путовање програмера за обрачун

Често ме питају када почетник достиже средњи ниво и када се може са поносом назвати „сениор“. Сматрам да тренутак преласка са нивоа на ниво није одређен бројем година рада, иако су практичне вештине кључни критеријум. Управо меке вештине често одређују брзину развоја програмера: обучен и вредан почетник може да напише висококвалитетан код на неколико језика и може да ради у тиму за само неколико месеци. Програмер са 10 година искуства можда неће бити у стању да реши нестандардне проблеме, да управља тимом и да има једностране вештине.

Овако видим развојни пут програмера за наплату, тако узгајамо квалификоване стручњаке у нашем Форвард Телецом тиму. Чини се да ми ништа не недостаје, али увек сам захвалан на корисним додацима.

Извор: ввв.хабр.цом

Додај коментар