Menu

Nakov.com logo

Thoughts on Software Engineering

Академия за тийм лидери и стажанти: един успешен експеримент

Наскоро завърши успешно първата експериментална академия за тийм лидер и стажанти по софтуерна разработка, организирана от д-р Светлин Наков с подкрепата на СофтУни. Целта на начинанието беше да се срещнат топ студенти, завършващи СофтУни с опитни програмисти, които правят първите си стъпки като проектни ръководители (team leaders), за да разработят в екип реален софтуерен проект от практиката в продължение на 3 месеца (от ноември 2023 до февруари 2024), доброволно, без заплащане и без други ангажименти. Така студентите трупат реален практически опит за работа в софтуерен екип (със съответните технически инструменти, практики, срещи и междуекипна комуникация), а тийм лидерите трупат опит като екипни ръководители.

Академията се оказа доста успешен експеримент

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

В крайна сметка съм щастлив, че инициативата се оказа доста успешна. Имахме 25 отбора средно с по 4-5 участника, в които бяха създадени 25 софтуерни проекта, част от които напълно завършени и функционални, а други все още в процес на доработка и развитие. От тях 22 отбора се явиха успешно на защита и представиха публично проектите си, екипите си и екипното си взаимодействие.

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

Проекти, екипи, участници

Средно-статистическият проект в академията за тийм лидери и стажанти се състоеше от практическа софтуерна задача с обем 5-15 човекомесеца, в която бяха написани средно 50 000 – 100 000 реда код, във вид на 500-1000 commits и 100-150 pull requests.

Прави добро впечатление, че повечето кандидат тийм лидери работиха доста професионално.

  • Повечето проекти имаха добре организиран работен процес с дъска за управление на задачите, добре структурирано хранилище за кода (GitHub repo), ползваха branches и pull requests (PR) с code review process.
  • Много от проектите имаха и CI / CD система, автоматизирани тестове и автоматизиран deployment в cloud среда.
  • Всички тийм лидери бяха организирали подходящи канали за екипна комуникация (например Discord канал) и провеждаха регулярни срещи на екипа (от веднъж седмично до всеки ден).
  • Повечето екипи ползваха ефективни инструменти за организация и проследяване на задачите и напредъка по проекта (като Notion, Trello, Click Up, GitHub Projects и други).
  • Откъм технологии имаше огромно разнообразие: JavaScript, React, Python, Django, Node.js + Express + MongoDB, C# + ASP.NET, Java + Spring, SQL Server, PostgreSQL, PHP + Laravel и разнообразни cloud технологии.
  • Най-много проекти имаше с JavaScript. Почти всички проекти ползваха JavaScript базиран front-end, най-често с React. Много от проектите ползваха JavaScript и от страна на сървъра.

Следва списък на проектите, екипите и участниците в тях:

Project “Transport Company Web App”

Проектът представлява фирмен уеб сайт на транспортна фирмаAlgona Ltd”: https://algona.ltd

  • Technologies: static Web site + service request forms + admin panel. Written in C# and .NET + SQL Server + Azure CI/CD + Azure deployment.
  • Team management: Trello + Discord, 1 meeting / week, GitHub repo + pull requests.
  • The scope of the project is not large: few pages + 2-3 dynamic forms + admin panel + vehicle tracking tools.
  • Project public repo: https://github.com/IvanovvAlex/Algona

Dev team:

  • Alex Ivanov (team leader)
  • Denitsa Slavkova (FE + design lead)
  • Dimiter Blagoev (FE)
  • Maria Zaharieva (FE)
  • Anton Todorov (BE)
  • Iliya Zapryanov (BE)
  • Lyubomir Sokolov (BE)
  • Spasko Katsarski
  • Georgi Vasilev

Project “Motorsport Events Mobile App” (Race Fanatic)

Проектът представлява мобилно приложение за събития, свързани с моторни спортове (драг, дрифт, рали, мотокрос, събори и други): https://racefanatic.app.

Dev team:

  • Valeri Getsov (team leader)
  • Nikolay Gavazov
  • Hristo Yonkov (BE)
  • Dimo Hristov (FE)
  • Pavel Dimitrov (BE)
  • Atanas Antonov
  • Borislav Asenov (FE)

Project “AI Software Generator”

Проектът представлява app generator with AI, based on chatbot with LLM. Used AI assistants, based on Open AI API.

  • Technologies: Python, LangChain, OpenAI API, GitLab + CI / CD, Docker, Kubernetes cluster, auto deploy.
  • Team management: Scrum-based development, daily scrum, 2-week sprints, GitLab, Discord.
  • Project repo: https://gitlab.com/aspar-public/example-apps

Dev team:

  • Trifon Trifonov (team leader)
  • Nataliya Benova-Walsh (FE)
  • Yanko Rashkov (BE)
  • Petko Todorov (BE)
  • Georgi Lukanov (BE)
  • Todor Daskalov (BE)
  • Ivan Tsvetanov (BE)
  • Boyan Todorov (BE)
  • Peter Stoyanov (BE)

Project “Real Estate Website”

Проектът представлява пълнофункционален сайт за недвижими имоти, с публична част за обявите (публикуване, търсене, разглеждане) и admin panel за управление и администрация.

Dev team:

  • Ivan Ivanov (team leader)
  • Polina Drumeva
  • Krasimir Nenov
  • Gabriela Ilieva
  • Krasen Stefanov

Project “Cloud Admin Dashboard”

Проектът представлява internal CRM system for managing AWS cloud resources: visualizes the breakdown for used AWS services and their pricing.

  • Technologies: React + Refine CRM + AWS, DynamoDB, GraphQL, Lambda
  • Team management: Jira, Discord, 2-3 meetings / week, working with branches and pull requests in a private GitHub repo.
  • Private GitHub repo: link unavailable.

Dev team:

  • Petar Nikov (team leader)
  • Elia Kuzmanova
  • Zarko Boyukliev
  • Boris Kapitanski

Project “Online Booking Platform: mi-casa-su-casa”

Проектът представлява онлайн резервационна система за хотели, вили, апартаменти и други имоти, (като booking.com): users book properties, owners add / list properties, view reservations.

Dev team:

  • Stanislav Ivanov (team leader)
  • Kosta Kazakov
  • Juliyan Marinov
  • Mehmed Syuleyman
  • Slavi Karaslavov

Project “NFT Marketplace”

Проектът представлява децентрализирано блокчейн приложение: платформа за търговия на NFT токени. Състои се от smart contract + front-end app.

  • Technologies: blockchain, smart contracts, Solidity Infura API, React + Redux; Ethers.js
  • Team management: several sprints (blockchain intro, transactions, smart contracts), GitHub project board, 2-weeks sprints, 1 meeting per week, private Discord server
  • Project repo: https://github.com/TL-Academy

Dev team:

  • Borislav Stoyanov (team leader)
  • Chavdar Tonchev
  • Vladislav Stefanov
  • Nikolay Radkov
  • Darin Ivanov

Project “Kitchen Helper: Recipe App”

Проектът представлява сайт за готварски рецепти с ChatGPT интеграция, генериране на аудио инструкции и други забавни функционалности (публична част + admin panel): https://kitchenhelper.eognyanov.com

Dev team:

  • Emilian Ognyanov (team leader)
  • Dimitar Dimitrov
  • Velin Iliev

Project “E-Government Apps”

Проектът се състои от няколко приложения, свързани с електронно управление: електронно гласуване (e-voting), електронно преброяване (e-census).

  • Technologies: back end: Java, Spring, PostgreSQL, Python, Docker, Azure, Hibernate, JWT, cryptography; front end: React + TS + MUI + Axios
  • Team management: Notion, backlog + sprints in GitHub, 50+ meetings, many interactions, daily meeting, Discord server
  • Excellent presentation (with well prepared slides)
  • Public repo: https://github.com/ivan-parnarev/E-Government

Dev team:

  • Ivan Parnarev (team leader)
  • Kaloyan Milchev
  • Yana Metodieva
  • Nedko Karaivanov
  • Bogomil Bogomilov

Project “Goodreads Enhanced”

Проектът представлява сайт за ревюта на книги (като Goodreads). Не е довършен.

Dev team:

  • Teodor Stefanov (team leader)
  • Alex Elinova
  • Vladimir Mitev
  • George Kostadinov
  • Ivaylo Ivanov

Project “Homes Building Market”

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

Dev team:

  • Rosteslav Yordanov (team leader)
  • Alexandar Petrov
  • Ivaylo Ivanov
  • Viktor Georgakiev
  • Petar Belchev
  • Kristian Ivanov

Project “Cardflow: Trading Card Games Market”

Проектът представлява trading platform for games cards, focusing on the Bulgarian market: https://cardflow.market

  • Technologies: React + TypeScript front-end; Django + MongoDB back-end; Google cloud
  • Team management: Jira, GitHub, PRs, CI, sprints, Discord, Figma designs
  • Project repo: https://github.com/julkascript/cardflow

Dev team:

  • Yulian Prodanov (team leader)
  • Milen Palachorov
  • Valentin Karadzhov
  • Simeon Todorov
  • Zhivko Tringov
  • Kaloyan Hristov

Project “IoT Device Management App: Street Lights”

Проектът представлява device management system for IoT devices (Raspberry controllers), managed from a Web app, aimed to control street lights.

  • Technologies: MicroPython (for the controller programming), React, Material UI, Node.js
  • Team management: Trello task board, GitHub, 2 meetings weekly, Discord chat
  • Private project repo

Dev team:

  • Damian Boytchev (team leader)
  • Atanas Stoychev
  • Nikolay Marzakov

Project “Bicycle Production Tracker”

Проектът представлява ERP система за проследяване на производството на велосипеди: controls the production process of custom-made bicycles (client, assembly workers, QAs, managers).

  • Technologies: React front-end, C# backend (MS SQL Server + Entity Framework)
  • Team management: 950 commits, 150 PRs, task tracking with Click Up, 2 meetings per week, daily communication
  • Project repo: https://github.com/airfanBG/SoftuniBMX

Dev team:

  • Daniel Damyanov (team leader)
  • Nikolay Yuchormanski
  • Krasimir Iliev
  • Todor Todorov
  • Georgi Kolev

Project “Dropshipping Software System”

Проектът представлява dropshipping tracker Web app and toolset for Amazon + Browser extension UI: https://drop-shipping-trm.vercel.app

  • Technologies: backend (Node.js + MongoDB) + client app (React.js) + Browser extension (vanilla JS)
  • Team management: Discord discussions and real-time collaboration, weekly sprints
  • Very good documentation in GitHub (congrats!)
  • Project public repo: https://github.com/TodorYadkov/dropshipping-scraper

Dev team:

  • Deyan Danailov (team leader)
  • Todor Yadkov
  • Rosen Dobrev
  • Maxim Kraychev

Project “FitBySide: AI Fitness App”

Проектът представлява Fitness mobile app: store and track training sessions (workouts and sets), view statistics (visual with charts): https://fitbyside.com

  • Technologies: React + Node.js + Express, MongoDB, Mongoose, packaged as a mobile app.
  • Team management: communication in Discord, weekly team meetings, other one by one meetings, 500+ commits
  • Private project repo

Dev team:

  • Iliya Iliev (team leader)
  • Vladislav Trifonov
  • Ivelin Gachev
  • Valentin Obretenov
  • Zdravka Mladenova
  • Kiril Hristov
  • Petya Ivanchova
  • Rumen Raenkov

Project “Python Scrapy: E-Commerce Site Scraper”

Проектът представлява Python tools for scraping ecommerce sites (web stores): collects info like products, prices, descriptions, photos, etc. It scrapes these sites: Technopolis, Technomarket, Zora, Ozone, Technomix (for 6 hours total).

  • Technologies: Python, Scrapy, Playwright, headless browsers
  • Team management: meetings almost every day, GitHub, PR, code reviews
  • Project repo: private

Dev team:

  • Kristiyan Tashev (team leader)
  • Atanas Chebishev
  • Yordanka Stefanova
  • Veselin Delchev
  • Alex Kolev

Project “Health Prescription Software”

Проектът представлява софтуерна система за електронни лекарски рецепти (за лекари, пациенти и фармацевти). Physicians create prescriptions for their patients, prescriptions are available for pharmacies by patient ID (personal EGN): https://health-prescription.azurewebsites.net

Dev team:

  • Nikola Madzharov (team leader, BE)
  • Ivan Kukutsov (BE)
  • Simona Osoyska (BE)
  • Veneta Ivanova (FE)
  • Ivaylo Stavrev (FE)
  • Viktor Shandrov (FE)

Project “E-Prescription 2.0”

Проектът представлява digital prescriptions app (for doctors, pharmaceutists and patients) with quite good UI and pleasant UX.

Dev team:

  • Lyuben Sirakov (team leader)
  • Ali Musli
  • Valentin Obretenov
  • Miroslav Dimitrov

Project “Learn to Drive App”

Проектът представлява приложение подготовка на водачи на МПС (за шофьорския изпит). Проектът не е завършен.

Dev team:

  • Valentin Kolev (team leader)
  • Donika Markova
  • Alex Manolov
  • Ivo Ivanov

Project “E-Books Online”

Проектът представлява електронна библиотека с книги – учебно уеб приложение. Проектът не е завършен.

Dev team:

  • Mihaela Nemtsova (team leader)
  • Viktor Dremsizov (front end)
  • Teodor (front end)
  • Viktor Dimitrov (front end)
  • Mitko (back end)
  • Borislav (back end)
  • Anton Dimitrov (back end)

Project “AI Social Platform”

Проектът представлява малка социална мрежа (като Facebook) с AI-генерирано съдържание (text generation and image generation with OpenAI API).

Dev team:

  • Dzheylyan Ademova (Jenny) – team leader
  • Anton Iliev
  • Bagriyan Borisov
  • Georgi Yunchov
  • Martin Milev
  • Yolinka Domuschieva

Project “Fakturiko: Invoicing Platform”

Проектът представлява онлайн платформа за менажиране на фактури (invoicing platform): for accounting, invoices, clients, reports, expense management, etc.

  • Functionality: register / login, create customer, create, list, edit invoices, generate PDF documents
  • Technologies: Docker, AWS, cloud storage, PDF generation; Angular front-end; Node + Express back-end
  • Team management: Kanban board, issue tracker, GitHub, Digital Ocean; 1800+ commits
  • Project repo: private

Dev team:

  • Martin Marinov (team leader)
  • Anastasia Popova (BE)
  • Nikolay Slavov (BE)
  • Nina Nikolova (FE)
  • Emil Nikolov (FE)

Project “Pets Match: Connecting App for Pets Owners”

Проектът представлява Web app for connecting pet owners with other pet owners to match their pets. It implements pets matching functionality (like Tinder for pets) + pets marketplace functionality.

Dev team:

  • Kalin Stoev (team leader)
  • Anton Todorov (BE)
  • Ivaylo Milanov (BE)
  • Ivaylo St. Ivanov (FE)
  • Iliyan Paskov (FE)

Project “Investment Tracker”

Проектът представлява платформа за проследяване на инвестиции (главно crypto assets): въвеждаш си активите и техните параметри и проследяваш тяхната стойност във времето, възвръщаемост и други параметри.

Dev team:

  • Mihael Pavlov (team leader)
  • Lachezar Georgiev

Сертификати

След проведените публични защити на разработените проекти в рамките на инициативата “Intern & Team Lead Academy (Nov 2023 – Feb 2024)“, следните участници в академията получават сертификати:

Team leaders certificates (for successful management of software development team):

  • Alex Ivanov
  • Valeri Getsov
  • Trifon Trifonov
  • Ivan Ivanov
  • Petar Nikov
  • Stanislav Ivanov
  • Borislav Stoyanov
  • Emilian Ognyanov
  • Ivan Parnarev
  • Rosteslav Yordanov
  • Yulian Prodanov
  • Damian Boytchev
  • Daniel Damyanov
  • Deyan Danailov
  • Iliya Iliev
  • Kristiyan Tashev
  • Nikola Madzharov
  • Lyuben Sirakov
  • Dzheylyan Ademova
  • Martin Marinov
  • Kalin Stoev
  • Mihael Pavlov

Student intern certificates (for successful participation in a real-world software development team):

  • Denitsa Slavkova
    Dimiter Blagoev
    Maria Zaharieva
    Anton Todorov
    Iliya Zapryanov
    Lyubomir Sokolov
    Spasko Katsarski
    Georgi Vasilev
  • Nikolay Gavazov
    Hristo Yonkov
    Dimo Hristov
    Pavel Dimitrov
    Atanas Antonov
    Borislav Asenov
  • Nataliya Benova-Walsh
    Yanko Rashkov
    Petko Todorov
    Georgi Lukanov
    Todor Daskalov
    Ivan Tsvetanov
    Boyan Todorov
    Peter Stoyanov
  • Polina Drumeva
    Krasimir Nenov
    Gabriela Ilieva
    Krasen Stefanov
  • Elia Kuzmanova
    Zarko Boyukliev
    Boris Kapitanski
  • Kosta Kazakov
    Juliyan Marinov
    Mehmed Syuleyman
    Slavi Karaslavov
  • Chavdar Tonchev
    Vladislav Stefanov
    Nikolay Radkov
    Darin Ivanov
  • Dimitar Dimitrov
    Velin Iliev
  • Kaloyan Milchev
    Yana Metodieva
    Nedko Karaivanov
    Bogomil Bogomilov
  • Alexandar Petrov
    Ivaylo Ivanov
    Viktor Georgakiev
    Petar Belchev
    Kristian Ivanov
  • Milen Palachorov
    Valentin Karadzhov
    Simeon Todorov
    Zhivko Tringov
    Kaloyan Hristov
  • Atanas Stoychev
    Nikolay Marzakov
  • Nikolay Yuchormanski
    Krasimir Iliev
    Todor Todorov
    Georgi Kolev
  • Todor Yadkov
    Rosen Dobrev
    Maxim Kraychev
  • Vladislav Trifonov
    Ivelin Gachev
    Valentin Obretenov
    Zdravka Mladenova
    Kiril Hristov
    Petya Ivanchova
    Rumen Raenkov
  • Atanas Chebishev
    Yordanka Stefanova
    Veselin Delchev
    Alex Kolev
  • Ivan Kukutsov
    Simona Osoyska
    Veneta Ivanova
    Ivaylo Stavrev
    Viktor Shandrov
  • Ali Musli
    Valentin Obretenov
    Miroslav Dimitrov
  • Anton Iliev
    Bagriyan Borisov
    Georgi Yunchov
    Martin Milev
    Yolinka Domuschieva
  • Anastasia Popova
    Nikolay Slavov
    Nina Nikolova
    Emil Nikolov
  • Anton Todorov
    Ivaylo Milanov
    Ivaylo St. Ivanov
    Iliyan Paskov
  • Lachezar Georgiev

Благодарности

Благодарности на всички участници в тази инициатива!

Благодарности на тийм лидерите, които отделиха от свободното си време, за да ръководят екипи, да менторират своите екипи от стажант-програмисти, да отговарят на технически и всякакви други въпроси, да правят код ревюта, да дават съвети, да организират и провеждат срещи, дискусии и обсъждания по проектите, които сами донесоха в тази инициатива и управляваха с мотивация и отдаденост. Благодаря ви от името на всички участници! Вие дадохте много за тази инициатива. Надявам се, че и понатрупахте лидерски опит и успяхте да добавите в портфолиото си още един проект, в който сте на позиция “team leader” на екип от софтуерни разработчици. Пожелавам ви натрупаните умения и опит да ви отварят врати в кариерното ви развитие!

Благодарности на студентите-стажанти за отделеното време, енергия и усърдие при разработката на проектите, за търпението, вложените усилия и страст, за старателната работа и произведения краен резултат. Вярвам, че сте научили много и сте записали в портфолиото си още един значим практически проект за вашия кариерен старт в tech индустрията, за който ще разказвате с трепет по интервютата за работа. Желая ви безкрайни успехи в софтуерните професии и бързо кариерно израстване!

Comments (0)

RSS feed for comments on this post. TrackBack URL

LEAVE A COMMENT