Академия за тийм лидери и стажанти: един успешен експеримент
Наскоро завърши успешно първата експериментална академия за тийм лидер и стажанти по софтуерна разработка, организирана от д-р Светлин Наков с подкрепата на СофтУни. Целта на начинанието беше да се срещнат топ студенти, завършващи СофтУни с опитни програмисти, които правят първите си стъпки като проектни ръководители (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/AlgonaDev 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 KatsarskiGeorgi VasilevProject “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-AppFE Admin Panel repo: https://github.com/Getsov/Motorsport-Events-adminBack End (BE) repo: https://github.com/Getsov/Motorsport-Events-ServerDev team:
Valeri Getsov (team leader)Nikolay GavazovHristo Yonkov (BE)Dimo Hristov (FE)Pavel Dimitrov (BE)Atanas AntonovBorislav 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-appsDev 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 + MySQLTeam management: Scrum process, Jira, 2-week sprints, 1-2 meetings / sprint.Project public repo: https://github.com/realestateSoftuni/RealEstateDev team:
Ivan Ivanov (team leader)Polina DrumevaKrasimir NenovGabriela IlievaKrasen StefanovProject “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, LambdaTeam 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 KuzmanovaZarko BoyuklievBoris KapitanskiProject “Online Booking Platform: mi-casa-su-casa”Проектът представлява онлайн резервационна система за хотели, вили, апартаменти и други имоти, (като booking.com): users book properties, owners add / list properties, view reservations.
Technologies: React + PHP + Laravel + MySQLTeam management: Jira, sprints (1-4 weeks), Discord, GitHub, PR + code reviewsPublic repo (FE): https://github.com/stanislavivanov995/real-estate-app-fePublic repo (BE): https://github.com/stanislavivanov995/real-estate-app-beDev team:
Stanislav Ivanov (team leader)Kosta KazakovJuliyan MarinovMehmed SyuleymanSlavi KaraslavovProject “NFT Marketplace”Проектът представлява децентрализирано блокчейн приложение: платформа за търговия на NFT токени. Състои се от smart contract + front-end app.
Technologies: blockchain, smart contracts, Solidity Infura API, React + Redux; Ethers.jsTeam management: several sprints (blockchain intro, transactions, smart contracts), GitHub project board, 2-weeks sprints, 1 meeting per week, private Discord serverProject repo: https://github.com/TL-AcademyDev team:
Borislav Stoyanov (team leader)Chavdar TonchevVladislav StefanovNikolay RadkovDarin IvanovProject “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, CloudinaryTeam management: 2-week sprints, 2 meetings / week, Notion boards, Discord chatsExcellent project presentation (with well prepared slides)Public repo (BE): https://github.com/eognianov/kitchen-helper-backendPublic repo (FE): https://github.com/eognianov/kitchen-helper-frontendDev team:
Emilian Ognyanov (team leader)Dimitar DimitrovVelin IlievProject “E-Government Apps”Проектът се състои от няколко приложения, свързани с електронно управление: електронно гласуване (e-voting), електронно преброяване (e-census).
Technologies: back end: Java, Spring, PostgreSQL, Python, Docker, Azure, Hibernate, JWT, cryptography; front end: React + TS + MUI + AxiosTeam management: Notion, backlog + sprints in GitHub, 50+ meetings, many interactions, daily meeting, Discord serverExcellent presentation (with well prepared slides)Public repo: https://github.com/ivan-parnarev/E-GovernmentDev team:
Ivan Parnarev (team leader)Kaloyan MilchevYana MetodievaNedko KaraivanovBogomil BogomilovProject “Goodreads Enhanced”Проектът представлява сайт за ревюта на книги (като Goodreads). Не е довършен.
Technologies: C#, .NET and SQL Server (back-end), JS + React (front-end)Public repo (BE): https://bitbucket.org/techleadproject/backendPublic repo (FE): https://bitbucket.org/techleadproject/frontendDev team:
Teodor Stefanov (team leader)Alex ElinovaVladimir MitevGeorge KostadinovIvaylo IvanovProject “Homes Building Market”Проектът представлява сайт за недвижими имоти с посетители, собственици и брокери, които могат да се регистрират, публикуват и управляват своите обяви.
Technologies: .NET 8 back-end, microservices, Redis, React front-endTeam management: Jira + GitHub, pull requests, 158 finished tickets, 800+ commitsGood functionality, high state of completeness. Good teamwork and demo.Project repo (BE): https://github.com/rosteslav/HomesBEProject repo (FE): https://github.com/rosteslav/HomesFEDev team:
Rosteslav Yordanov (team leader)Alexandar PetrovIvaylo IvanovViktor GeorgakievPetar BelchevKristian IvanovProject “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 cloudTeam management: Jira, GitHub, PRs, CI, sprints, Discord, Figma designsProject repo: https://github.com/julkascript/cardflowDev team:
Yulian Prodanov (team leader)Milen PalachorovValentin KaradzhovSimeon TodorovZhivko TringovKaloyan HristovProject “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.jsTeam management: Trello task board, GitHub, 2 meetings weekly, Discord chatPrivate project repoDev team:
Damian Boytchev (team leader)Atanas StoychevNikolay MarzakovProject “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 communicationProject repo: https://github.com/airfanBG/SoftuniBMXDev team:
Daniel Damyanov (team leader)Nikolay YuchormanskiKrasimir IlievTodor TodorovGeorgi KolevProject “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 sprintsVery good documentation in GitHub (congrats!)Project public repo: https://github.com/TodorYadkov/dropshipping-scraperDev team:
Deyan Danailov (team leader)Todor YadkovRosen DobrevMaxim KraychevProject “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+ commitsPrivate project repoDev team:
Iliya Iliev (team leader)Vladislav TrifonovIvelin GachevValentin ObretenovZdravka MladenovaKiril HristovPetya IvanchovaRumen RaenkovProject “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 browsersTeam management: meetings almost every day, GitHub, PR, code reviewsProject repo: privateDev team:
Kristiyan Tashev (team leader)Atanas ChebishevYordanka StefanovaVeselin DelchevAlex KolevProject “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+ meetingsProject repo FE: https://github.com/health-prescription-team/health-prescription-software-FEProject repo BE: https://github.com/health-prescription-team/Health-prescription-software-APIDev 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), GitHubBack-end repo: https://github.com/e-prescription-2-0/e-prescription-serverFront-end repo: https://github.com/e-prescription-2-0/e-prescription-2.0Dev team:
Lyuben Sirakov (team leader)Ali MusliValentin ObretenovMiroslav DimitrovProject “Learn to Drive App”Проектът представлява приложение подготовка на водачи на МПС (за шофьорския изпит). Проектът не е завършен.
Technologies: .NET, C#, VueJSTeam management: Azure DevOps, meetings, project task boardProject repo: https://dev.azure.com/vallentink/Driving%20Course%20AppDev team:
Valentin Kolev (team leader)Donika MarkovaAlex ManolovIvo IvanovProject “E-Books Online”Проектът представлява електронна библиотека с книги – учебно уеб приложение. Проектът не е завършен.
Technologies: Python + Django + PostgreSQL back-end; React + Vite front-endProject repo (backend): https://github.com/MitkoVtori/e-book-online-store/tree/back-endProject repo (frontend): https://github.com/MitkoVtori/e-book-online-store/tree/front-endDev 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: ReactTeam management: Trello for task management, GitHub with branches and pull requests (PR), Discord chats, meetings 1-2 times / week + daily chat discussionsProject repo: https://github.com/SoftUni-s-Team-Lead-AI-Social-Platform/AI-Social-PlatformGood project documentation (congrats!)Dev team:
Dzheylyan Ademova (Jenny) – team leaderAnton IlievBagriyan BorisovGeorgi YunchovMartin MilevYolinka DomuschievaProject “Fakturiko: Invoicing Platform”Проектът представлява онлайн платформа за менажиране на фактури (invoicing platform): for accounting, invoices, clients, reports, expense management, etc.
Functionality: register / login, create customer, create, list, edit invoices, generate PDF documentsTechnologies: Docker, AWS, cloud storage, PDF generation; Angular front-end; Node + Express back-endTeam management: Kanban board, issue tracker, GitHub, Digital Ocean; 1800+ commitsProject repo: privateDev 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 ReactTeam management: 2 meetings / week, Jira, GitHub, new branch per task, test + production environmentProject repo: https://github.com/connectingpets/petsmatchDev 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, othersTeam management: Trello board, GitHub, branch per feature, 3 meetings per week, 370 commitsProject repo: https://github.com/MihaelPavlov/Angular_Projects/tree/main/investment-appDev 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 IvanovValeri GetsovTrifon TrifonovIvan IvanovPetar NikovStanislav IvanovBorislav StoyanovEmilian OgnyanovIvan ParnarevRosteslav YordanovYulian ProdanovDamian BoytchevDaniel DamyanovDeyan DanailovIliya IlievKristiyan TashevNikola MadzharovLyuben SirakovDzheylyan AdemovaMartin MarinovKalin StoevMihael PavlovStudent intern certificates (for successful participation in a real-world software development team):
Denitsa SlavkovaDimiter Blagoev
Maria Zaharieva
Anton Todorov
Iliya Zapryanov
Lyubomir Sokolov
Spasko Katsarski
Georgi VasilevNikolay Gavazov
Hristo Yonkov
Dimo Hristov
Pavel Dimitrov
Atanas Antonov
Borislav AsenovNataliya Benova-Walsh
Yanko Rashkov
Petko Todorov
Georgi Lukanov
Todor Daskalov
Ivan Tsvetanov
Boyan Todorov
Peter StoyanovPolina Drumeva
Krasimir Nenov
Gabriela Ilieva
Krasen StefanovElia Kuzmanova
Zarko Boyukliev
Boris KapitanskiKosta Kazakov
Juliyan Marinov
Mehmed Syuleyman
Slavi KaraslavovChavdar Tonchev
Vladislav Stefanov
Nikolay Radkov
Darin IvanovDimitar Dimitrov
Velin IlievKaloyan Milchev
Yana Metodieva
Nedko Karaivanov
Bogomil BogomilovAlexandar Petrov
Ivaylo Ivanov
Viktor Georgakiev
Petar Belchev
Kristian IvanovMilen Palachorov
Valentin Karadzhov
Simeon Todorov
Zhivko Tringov
Kaloyan HristovAtanas Stoychev
Nikolay MarzakovNikolay Yuchormanski
Krasimir Iliev
Todor Todorov
Georgi KolevTodor Yadkov
Rosen Dobrev
Maxim KraychevVladislav Trifonov
Ivelin Gachev
Valentin Obretenov
Zdravka Mladenova
Kiril Hristov
Petya Ivanchova
Rumen RaenkovAtanas Chebishev
Yordanka Stefanova
Veselin Delchev
Alex KolevIvan Kukutsov
Simona Osoyska
Veneta Ivanova
Ivaylo Stavrev
Viktor ShandrovAli Musli
Valentin Obretenov
Miroslav DimitrovAnton Iliev
Bagriyan Borisov
Georgi Yunchov
Martin Milev
Yolinka DomuschievaAnastasia Popova
Nikolay Slavov
Nina Nikolova
Emil NikolovAnton Todorov
Ivaylo Milanov
Ivaylo St. Ivanov
Iliyan PaskovLachezar GeorgievБлагодарности
Благодарности на всички участници в тази инициатива!
Благодарности на тийм лидерите, които отделиха от свободното си време, за да ръководят екипи, да менторират своите екипи от стажант-програмисти, да отговарят на технически и всякакви други въпроси, да правят код ревюта, да дават съвети, да организират и провеждат срещи, дискусии и обсъждания по проектите, които сами донесоха в тази инициатива и управляваха с мотивация и отдаденост. Благодаря ви от името на всички участници! Вие дадохте много за тази инициатива. Надявам се, че и понатрупахте лидерски опит и успяхте да добавите в портфолиото си още един проект, в който сте на позиция “team leader” на екип от софтуерни разработчици. Пожелавам ви натрупаните умения и опит да ви отварят врати в кариерното ви развитие!
Благодарности на студентите-стажанти за отделеното време, енергия и усърдие при разработката на проектите, за търпението, вложените усилия и страст, за старателната работа и произведения краен резултат. Вярвам, че сте научили много и сте записали в портфолиото си още един значим практически проект за вашия кариерен старт в tech индустрията, за който ще разказвате с трепет по интервютата за работа. Желая ви безкрайни успехи в софтуерните професии и бързо кариерно израстване!