Good dev knows – Telegram
Good dev knows
2.15K subscribers
26 photos
8 videos
187 links
Everything what the good dev shall know. Stories, hard skills, soft skills. Regularly.

Instagram: https://www.instagram.com/gooddevknows/

Questions: @PavloPoliakov
Download Telegram
Good day,

At first, I planned to write a regular post to build some credibility before running an ad. However, I was informed that all early bird tickets are already gone.

So, I’ll start by promoting the 3rd batch of my “Crash Course: Tech Leadership”, which I run in collaboration with fwdays.

The Tech Leadership Crash Course is a 3-day event, with each day dedicated to a key topic:
1️⃣ Leadership
2️⃣ Hard skills
3️⃣ Soft skills

Throughout the course, we explore and practice everything that will help you become a great tech lead. This means understanding how to support the business, empower your team, and feel confident in your role. More information on the couse page.

What’s new in the 3rd batch?
* Limited to 25 participants for a more interactive experience.
* ⭐️ New topic added: “Measuring Architecture” – because you can’t improve what you don’t measure, right? You’ll learn how to assess whether your architecture is maintainable and beneficial or if it’s time for a change.

As a member of this channel, you can use the promo code GOODDEVKNOWS for a 20% discount (while it’s still available). Hope to see some of you there!

The course language is 🇺🇦.

I will still post a regular post later.
👍8
⚙️Tech Leadership: Boosting your visibility

One of my favourite topics in the tech leadership scope is visibility. How would other people know that you are good enough to trust you, to agree with your promotion, to help you to implement your ideas? Visibility is not just about being seen, but about creating value and sharing insights that can help the team and the company grow. Recently, I stumbled upon two tools that I used and liked. I want to share them with you and you can share them within your company and increase your visibility.

1️⃣ Promptfoo

When working with LLM I had an open question. How people test their AI integrations or chat bost? How do they chose which prompt is better? Can this be automated?

Promptfoo is a fantastic tool for testing and securing your LLM apps. It allows you to:

* Compare different prompts and models side by side.
* Evaluate outputs for accuracy, safety, and relevance.
* Automate testing to catch issues before they hit production.

Why it’s great for visibility: By using Promptfoo, you can demonstrate your commitment to quality and security in AI-driven projects. It’s a tangible way to show your team and stakeholders that you’re on top of the latest tools to mitigate risks and improve outcomes.

2️⃣ Racing Bars

Data storytelling is a superpower in tech leadership, and Racing Bars makes it easy to create engaging, dynamic charts. This library generates racing bar charts (you know, those cool animated charts that show rankings over time) based on your data. Check out the demo here.

Originally I found this service https://livingcharts.com/, which may generate cool looking video based on your data. But it's under the question if you can share your comany's sensitive data with a random service on the internet (better not).

The usage of the library is quite simple, the result is impressive. For example, you can build a chart how customers of your business were adding up throughout the years. Then share it with the company.

Why it’s great for visibility: Whether you’re presenting project progress, team performance, or market trends, Racing Bars can help you visualize data in a way that captures attention and makes complex information easy to understand. It’s a small investment in presentation skills that can have a big impact on how your insights are perceived.

❤️ I would love to hear if you used any of these tools.
👍13
🤖 AI Hackathon, part 1

The week before last, we had two on-site days for the AI hackathon at Free2move. I organized the event and also participated in it. I’d like to share my learnings and insights. The story is quite long, so there will be two posts.

💡 Idea
At the end of last year, we had a working group investigating how we could enable our engineers to use AI in their daily work. We ended up making the following toolset available to everyone: continue.dev + AWS Bedrock. This way, engineers have access to a code assistant and chat right in the IDE of their choice.
After some time, I ran a quick Slack poll and discovered that only 8 developers had tried it. Not cool 📉.

From another angle, I understand that generative AI and modern AI development aren’t just about chat interfaces — you can also use AI directly from code and integrate it into the product. That’s the part I found really exciting.

So I thought: what if we announce an AI hackathon to encourage people to explore AI? I brought the idea to the Director of Engineering, and he liked it. But he also had his own vision for the event.
A week later, this Director of Engineering resigned 🙃 which didn’t make the implementation any easier.

🏋️ Making It Possible
At the beginning of this year, I picked up the idea again. Before going to management, I decided to check if there was any traction. I asked people to submit ideas: where could we apply AI at Free2move? We received 21 ideas from 15 people.

With that information, I went to the new Director of Engineering. He liked it too. We agreed on the high-level format: a 1-month hackathon, where people work asynchronously for 3 weeks and spend 2 days in the office.
The DoE asked me to confirm with the business unit director that it was okay for people to dedicate time to the hackathon, since this meant they wouldn’t be working on business-priority topics during that time. I did that.

There was a general feeling that no one was against the idea, but also no one really wanted to drive it. I understood it would mostly be on me.

🤖 Hackathon
Finally, I announced that the hackathon would happen and shared the format. I asked people to join a new Slack channel and got 61 participants.
For the first event, I asked people to pitch their ideas and look for teammates. We ended up with 5 ideas. To my surprise, there weren’t many people willing to join teams. We ended up with one team of 5 and four teams of 1.

Over the next few weeks, we had two support sessions for hackathon activities:
1️⃣ In the first session, a member of the platform team and I prepared a service template that could be deployed to our platform and use AWS Bedrock. I showcased a simple Slack bot that could generate an image based on a Slack message. I reminded everyone that even a Slack bot with AI counted as a valid hackathon idea.
2️⃣ In the second session, I showcased promptfoo — a tool to test prompts and chat bots. I introduced the idea of testing AI outputs systematically.

Then came the 2 on-site days. I tried to lure people to the office with 🍕free lunch. Four people accepted, but only two (including me) actually came.

Tomorrow I will continue, sharing the results of the hackathon and what I have learned. Stay tuned.
👍8🎉1
🤖 AI Hackathon, part 2

Let's continue where we left. The hackathon had two on-site days. We are at the office.

🏢 At the office
We had two productive days. I worked remotely with my team, and we even continued working into the evening, handling some deployments at 23:00 while integrating the LLM response as a stream.
I remember when I was 20+, I participated in an overnight hackathon. Now, I can’t imagine myself doing that 🙂 It’s better to sleep at night. But one of our teammates worked through the night to push our project a bit further.

🏆 Results
At the end of the 2nd in-office day we had our DEMO event. I invited our management and with the help of one proactive manager we were able to gather the jury and agree on the small prize for the participant.
I was afraid that from the 5 ideas which started the journey only 2 or 3 will finish. To my surprise we had 5 demos. Even people who I thought did not work on the stuff shared their progress and working demos.
It was a 🌟 success. Our CEO was also present on the demo and seeing the result he decided to upgrade the prize pool and give our a prize to every participant. Which was great and motivating.
People appreciated my effort and I got many congratulations on organising this event from A to Z.

✍️ What have I learned
1. It's not correct to assume that most of the people as as much fascinated with AI capabilities as you are :) It's fine that other people may not want to engage with new technologies, but just do their work. You need to motivate them.
2. When you have good idea and nobody is against it, it still does not mean that they actively support it. You need to keep pushing, when you want it happen. I appreciate our management in the support they provided.
3. Different things motivate different people. I was definitely charged as an organiser. But the rest of people might be less charged and it is fine. I appreciate that they still worked on the topic, learned something, and shared it outside.
4. Not everyone is sharing their progress. I only knew that 2 teams (including one where I was present) are working ont he idea. In fact 5 teams were working.
5. It was draining but still fun and useful. Both for me and for the company. We have tested some concepts, learned new technologies and showcased their application for our product. This helps us to be competitive.

I encourage everyone to push their companies at least to explore the AI opportunities. When you have any questions about the event, please, ask in the comments.
👍41🎉1
Уже наступного тижня стартує другий потік мого краш-курсу з технічного лідерства. Для читачів мого каналу — спеціальна пропозиція: за кодом GOODDEVKNOWS ви ще два дні можете отримати знижку 20%. Потім — лише 15%. Долучайтеся 🙌.

🦸 Є сумніви, що ви можете бути хорошим технічним лідером? Стаються напади синдрому самозванця? А хто взагалі ці "хороші лідери"?
💚 Це не проблема. Лідерство — це лише навичка, якій можна навчитися.
Запрошуємо на триденний краш-курс із технічного лідерства!

👉 Реєстрація та деталі: https://fwdays.com/event/tech-lead-course-2?code=GOODDEVKNOWS
📅 Дати: 10, 12 та 14 квітня
🔥 Залишилося 7 місць!

🔍 Краш-курс — це три великі модулі: Бути лідером, Hard skills, Soft skills.

Ми розглянемо:
Що таке технічне лідерство і як стати хорошим лідером.
Як створювати архітектуру, що вирішує задачі бізнесу.
Як вимірювати архітектуру і бути впевненим, що ви рухаєтеся в правильному напрямку.
Як пояснювати технічні речі так, щоб вас розуміли.
Як проводити мітинги ефективно і приймати на них рішення.

🗣 Що кажуть минулі учасники:
* Дуже багато корисної інформації за стислий термін курсу. Курс дуже концентрований.  
* Структурування, виділені основні теми; цікаві практичні задачі; робота в команді над hard skills.
* Багато завдань. Теми, про які я не знав, що вони існують, а вони є важливими.
* Нова інформація + вижимки з цікавих робіт.
* Теорія поєднувалася з практикою; продуманий план лекцій. Є що пропрацювати та прочитати.


Буде цікаво та користно!
👍71
📅 12 Week Year. Closure.

I want to finish my story about the first iteration of the 12 Week Year. I completed it on the 30th of March and then took a three-week pause. Now I’m in the 2nd week of my 2nd iteration.

Main conclusion: I can confidently confirm that during the active 12 weeks, I accomplished more than I did in the previous year for the chosen topics. The methodology works, and I will continue to use it.

At the beginning, I chose two goals: 🇩🇪 improve my spoken German and develop my 🖼 Instagram account. Along the way, I added 🧘 health. Let’s see what I achieved during these weeks.

🇩🇪 Improve spoken German
- Completed 60 lessons in the Üben app
- 11 lessons on italki, which is 6 hours and 30 minutes
- 10 podcasts of 6 minutes each
- At least 7,000 words written for podcast noscripts
- Read the first book in German
- 2,000 words of article retellings

🖼 Instagram development
- Revived the account
- Published 18 Reels
- 1 Reel went “viral”
- Published 3 posts
- Gained 555 followers
- Learned how to edit videos
- Learned how to add subnoscripts
- Create better content now

🧘 Health
- 40 liters of water (8 weeks, 5 days a week)
- 200 minutes of meditation

To me, this is a lot! And what I like about this methodology is that it’s as simple as “checking the checkboxes.” There is a week, there are checkboxes that you have planned, and you just need to take actions so you can check them off. I use this Notion template to manage it.

🔑 My key learnings
1. It works!
2. Taking small steps toward the goal is enough. It gives a sense of progress.
3. Every action takes time—more time than you expect when you imagine it. You need to account for that.
4. Integrate your work goals into the plan. You work 8 hours a day anyway, so why not add structure to it?
5. The plan is not set in stone. You can change and adapt your weekly checkboxes, but stick to the goal.
6. Just start

I know some people have already been inspired by the idea of the 12 Week Year methodology from my posts. I hope more people join
👍11🎉3
🤖 Trying out Codex

Several days ago, OpenAI introduced Codex, a cloud-based software engineering agent.
Today, I realized that I have access to it and decided to look around.

I connected it to my open-source repo https://github.com/PavelPolyakov/fastify-blipp. When you connect the repository, Codex creates an environment for it and runs some "default" tasks against the repo.

Among the first "default" tasks, which started the execution automatically (smart), there was:
* 🐛 Find an important place, find a bug, and fix it

🧐 My experience:
1️⃣ Codex found something and drafted the code change (🖼 #1 in the comments)
2️⃣ But it was not able to run tests; it shared the error that cross-env is missing
3️⃣ I asked it to fix it
4️⃣ 1+ minute of public thinking and executing bash commands. It suggested changing the test command (🖼 #2 in the comments)
5️⃣ I asked why it removed cross-env
6️⃣ 1+ minute of public thinking and executing bash commands. It said that it did not remove anything and cross-env is in place (it was a lie). It suggested installing dependencies before the test run.
7️⃣ I asked to install dependencies and run tests
8️⃣ 1+ minute... it said that the test run still fails

👩‍⚖️ Overall observations:
* It's a good start for the product; things feel well thought out
* I like that they stream the model's "thinking," and it's possible to follow it, but you may also ask yourself, WTF are you doing?
* When the model "thinks," it feels like you have no impact (maybe I can get used to it)
* It was also looking for an AGENTS.md file to read instructions for the coding agent. If I would have it, I guess it would have been beneficial.
* I had no expectations and haven’t learned any specific way of working with the engineering agent so far (other than a "simple" chat). So, I consider my experience relevant.

Overall, it still looks like a loop where the model is executed with some context, and that model has access to the "tools". Pretty much like this.

Have you tried it? Feel free to share your experience.
👍4
Hi friends,

The war in 🇺🇦 Ukraine is still ongoing — it has been nearly 1200 days since the full-scale invasion began in 2022.
Despite various headlines and political statements like Trump’s “let’s see in two weeks,” peace still feels far away.
The Armed Forces of Ukraine continue to bravely defend not only their homeland, but also the rest of 🇪🇺 Europe from further aggression.
And they need our help — specifically, they need vehicles.

I've joined a fundraising campaign organized by my friend’s volunteer group tazyky.ua.
This incredible team has already delivered over 500 vehicles to the Ukrainian Armed Forces.
Their current goal is to raise 1.2 million UAH (about 25,000 EUR) to purchase more vehicles for the front lines. My personal goal is to contribute 10,000 UAH (about 210 EUR).

I invite you to donate any amount that feels right for you — every contribution brings us one step closer to peace in Europe 🙏.

Donate here:
💸 PayPal: https://www.paypal.com/paypalme/PavloPoliakov
💳 Monobank jar: https://send.monobank.ua/jar/36KZTp5qP6

Why vehicles?
They’re essential for rapid logistics, delivering ammunition, evacuating the wounded, and saving lives. But they’re also expendable — constantly in demand and often destroyed in action.

Thank you for standing with Ukraine. 💙💛
25👎14👍11
Hi everyone,

Thank you for your contributions — we’ve raised 7,650 UAH out of our 10,000 UAH goal.
Running fundraisers is tough these days; everyone is tired in their own way.

But just like with tech leadership and staying true to our personal and company goals, we must accept that there is no finish line.
The path is the answer.

Let’s stay committed to our path of contributing to a fair outcome for Ukraine.

Please donate your part — let’s make it happen 🙌.

Donate here:
💸 PayPal: https://www.paypal.com/paypalme/PavloPoliakov
💳 Monobank jar: https://send.monobank.ua/jar/36KZTp5qP6

Thank you for standing with Ukraine. 💙💛
15👎3
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍31👎1🎉1
🤖 Trying out Jules

3 weeks ago, Google introduced their own async coding agent — Jules.
It’s available to the public and gives you 60 tasks per day to play with and it requires you to connect your github.

I decided to try it out and build a simple React app with some custom casual games for my kids.

🧪 My experience (so far):

📆 Yesterday
I opened Jules and started coding. But… it turned out to be the perfect time for a global outage — npm and half the internet just went dark. So Jules also had issues with creating a new React project for me, but it created something.

📆 Today
I came back, ready to continue.
And to my surprise, Jules remembered that yesterday there were issues with npm and was hesitant to use it today! 😳
But I think I convinced it that today it shall be fine.

Look, now unreliable npm can traumatise the AI agent!
👍61
🤖 Trying out Jules. Next steps.

I continued to try out Jules, after npm was up.

Here is what I did and my observations.

💡 The idea
The idea was to generate a simple front-end UI with some on-demand casual games for kids. So I (and them) can come up with the game and AI assistant will implement it

⚙️How it works
* You create a new task, it suggests a plan to you. You accept the plan.
* Then in the virtual env which was setup for your task Jules does something to implement it. It creates files, moves them, installs packages, etc. (uses tools)
* Then you have a diff, you can review it visually and a button "publish the branch".
* If you publish it it will publish it to github.
* 📉 what I did not like, is that when you publish the branch, then make changes and push them back, then Jules does not pick them up. It still operates within the first checkout.

🧑‍💻Creating a react app
* Initially I asked Jules to create a React app, it created it (sort of). I asked to add tailwindcss. It did.
* I was able to run it on my local
* When I tried to deploy it to render.com , then the build failed
* I understood that Jules created pretty outdated React setup (react-noscripts) and non-working tailwindcss integration (mainly because v3 vs v4 breaking changes). I had to learn what is wrong and integrate it myself, it took about an 1.5h.

🖼 UX
* The UI looks fine, but sometimes it does not refresh automatically, and you need to refresh the page to check if it finished the work
* The work itself takes long. And to me it is a cognitive issue with "thinking" models. It just feels boring to wait until they do something.
* Sometimes it did not finish. One time it worked for 20 minutes to say that it can do only half of the task and if I want to continue I need to ask again.

Overall I think it made me faster for the MVP. But it also worked only because I could review the code and I know what I want to get and how it shall look like (from the code perspective). Here is the present result: https://aa-app.onrender.com/

I recommend to try, it's free and has limitation of 60 tasks per day. Which is enough. Because one task is one round of feature development (chat with model until you are happy with the results), and not one prompt.
13👍3🎉2👎1
🎙CTO Talks

This week, I had the honor of being invited to the 📹 CTO Talks Podcast by Fwdays and Yehor Herasymchuk. While I’m not a CTO, there were still plenty of topics worth discussing.

💭 We talked about:
* Tech leadership
* The Principal Engineer role
* How to become a tech leader
* Why do I miss the time when everyone was working from the office

…and much more. I invite you to watch or listen to the episode on YouTube.

Please share your thoughts about the content in the comments - your feedback is valuable! 🙌
👍13
How to use AI agentic mode the right way.
10👍4👎2
📧 Email or e-mail?

Today I was working on a feature where email is involved. At some point, I stopped and asked myself: how should I write it — email or e-mail? Until today, I had been diligently using the form e-mail, but I started to notice that I might be the only one paying such close attention to this detail.

🔍 Finding clarity
After some searching I found this nice resource from Google: https://developers.google.com/style

It's a styleguide for writing tech docs by developers for developers. Super clear and simple. No need to invent your own rules, just follow the good defaults. Less cognitive load.

This Google styleguide is worth checking out for anyone who writes docs or error messages in products. It’s simple, consistent, and helps your future self.

✍️ My choice
I’ll stick to email. Saves a dash! I plan to win about an hour of my life over the years just by typing faster and thinking less about it.
👍17
⭐️ Tech Leadership Crash Course #3 ⭐️

ChatGPT-5 is launching in early August. I don’t know how much more powerful it will be or what new use cases it might unlock. One thing is certain — people will again say that software developers should prepare to be pushed out of the market. BUT! There is a way to fight back.

I’m announcing a new batch of the ⚙️ Tech Leadership Crash Course.

Three days. Three core topics for a tech leader:
* Leadership
* Architecture
* Soft skills

In these three days, you’ll gain fundamental knowledge that will help you design and support the development of complex information systems — systems that serve business goals, are maintainable, and are enjoyable for your team to work on. People with these skills will stay valuable even if ChatGPT-5 turns out to be a real game-changer.

For followers of this channel, we’ve created a promo code: GOODDEVKNOWS, which gives you 15% off. Valid until August 15.

Read more about the program on the course website. The course is held in 🇺🇦 Ukrainian.

If you have any questions, I'm glad to reply in comments. The average rating of the course from the previous batch is 9.5 out of 10!
🎉32👍2
🤖 Use AI to generate diagrams

Maybe obvious to some, but new and super useful to me — using an LLM to turn a messy braindump into a clear sequence diagram.

I gave it a raw denoscription like:
Generate mermaidjs sequence diagram.

There is:
* customer
* ecommerce-frontend
* fraud-detection-service

The customer accesses the website via the ecommerce-frontend, which calls the fraud-detection-service to evaluate if the customer should be flagged for further verification. If verification is required — the VerificationPage is displayed. On this page, the customer must complete a challenge-response CAPTCHA. Once completed, the CAPTCHA result is sent back to the fraud-detection-service for assessment. If the verification passes, the customer is redirected to the HOMEPAGE of the ecommerce-frontend. If not — an AccessDeniedPage is shown.

Please, generate a sequence diagram.


1️⃣ Then you get MermaidJS code.
2️⃣ You can paste/edit it here: https://www.mermaidchart.com/play
3️⃣ Now, instead of a braindump, you provide a clear diagram that’s much easier for your peers to understand.
4️⃣ You are awesome!
10👍4
🏎 F1 Tech

Recently, my friends and I visited an F1 Grand Prix in Spa. Before I knew I was going to the race, I wasn't a fan of F1 at all. But once I found out, I decided to prepare and understand what was actually going on there. Luckily, Netflix made the entry point pretty accessible — they released the Drive to Survive series. I also watched the F1 movie (also good ⭐️).

The more you learn about F1, the more you realize it’s not just about the race — it’s about team effort, technology, and money. The best driver doesn’t always win; it's often the best car paired with a high-profile driver.

Watching F1 live is exciting, but feels a lot like whoosh whoosh whoosh — cars fly past you, and all you can do is keep turning your head like crazy. Last week, I watched the Hungarian Grand Prix on TV, and the experience was very different. Not just because you can see the whole race, but because of all the additional information shown on the screen to make it more engaging (for example, radio exchanges between drivers and their teams).

And I asked myself — is this information public? There’s no real reason for it not to be. If the FIA (the organization behind F1) makes it public, it enables others to build tools around it and ultimately make F1 more popular.

Turns out, this data is available. I wasn’t able to find an official API, but there are several public ones. For example: https://openf1.org/. You can even query all public radio exchanges between Lando Norris and his team during the Belgium event:
https://api.openf1.org/v1/team_radio?driver_number=4&meeting_key=1265 .

It’s awesome that the data is public and people can build cool stuff around it.

I decided to run a quick experiment and, together with my friend AI agent, drafted a page (source) that lists radio exchanges per driver for the latest event:
https://f1-radio.onrender.com/ (works if the upstream API is responsive).

Looks cool, doesn't it?
👍12
⚙️ Tech Leadership Crash Course #3

Вже за 9 днів ми стартуємо третій потік мого краш-курсу з технічного лідерства. Для підписників каналу діє промокод GOODDEVKNOWS, ви отримаєте знижку 10%. Долучайтеся 🙌

Замість того, щоб (знов) розповідати, який цей курс класний, я хочу поділитися відгуками учасників попереднього потоку. Середня оцінка курсу — 9,5 із 10 📈. Доєднуйтесь і починайте новий робочий сезон із впевненими скілами техліда та чітким розумінням, куди рухатися далі.

👉 Реєстрація та деталі: https://fwdays.com/event/tech-lead-course-3?code=GOODDEVKNOWS
📅 Дати: 28, 30 серпня та 1 вересня
🔥 Залишилося 7 місць!

🔍 Краш-курс — це три великі модулі: Бути лідером, Hard skills, Soft skills.

Ми розглянемо:
Що таке технічне лідерство і як стати хорошим лідером.
Як створювати архітектуру, що вирішує задачі бізнесу.
Як вимірювати архітектуру і бути впевненим, що ви рухаєтеся в правильному напрямку.
Як пояснювати технічні речі так, щоб вас розуміли.
Як проводити мітинги ефективно і приймати на них рішення.

Буде цікаво та корисно!
2🎉2