Drim Dev – Telegram
Drim Dev
385 subscribers
19 photos
49 links
Канал о деятельности компании Drim Dev и об ИТ-индустрии в целом. Ведёт Дмитрий Мельник.

Аккаунт для связи @mitro52.

Сайт https://drim.dev/
Download Telegram
Channel created
What is Drim?

Drim is a company founded by me, Dmitriy Melnik, with the ultimate goal of advancing the software development industry in Kazakhstan and beyond.

There are currently five directions to achieve that:

1. Drim Team
2. Drim Courses
3. Drim Consulting
4. Drim Events
5. Drim City

Drim Team is a community of software engineers united by the shared goal of improving their communication, design, and development skills. The community members go about this in different ways, helping each other solve software development problems and exchanging ideas. They host and attend online and offline private Drim events, offering excellent networking opportunities.

Drim Courses currently provide online courses for .NET backend developers. They cover vast areas from monolithic to cloud-native scalable and fault-tolerant applications. Main themes also include container and orchestration technologies, IaC tools, CI/CD pipelines, blockchain, and many more. Highly skilled developers are central to the thriving software development industry, so Drim places particular emphasis on training them.

Drim Consulting offers consulting services to companies that want to improve their software design and development technologies, processes, and practices. These changes reduce development time and costs, ultimately making businesses and teams happier and more competitive.

Drim Events is an initiative to host public events for the broader developer community. There, we discuss modern technologies and development processes. That helps improve the overall level of specialists, making the labor market more mature. This initiative has a public meetup group where one can find all past and upcoming events. Feel free to join it! https://www.meetup.com/drim-events/

Drim City is an open-source project with a backend developed with .NET and a frontend developed with React. The project has two goals. Firstly, it is a reference implementation of a modern cloud-native, scalable, and fault-tolerant application. Anyone interested in these subjects can learn from Drim City or contribute to it. Secondly, the project builds a learning and communication platform for the broader IT specialists community. You can find Drim City at https://github.com/drim-dev/drim-city.

All projects mentioned above create significant opportunities for anyone interested in advancing their career or company. Stay tuned and join Drim on this journey! ☀️
🔥51
On Saturday, December 2, we met with Drim Team members in Astana.

The meeting went great. We met in person, discussed many interesting topics, and just had a fun time. Thanks to everyone who came. 🙂

Next stop - Almaty!

There are currently 28 members in Drim Team, with 17 more on their way to join it.
👍10
Drim Dev pinned «What is Drim? Drim is a company founded by me, Dmitriy Melnik, with the ultimate goal of advancing the software development industry in Kazakhstan and beyond. There are currently five directions to achieve that: 1. Drim Team 2. Drim Courses 3. Drim Consulting…»
On December 27 at 19:30 (UTC+6), Drim Events will host the next meeting about new features of .NET 8. This time, we will discuss .NET Aspire.

.NET Aspire is an opinionated, cloud-ready stack for building observable, production-ready, distributed applications.

We will discuss this technology's main features and conduct a live demo. Furthermore, we will discuss use cases that can benefit from .NET Aspire.

I highly recommend it to all interested in distributed systems and modern web backend development.

The speaker is Dmitriy Melnik, founder of Drim. The meeting is in Russian language.

Register and find additional information at https://www.meetup.com/drim-events/events/297878760/.
👍7
I am pleased to announce that the "CryptoBank Microservices" course has started! Yesterday, December 14th, we held a kick-off meeting where the participants met and discussed the course content. There are 30 participants from different cities of the world, including Astana, Almaty, Moscow, Novosibirsk, Limassol, Prague, and Tokyo.

The main goal of the course is to create a distributed .NET application using modern Software Development Life Cycle processes and tools. These include cloud providers, Terraform, Ansible, GitHub Actions, Nginx, Kubernetes, Helm, Prometheus, Elasticsearch, and many more.

We'll deeply research diverse architectural approaches differing in communication styles, data consistency types, and coordination models. This knowledge will allow the participants to understand each approach's trade-offs and applicability to specific business requirements. The tools learned along the way will include reactive programming, gRPC, Kafka, and RabbitMQ.

Another main topic is communication security. We'll learn about TLS, HTTPS, public key certificates, and PKI. Software engineers must understand how it works, so a systematic review is necessary. Moreover, we'll set up automatic certificate renewal with Automatic Certificate Management Environment (ACME) tools.

Last but not least is our journey in blockchain technologies. We'll look at Ethereum and its innovations, including the Ethereum Virtual Machine (EVM) and smart contracts.

The participants warmly received the denoscription of the course content. They understand these technologies and processes will allow them to become top specialists and successfully compete in the labor market. Motivation is high, so let's get started! 🚀
👍7
In the first part of the "CryptoBank Microservices" course, the participants use Infrastructure-as-Code tools to deploy their applications to a cloud environment. Everyone can choose a cloud provider at their own discretion.

Many factors influence the decision-making process, and pricing is one of them. Let's compare the prices of virtual machines offered by some popular providers. We'll use the configuration that is well-suited for most general-purpose workloads:

* 4 virtual CPUs
* 16 GB of RAM
* 150 GB of local SSD
* West Europe region

Here are the results:

* Azure offers D4ads instances for $182 per month per instance.
* AWS offers m5ad.xlarge instances for $193 per month per instance.
* Google Cloud offers c3-standard-4-lssd instances for $162 per month per instance.
* Hetzner Cloud offers CCX32 instances for $32 per month per instance.
* DigitalOcean uses no instance names and allows the configuration of each parameter. The instance with the given parameters costs $136 per month.
* Yandex Cloud uses no instance names as well. The instance with the given parameters costs $64 per month.

As you can see, prices vary greatly. You can save a lot of money if you take this into account when choosing a cloud provider.
4
The Drim Team members came up with the great idea of conducting mock interviews with each other. Without thinking twice, we planned the first one for February 7th. And then, every week, there will be more of them. Such interviews will allow each participant to understand what gaps there are in their knowledge and how to fill them.

Another important goal is to prepare for real interviews, in which our participants will prove themselves as high-class professionals. 🚀

It will be fun!
🔥8👍1
Hi all!

We recently introduced Drim Seminars as a new activity in the Drim Team. Seminars are designed to allow participants to discuss important programming and system design topics together. The goal is to expand everyone's knowledge and experience.

We conducted the first seminar yesterday. The topic was "idempotency," a vital concept programmers must understand to develop correct software systems. The participants elaborated on this idea, learning the following things in the process:

* Which HTTP requests must be idempotent and which are not;
* How to deduplicate non-idempotent requests on both client-side and server-side;
* How Stripe API supports idempotency;
* How Microsoft Azure API supports idempotency;
* What is the OASIS Repeatable Requests standard;
* What is the difference between PUT and PATCH requests;
* What is JSON PATCH, and how it affects idempotency;
* Which processing guarantees Apache Kafka supports;
* Why idempotent consumers are essential for some processing guarantees in Apache Kafka;

We published the seminar on YouTube with information sources (articles and books) listed in the denoscription: https://youtu.be/3M5b-EY66yM?feature=shared

The video is in Russian language.

Seminars proved to be an effective learning format, so we will conduct them regularly. Keep in touch!
👍3
Do you want to become a more proficient developer?
Do you want to improve your software architecture skills?
Do you want to make better software design decisions?
Do you want to build software faster and with greater quality?

Use architectural decision records.

What is it? An architectural decision record is a document that captures a significant architectural decision made during software system development. It records the reasoning behind the decision, the context in which it was made, and any alternatives that were considered.

The primary purpose of an ADR is two-fold. First, it gives the team a concrete process for making architectural decisions. Second, it aims to provide future developers, architects, and stakeholders with the historical context of why the team chose a particular approach.

Let's look at an example. Suppose you are developing a microservices application and decide to use gRPC as a communication method. You create a diagram depicting the microservices and arrows between them labeled "gRPC." With this approach, you document what design decision you've made. But you don't document why you've made this decision. Is it necessary to elaborate on the "why" side? Yes, it is. Here are the reasons:

1. The formal process of decision documenting forces the team members to think more thoroughly about possible design options and their trade-offs, thus reducing the number of poor choices.
2. Team members can review decisions using pull requests, allowing them to do so asynchronously and more thoughtfully.
3. If a team member has any questions about implementing a feature, ADRs are a good place to consult and learn how to do it.
4. Evolving the system design and architecture will be easier based on the decision history.
5. New team members can read through all ADRs and quickly gain a broad understanding of the system design and implementation, thus reducing onboarding time.
6. Writing ADRs is an excellent exercise for improving software design skills.

Returning to the gRPC example, you can see what an ADR regarding this decision can look like. It is an ADR from the Drimstarter project (we'll talk about this project later) https://github.com/drim-dev/drimstarter/blob/develop/documents/adrs/backend/0001-grpc-communication.md.

I described the basic idea of ADRs and hope you will consider using them on your projects. In future posts, we will discuss specific details and formats. Before that, you can consult a couple of excellent resources on ADRs:

* https://adr.github.io/
* https://github.com/joelparkerhenderson/architecture-decision-record

I will be glad to hear your questions and feedback in the comments.
👍4🔥3👏1
My friend Askhat Omarov is looking for a tech lead for his product https://farel.io. I can recommend Askhat as a competent manager who has created a team of senior and lead level specialists. Contact me @mitro52 if you are interested. Here is the position denoscription:

Farel is a San Francisco-based startup revolutionizing how airlines manage inventory and sales with our cutting-edge SaaS platform. We’ve raised over $4M from top-tier Silicon Valley investors, including Y Combinator (the launchpad for companies like Airbnb, Dropbox, and Coinbase). Our previous team successfully built an online travel agency (OTA) that was acquired by a publicly-traded company. With a diverse and dynamic global team across the US, Georgia, Turkiye, Kazakhstan, Brazil, and Mexico, we are ambitiously pushing the boundaries of the aviation industry.

We are looking for a Tech Lead to join our growing team and help bridge the gap between business requirements and technical execution. In this role, you will ensure that our system architecture is cohesive, scalable, and aligned with business objectives. You will take ownership of the technical vision, work closely with business and engineering teams and provide leadership in making key decisions.

Key Responsibilities:

• Design, review, and approve architectural solutions for new and existing features, ensuring seamless integration and scalability across the platform

• Act as a bridge between product managers and developers, ensuring business requirements are effectively translated into technical implementations

• Lead discussions on technical challenges and solutions, providing clear guidance to the development team, and making authoritative technical decisions

• Collaborate with product managers and developers to define technical project roadmaps, aligning them with business goals and ensuring efficient resource utilization

• Establish and promote software engineering best practices for code quality, security, and system performance, with a focus on sustainable long-term architecture

• Provide technical guidance and mentorship to backend and frontend developers, helping them grow their skills and ensure alignment with the overall architecture

• Maintain a high-level view of the project, identifying potential bottlenecks and areas for improvement, and ensure that all technical decisions contribute to the broader business strategy

Qualifications:

• 6+ years of experience in software architecture, solution design, or technical leadership roles

• Deep technical knowledge of Spring, Spring Boot, PostgreSQL, Angular, Azure, Kubernetes, and GitLab. Proven experience translating business requirements into robust technical solutions

• Strong communication and interpersonal skills, with the ability to influence both technical and non-technical stakeholders

• A passion for solving technical challenges while understanding the broader business context.

Additional Skills:

• Experience working with cross-functional teams in a startup environment.

• Ability to make high-stakes decisions and take responsibility for their outcomes.

• Understanding of BPMN and workflow design, a plus.
👍4
If you are interested but don't know if you have the necessary skills, I can assess them by calling and talking to you.
👍3
Я решил изменить язык канала с английского на русский. Причина в том, что на текущем этапе развитие Drim будет сфокусировано на рынке СНГ. Русский язык позволит расширить аудиторию канала и сделать его более полезным.
Вчера я запустил лендинг Drim - https://drim.dev/

На сайте можно прочитать о всех предложениях по развитию и обучению. Кроме того, можно почитать отзывы участников. Буду благодарен, если поделитесь ссылкой с теми, кому это может быть полезно.
🔥10👍1
18 декабря в 20:00 по времени Астаны Дмитрий Мельник проведёт публичный семинар на тему "Использование платёжного шлюза Stripe для приёма онлайн-платежей".

Это первый семинар из цикла на тему платёжных систем. На нём участники узнают, какие есть платёжные шлюзы, и какие проблемы они решают.

После этого мы посмотрим, как организовать на сайте приём платежей за товары и услуги с помощью популярного сервиса Stripe. Бекенд демонстрационного приложения будет создан с помощью ASP.NET Core 9, а фронтенд - с помощью React и Next.js.

На следующих семинарах из цикла мы изучим более продвинутые возможности платёжных шлюзов, такие как подписки и отложенные платежи.

Приходите, будет интересно и полезно!

Ссылка на событие - https://www.meetup.com/drim-events/events/304858560.

Вступайте в группу https://www.meetup.com/drim-events, чтобы не пропустить это событие и узнавать о новых 🚀

Ссылка на Google Meet - meet.google.com/uay-qcfe-fgs

Больше информации о Drim можно получить на сайте https://drim.dev/.
👍4🔥3
Drim Dev
18 декабря в 20:00 по времени Астаны Дмитрий Мельник проведёт публичный семинар на тему "Использование платёжного шлюза Stripe для приёма онлайн-платежей". Это первый семинар из цикла на тему платёжных систем. На нём участники узнают, какие есть платёжные…
Напоминаем, что сегодня в 20:00 по времени Астаны Дмитрий Мельник проведёт открытую онлайн-лекцию на тему "Введение в финтех на примере поставщика платёжных услуг Stripe" (тема немного изменилась с момента прошлого анонса).

Это первая лекция из планируемого цикла открытых лекций про финтех. После прохождения цикла участники смогут хорошо ориентироваться в том, как устроен финтех. Это индустрия, которая по прогнозам вырастет до 700 миллиардов долларов к 2030 году. Сейчас объем рынка составляет 200 миллиардов долларов. То есть прогнозируется рост в 3 раза. Это создаёт много возможностей как для предпринимателей, так и для разработчиков в этой сфере - можно построить успешную карьеру 💰.

Подписывайтесь на канал @drim_channel, чтобы узнавать о следующих лекциях.

Ссылка на Google Meet, где будет проведена сегодняшняя лекция - meet.google.com/uay-qcfe-fgs

Приходите на лекцию и начните свой путь в мире финтеха 🚀
👍4
Опубликовали на YouTube запись вчерашней лекции про финтех - https://youtu.be/bKJ-bzcTm7U?si=IR2Z09Wytzv6Vahv.

Это первая лекция из цикла лекций про финтех. В ней мы обсудили фундаментальные технологии этой индустрии, такие как эквайринг и поставщики платёжных услуг, заложив тем самым фундамент для дальнейшего развития.

После лекции участники высоко оценили качество и ценность материала, поэтому всем рекомендую к просмотру ☀️.
🔥62👍2
Поздравляем всех с новым 2025 годом! ☀️

Желаем крепкого здоровья, много энергии и баланса между личной жизнью и работой! Уверенно идите по дороге, которая ведёт к процветанию и профессиональному успеху!

Нам с вами по пути! 🚀
🎉145👍4