Просьба, из ПСБ не беспокоить!
Писать в Telegram (energizet).
В свободное от работы время разрабатывал приложения для фитнеса на Android с использованием Kotlin (Google Play). Всего 5 приложений. Для того, чтобы не копировать изменения по проектам, была создана библиотека «движок», в котором разрабатывался функционал, а в приложениях только изменялись цвета, программы тренировок, текста.
Реализовал библиотеку для построения DOM-дерева на чистом JS (dom-extention), отслеживание изменений любого JS объекта (ReactivityJs).
Закончил Яндекс Практикум курс «Алгоритмы и структуры данных».
Решаю задачки на codewars – 4 kyu (ссылка).
Практикуюсь в проектировании архитектур, реализовал MVC, трёхуровневую и чистую архитектуру.
Изучаю паттерны проектирования (ссылка).
Прочитал книги Рихтера «CLR via C#», Мартина «Чистая архитектура», Фаулера «Рефакторинг».
Прошел задачи на sql-ex.
Zero-code api gateway основаный на оркестровке саги работающая на графовом паралельно-последовательном выполнении предкомпилированого состояния и поведения запросов :)
Проектирование и разработка Backend for frontend сервиса.
Сервис на основании конфига генерирует ендпоинты.
Кодогенерация на Expression и Roslyn.
Команда: Тимлид, 3 разработчика, аналитик, тестировщик
Стек: C#, .NET 6-8, ASP.NET, Grpc, SignalR
Стартап социальной сети с упором на выполнение интересных задач, которые придумывают пользователи, а выполняют другие пользователи в онлайн трансляциях.
Команда состоит из тимлида, проектного и визуального дизайнера, backend разработчиков и двух разработчиков под android.
Задачи распределялись в jira по scrum.
Моя зона ответственности – это linux сервера, на Node.JS обёрнутые Nginx и сервера с Wowza (видео стриминговый сервер).
Стек фреймворков: express.js, самописный событийный WebSocket фреймворк (https://github.com/energizet/SocketEvent), аналог SocketIO или SignalR. Для работы с базой использована ормка Sequelize. Для трансляции видео используется Wowza Engine. Интеграция платежей через Stripe. Отправка нотификаций через Firebase Cloud Messaging (FCM).
Я занимался всеми задачами, связанными с серверной частью: проектирование системы и базы данных, настройка и администрирование серверов, и соответственно реализация всей серверной части.
Наша команда разрабатывала процессы под CRM MS Dynamics для табачной компании.
В команде был: архитектор, тимлид, два senior разработчика и три middle.
Работали в jira по agile методологиям: scrum и kanban.
Разработка велась на C# и JavaScript.
Основной вектор разработки — это плагины для Dynamics, которые упаковывались в библиотеку и встраивались в CRM и вызывались при определённых событиях в CRM, например, создание сущности или изменения поля.
Для некоторых задач разрабатывались «адаптеры» для сервиса aka демона, который мы также разработали сами, и он крутился в фоне, например, для рассылки почты по времени, выгрузки данных из kafka или формирования отчётов.
Были сайты, с которыми работали курьеры, менеджеры, торговые точки и конечные покупатели. Их разрабатывали на ASP.NET, а фронт на Angular, React и Vue, для разных сайтов, из-за того, что проект разрабатывался 4 года.
Работа с базой и все crud операции производились через фреймворк предоставляемый Dynamics. Поскольку это система от Microsoft, фреймворк построен поверх EntityFramework.
Также разрабатывали виджеты для CRM, какие-то на ванильном JS, а какие-то с использованием фреймворков.
Я работал со всем этим, включая фронт, в зависимости от задачи.
Например, виджет загружал CSV файлы с ID клиентов, сохранял их как отдельные сущности, плагин при их создании запускал адаптер в сервисе, который из CSV получал ID клиентов, выгружал сущности клиентов и формировал CSV с информацией по клиентам.
Небольшая компания из двух человек: руководителя и технического специалиста.
Я занимался всем начиная с постановки сырой задачи: аналитика, проектирование, интеграция с CRM Мегаплан, разработка, тестирование, администрирование сервера.
Реализовал более 20 проектов на C#.
Часть проектов была реализована на ASP.NET.
Другая часть на самописном сервере, консольной программой.
Реализовал роутинг на регулярках и поиск MVC контролёра через Reflection.
Для сервера: C#, ASP.NET, EF, MS SQL, MySQL.
В нескольких проектах писал Android приложения, для автоматизации.
Стек для Android: Java/Kotlin, Retrofit, Glide, SQLite, Google Maps.
Реализовал множество интеграция с CRM Мегаплан, Авито, Атол. Реализовывал событийные интеграции, которые запускались при событии в CRM, виджеты и прочие автоматизации бизнеса. Пример, виджет Авито для Мегаплан выложенный в официальном marketplace Мегаплан.
Команда состояла из двух разработчиков: главный и я, и руководителя проектом.
Писали на PHP интеграции для Мегаплан.
Очень хорошее заведение.
Обучался с нуля и после окончания нашел работу без особых сложностей.
Меня научили: бекенду, фронтенду, мобильной разработке, сетевому и системному програмиированию, параллельному. Изучали более 20 паттернов, 5 языков.
После окончания я мог идти в любое направление.
Хорошо структурированный курс с удобной и понятной подачей материала.
Уроки текстовые, но есть онлайн встречи после каждого спринта с разбором задач.
В уроках приводятся диаграмы, диалоги, картинки для удобства восприятия, а ещё почти в каждом уроке задают пару вопросов по пройденному материалу, так что проскипать не получится.
Не получится проскипать и по другой причине - практические и финальные задачи в каждом спринте.
Это как задачи на leetcode или codewars, с тем отличием, что задачи дополняют пройденный материал.
Жёстких рамок по времени на выпление этих задач - нет, однако каждый спринт длится две недели и нужно сдать первую полвину финалок до жесткого дедлайна, иначе дальше не пройти.
По итогу я получил знания алгоритмов от простых, вроде сортировок (включая быструю и сортировку слиянием), до более хитрых, таких как: принцип вычисления хешей, включая для строк, проходы по графам и динамическому программированию.