Принципът на 3-те кофи - Какви проекти да разработвам, за да натрупам опит?

Радослав Георгиев

Публикувано на: 4 април 2024г.

Намирането на първа работа е може би един от най-трудните моменти за всеки влизащ в IT индустрията.

Една от причините е, че всеки новопостъпил стажант или младши специалист представлява инвестиция за работодателя.

Представете си, че един младши специалист струва общо 3000 лв на месец на даден работодател.

Този младши специалист ще има нужда от 6 месеца, до 1 година, за да влезе в ритъм и да стане продуктивен. Тоест, инвестицията на един работодател, за младши специалист, може да варира между 20 и 30 хиляди лева.

Допълнително, за да бъде ефективно въвеждането на този младши специалист, е нужно да му се обърне качествено внимание. Това внимание, често идва от хората с повече опит.

Когато пазарът върви нагоре и има достатъчно работа - такава инвестиция се прави сравнително лесно.

Обаче, когато пазарът е по-стегнат, работодателите търсят хора с опит - човек, който да може да бъде продуктивен от първия ден и седмица.

И тук идва въпросът - какво да прави човек в подобни ситуации?

Какви проекти да разработва, за да може хем да трупа опит, хем да трупа портфолио и когато пазарът е в по-добро състояние - да има предимство в търсенето на работа?

На този въпрос ще се опитаме да дадем отговор в тази статия.

Едни и същи CV-та, едни и същи проекти

Да стартираме с гледната точка на един работодател, който е решил да отвори позиция за стажант или за младши специалист.

Ако към този момент са приключили потоците на по-известните академии (Телерик, СофтУни), то работодателят ще получи десетки (понякога и стотици) CV-та, които изглеждат еднакво:

  1. Човек X, без предишен опит в IT индустрията;

  2. Изкарал дадена академия;

  3. С проекти, които е правил в съответната академия.


Ако пазарът е в добро състояние и има достатъчно работа, тогава дори и тези еднакви CV-та имат шанс да стигнат до интервю.

При по-стегнат пазар - никой няма да получи никакъв отговор.


(Отварям скоба - при наличието на такива CV-та, обикновено първото нещо, което бива използвано за филтър, е локацията. За това и намирането на remote работа като младши специалист е особено трудно. Но това е тема за друга статия).

Трите кофи

Тук идва и принципа за “трите кофи” - рамка, с която човек да бъде ангажиран, трупайки едновременно опит и портфолио.

Този принцип се роди по време на едно от Live Q&A събитията ни - Live Q&A - "Помощ за младши специалисти: Какво правим, докато си търсим IT работа през 2024?"

Принципът е прост:

  1. Ще разделим проектите в 3 различни групи, които ще наречем кофи.

  2. Всяка кофа ще има своята специфична характеристика.

  3. Това ще ни даде малко по-стратегически подход към проектите, които ще разработим.

Кофа 1 - Проектите, които всички правят

Това е кофата, в която трябва да пълним с така наречените проекти, които всички правят:

  1. Всичко, с което сме се занимавали в академията или университета - домашни, упражнения, проекти.

  2. Всякакви туториали, които сме гледали и правили.

  3. И всичко друго, което ни е станало интересно и сме решили да тестваме или да изградим така нареченият “proof of concept”.


Първата кофа решава два основни проблема:

  1. Генерира добро количество работа, което да ни мине през ръцете. Обем.

  2. Спира ни от така наречената “анализа парализа”. Това са въпросите от вида - “Ами аз сега какво да правя като проект, като не мога да измисля нищо оригинално и яко?”.


За първата кофа е важен обемът.


Добро начало е да имаме поне 10 проекта вътре. Още по-добре би било да имаме 20.


Нека за момент се върнем към гледната точка на работодателя. Когато той отвори едно CV и види 3 проекта с Python / Django, от СофтУни курса по Python и Django, това са просто 3 проекта от първата кофа.


Тук има съществено разминаване между “поне 10 проекта”, и тези 2-3, които всички имат и показват.


Нека разгледам един примерен списък с проекти, които могат да влязат в първата кофа:

  1. Всички домашни, които правим в дадена академия или университет.

    • Добре подредени, с коментари, с тестове.

  2. Ако сме се ориентирали към езици и технологии, които нямат пряк израз в уеб браузърите - различни алгоритми. Например, поредица от алгоритми върху графи.

    • Отново - добре подредени, с коментари и тестове.

  3. Класически игри. Игрите са прекрасни проекти за първата кофа, защото са добре дефинирани, познати са, и могат да бъдат имплементирани с най-различен набор от технологии. Дори и да нямате уеб насоченост, винаги може да си харесаме някой UI / 2D framework, към езикът и технологиите, които учите. А ако имате уеб насоченост - още по-добре, защото JavaScript е наш приятел.

    1. Tic-Tac-Toe;

    2. Tetris;

    3. Snake;

    4. Pong;

    5. Breakout;

    6. Pac-Man;

    7. Белот;

    8. Blackjack;

    9. Chess;

    10. И много други. За още идеи може да попитаме директно някой от големите езикови модели (ChatGPT, Claude, etc.).

  4. Конзолни приложения. Конзолните приложения, както класическите игри, са идеални проекти за първата кофа, особено, ако ще търсим работа, в която ще се изискват Linux умения.

    1. Може да направим реплика на някой от популярните инструменти, като например grep.

    2. Може да направим конзолен генератор на силни пароли.

    3. Може да направим проста алтернатива на find, която да търси файл по име в дадени директории.

    4. Може да направим и проект, който има т.нар. конзолен интерфейс - като проста складова програма, която следи наличностите на дадени предмети.

    5. И много други. За още идеи може да попитаме директно някой от големите езикови модели (ChatGPT, Claude, etc.).

  5. Класическите туториал проекти:

    1. To-do list;

    2. Blog;

    3. Personal website;

    4. Online store;

    5. И много други. За още идеи може да попитаме директно някой от големите езикови модели (ChatGPT, Claude, etc.).

Тук, практичността на даден проект не е особено важна. Например - правим блог, не за да го използваме (тогава бихме стъпили в/у някоя готова платформа), а за да видим какво би влязло в правенето на един блог.

За част от проектите, най-вероятно ще ни се наложи да гледаме допълнителни видеа и да четем допълнителни туториали. И това е напълно нормално. Това са един вид помощни колела, с които се учим.

За това препоръчвам - когато сте готови с даден проект, за който плътно сте се придържали към даден туториал:

  1. Направете си разбор какво ново сте научили.

  2. Изтрийте всичко и започнете наново. Този път с по-малко гледане в туториала.

Както сами виждате - това е кофата, която ще ви държи ангажирани известно време, а през ръцете ви ще мине съществен обем работа.

Кофа 2 - Проектите, които са на фокус, с по-голям детайл

Когато сме натрупали известно количество обем с първата кофа, може да си позволим да се фокусираме върху по-малко на брой проекти, но в по-голям детайл.

Моята препоръка е да си харесате 1-2 проекта от първата кофа и те да станат “на фокус”.


Например, ако си харесаме блогът, който сме направили, то във втората кофа може да разгърнем малко повече тази концепция и да изследваме какви са ни опциите за направа на блог:

  1. Стандартна MVC архитектура;

  2. Headless CMS / GraphQL + modern frontend (React, Angular, Vite);

  3. Static Site Generator;

  4. Готова платформа, в стил WordPress;

  5. И други.


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


Друг пример - харесали сме си някоя от игрите от първата кофа и решаваме, че ще се фокусираме там. Нещата, които може да разгледаме са:

  1. Създаване на backend за пазене на потребители и резултати;

  2. Варианти за превръщане на играта в multiplayer вариант;

  3. Разработка на варианти за map builder / world builder.


А може и да си харесаме проект, който да не се намира в първата кофа - например - някое уеб приложение.


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


За втората кофа са важни следните неща:

  1. Проектите да имат завършен вид.

  2. Проектите да живеят някъде и да могат да бъдат тествани или подкарани.

    1. Ако не сме в уеб, то трябва да имаме хубаво README, описващо как да подкараме проекта. В допълнение, клипче, което да показва вие как правите демо винаги е голям плюс!

    2. Ако сме в уеб, нямаме причина да не качим някъде нашият проект.

  3. Проектите да използват повече и различни елементи.

    1. Бази от данни;

    2. Системи за контрол на достъпа (мислете authentication & authorization);

    3. Опашки за съобщения (мислете messages queues);

    4. Ползване на други външни услуги (мислете интеграция с даден API).


Както и за първата кофа, така и тук - оригиналността на проектите не е от особено значение. По-важното е да ни е интересно това, което ще правим.


Това е кофата, която ще ни накара да започнем да гледаме върху нещата с по-професионално око.

Кофа 3 - Проектите, които са ни на сърце

Кофа 3 може да бъде разгледана като специалната версия на Кофа 2.

Искаме абсолютно същите неща. С една лека разлика. Тук правим проекти, които са ни на сърце.


А какво означава това?

Това са проекти, които поради някаква причина, са важни за нас:

  1. Близко са до наше хоби;

  2. Ще помогнат на приятел / познат / роднина;

  3. Или просто имаме силен интерес към тях.


Като примери, това може да е:

  1. Даден open source, в който искаме да помогнем;

  2. Инициативи стил podkrepi.bg;

  3. И много други.


За всеки човек, това би било различно.


Хубавото нещо на проектите, които са ни на сърце, е, че ще имаме повече вътрешна мотивация, за да вкараме допълнително усилие.


А освен това, ще разказваме за тях с допълнителен ентусиазъм.


Не е задължително човек винаги да има проект, който да му е баш на сърце. Ако към даден момент нямаме такива - то винаги може да се фокусираме върху още проекти от втората кофа.


Тук е важно да се спомене, че липсата на проекти за 3-тата кофа по никакъв начин не е “deal breaker” за намирането на подходяща работа.

Управление на очакванията

Макар и да искаме да постигнем резултат по-бързо, то една добра разходка, която да напълни и 3те кофи, би отнела поне 6 месеца.

За това, моят съвет е да започнете да пълните своите кофи от рано:

  1. Когато карате дадена академия - мислете за кофите и ги пълнете.

  2. Когато си търсите работа и процесът отнема време - мислете за кофите и ги пълнете.

  3. Когато се подготвяте за смяна на текущата ни работа, но нямате какво да покажете - мислете за кофите и ги пълнете.


Както гласи поговорката:
“Най-доброто време да засадиш дърво е преди 20 години. Второто най-добро време е сега.”

От къде да започнем и към кого да се обърнем за помощ?

Един от често задаваните въпроси е:

"По ред ли да ги карам кофите?" или "Мога ли да стартирам директно с Кофа 3?"


Тук, отговорът винаги е един и същ - както прецените.

Моята препоръка е да не пропускате кофа.

  • Кофа 1 ще ви даде обем, за да може да кажете “Изкодих едни 20 проекта за последните месеци”.

  • Кофа 2 ще ви даде фокус, за да може да кажете “Нека ти покажа и разкажа с повече подробности за този проект тук”.

  • Кофа 3 ще ви даде допълнителният бонус, да кажете “X ми е на сърце и виж какво направих по тази причина”.


Ако имате нужда от пояснения или пък искате да зададете въпросите, които имате - елате в нашият Discord (въведе hackbulgaria.chat в браузъра) - и попитайте. Ще ви се отговори.

Приятно пълнене на кофите!

Място, за допълнителни пояснения и референции

Концепцията за 3те кофи навярно ще търпи подобрения.

Та си оставяме тази част от статията, за да имаме място за:

  1. Допълнителни пояснения;

  2. Допълнителни материали и референции;

  3. Още примери.

Като първи набор от допълнителни референци за Кофа 1: