Академия за тийм лидери и стажанти: един успешен експеримент
Наскоро завърши успешно първата експериментална академия за тийм лидер и стажанти по софтуерна разработка, организирана от д-р Светлин Наков с подкрепата на СофтУни. Целта на начинанието беше да се срещнат топ студенти, завършващи СофтУни с опитни програмисти, които правят първите си стъпки като проектни ръководители (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.
- Technologies: hybrid mobile app, written in JS (MEAN stack + Ionic), Node.js, Ionic, Angular, MongoDB, Swagger. Broad range of event management functionalities + admin panel.
- Team management: 2 meetings / week. Trello board + Discord. GitHub + pull requests.
- FE Hybrid Mobile App repo: https://github.com/Getsov/Motorsport-Events-App
- FE Admin Panel repo: https://github.com/Getsov/Motorsport-Events-admin
- Back End (BE) repo: https://github.com/Getsov/Motorsport-Events-Server
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 за управление и администрация.
- Technologies: front-end: React + JS; back-end: PHP + Laravel + MySQL
- Team management: Scrum process, Jira, 2-week sprints, 1-2 meetings / sprint.
- Project public repo: https://github.com/realestateSoftuni/RealEstate
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.
- Technologies: React + PHP + Laravel + MySQL
- Team management: Jira, sprints (1-4 weeks), Discord, GitHub, PR + code reviews
- Public repo (FE): https://github.com/stanislavivanov995/real-estate-app-fe
- Public repo (BE): https://github.com/stanislavivanov995/real-estate-app-be
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
- Technologies: Python back-end (FastAPI) + Vue.js front-end, Docker, gRPC, RabbitMQ, GitHub workflows, Cloudinary
- Team management: 2-week sprints, 2 meetings / week, Notion boards, Discord chats
- Excellent project presentation (with well prepared slides)
- Public repo (BE): https://github.com/eognianov/kitchen-helper-backend
- Public repo (FE): https://github.com/eognianov/kitchen-helper-frontend
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). Не е довършен.
- Technologies: C#, .NET and SQL Server (back-end), JS + React (front-end)
- Public repo (BE): https://bitbucket.org/techleadproject/backend
- Public repo (FE): https://bitbucket.org/techleadproject/frontend
Dev team:
- Teodor Stefanov (team leader)
- Alex Elinova
- Vladimir Mitev
- George Kostadinov
- Ivaylo Ivanov
Project “Homes Building Market”
Проектът представлява сайт за недвижими имоти с посетители, собственици и брокери, които могат да се регистрират, публикуват и управляват своите обяви.
- Technologies: .NET 8 back-end, microservices, Redis, React front-end
- Team management: Jira + GitHub, pull requests, 158 finished tickets, 800+ commits
- Good functionality, high state of completeness. Good teamwork and demo.
- Project repo (BE): https://github.com/rosteslav/HomesBE
- Project repo (FE): https://github.com/rosteslav/HomesFE
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
- Technologies: C# + PostgreSQL, Azure, GitHub, GitHub Actions; front-end: JavaScript, React.
- Team management: meeting one per week + daily sub-team meetings + review and testing meetings; Jira board, 700+ commits, 20+ meetings
- Project repo FE: https://github.com/health-prescription-team/health-prescription-software-FE
- Project repo BE: https://github.com/health-prescription-team/Health-prescription-software-API
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.
- Technologies: JavaScript + Node + Express + (back-end); React (front-end)
- Team organization: 2 meetings / week, Scrum and Kanban, YouTrack (project tracker), GitHub
- Back-end repo: https://github.com/e-prescription-2-0/e-prescription-server
- Front-end repo: https://github.com/e-prescription-2-0/e-prescription-2.0
Dev team:
- Lyuben Sirakov (team leader)
- Ali Musli
- Valentin Obretenov
- Miroslav Dimitrov
Project “Learn to Drive App”
Проектът представлява приложение подготовка на водачи на МПС (за шофьорския изпит). Проектът не е завършен.
- Technologies: .NET, C#, VueJS
- Team management: Azure DevOps, meetings, project task board
- Project repo: https://dev.azure.com/vallentink/Driving%20Course%20App
Dev team:
- Valentin Kolev (team leader)
- Donika Markova
- Alex Manolov
- Ivo Ivanov
Project “E-Books Online”
Проектът представлява електронна библиотека с книги – учебно уеб приложение. Проектът не е завършен.
- Technologies: Python + Django + PostgreSQL back-end; React + Vite front-end
- Project repo (backend): https://github.com/MitkoVtori/e-book-online-store/tree/back-end
- Project repo (frontend): https://github.com/MitkoVtori/e-book-online-store/tree/front-end
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).
- Technologies: бack-end: C#, .NET, .NET Web API, OpenAI API, Azure; front-end: React
- Team management: Trello for task management, GitHub with branches and pull requests (PR), Discord chats, meetings 1-2 times / week + daily chat discussions
- Project repo: https://github.com/SoftUni-s-Team-Lead-AI-Social-Platform/AI-Social-Platform
- Good project documentation (congrats!)
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.
- Technologies: C#, .NET 8 and React
- Team management: 2 meetings / week, Jira, GitHub, new branch per task, test + production environment
- Project repo: https://github.com/connectingpets/petsmatch
Dev team:
- Kalin Stoev (team leader)
- Anton Todorov (BE)
- Ivaylo Milanov (BE)
- Ivaylo St. Ivanov (FE)
- Iliyan Paskov (FE)
Project “Investment Tracker”
Проектът представлява платформа за проследяване на инвестиции (главно crypto assets): въвеждаш си активите и техните параметри и проследяваш тяхната стойност във времето, възвръщаемост и други параметри.
- Technologies: Angular front-end, C# back-end, Identity server, Web API, others
- Team management: Trello board, GitHub, branch per feature, 3 meetings per week, 370 commits
- Project repo: https://github.com/MihaelPavlov/Angular_Projects/tree/main/investment-app
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 индустрията, за който ще разказвате с трепет по интервютата за работа. Желая ви безкрайни успехи в софтуерните професии и бързо кариерно израстване!