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
🎉 We have crossed 10.000 UAH! 🎉
Thank you everyone, you are incredible.

There are also some money on the PayPal.
So I've updated the goal to 15.000 UAH and we move forward.

🔗 Link to the jar:
https://send.monobank.ua/jar/7yFCZtpG3q
🧾PayPal:
me@pavelpolyakov.com
💳 Card number:
5375 4112 1788 8226

Here you can also see my little performance from the instagram fundraising.

Thank you all ❤️
🎉103👎2
#GoodDevDigest

🦆 DuckDB

Recently met an interesting concept. What if you can load ANY information to memory and do SQL queries against in? With DuckDB this becomes possible:
SELECT *
FROM read_json('todos.json',
format = 'array',
columns = {userId: 'UBIGINT',
id: 'UBIGINT',
noscript: 'VARCHAR',
completed: 'BOOLEAN'});


Given the price of the current compute and how powerful are our private machines, it makes sense.

📈Load testing

Simplest thing you can use for the quick load test is still ab. For more complex cases I once used vegeta.

There is now new kid on the block — oha. Written in Rust it is lightweight cli app which also has nice terminal UI. Will use.

📋Lists comparison

Several weeks ago, for a quick analytics I had to compare four lists. To understand how similar are they. I quickly found and online tool which have helped me. You just post txt of the lists there and it does all the basic math about it. What surprised me, that it also draws Venn Diagram, so you can visually see how these lists overlap.

🇺🇦🚙 Five pickup fundraiser

Last but not least. You still have a chance to donate any amount to help UAF to fight 🩸putin. We already gathered quite a sum and I'm thankful to you. Let's do another push. Please, donate.

⬛️ That was it for today.
👍82
#GoodDevDigest

Say No to Notch. For a long time I got pissed that I could not find half of the applications in the menu bar of my Mac. Recently, I learned, that there is a free app to remove Notch. Yes, it makes your screen a bit smaller. But I did not feel it. From the other hand it brings back the convenience and transparency of using the menu bar — all icons are there.

🧹 Unclutter. Another app I want to recommend. Quite often, I need to attach an image or file to the mail. So far I was struggling the next way — put that file to the right bottom corner of my desktop, than drag it to the mail editor. But now it seems I found a better solution. Unclutter does four things for you:
* it is quickly accessible
* it stores history of your clipboard
* it has an area to store files
* it has an area to store texts

This reduces my cognitive load a bit, and each bit is important.

📚 I read Building a Second Brain and started to use it. This book describes a simple framework to organise your digital notes. And by having them it is expected, that you will unload your biological brain and give it more resources for doing what it can the best — creative work. There are two abbreviations which you need to know: CODE (Capture, Organise, Distill, Express) — this is the way you capture the notes and PARA (Projects, Areas, Resources, Archive) — this is how you store them. The framework is quite simple and quite abstract, it is enough to start with and at the same time each of us can adjust it to their own needs.

12 questions exercise. In Building a Second Brain book there was a passage about Richard Feynman and the way he processed information. He said, that according to his own observation each of us has just a handful of topics which we are curious about throughout the life. He had 12. And each time he learned any new information he quickly tested it against each of these 12 topics. Will it be useful there, can I apply it to this topic, does it improve how I understand the topic? If so — this was useful information.

To me it's an interesting perspective. Indeed the things I'm curious about are almost the same through out the life and even if they change — they do it slowly. I didn't yet collected my own 12 questions, but it shall be an interesting exercise to do. What are yours 12 questions?

⬛️ That was it for today.
👍12🎉21
Good day, people,

I want to ask you for help 🙏, especially, from people from the 🇺🇦 IT market (but not only). Please, help me to understand how do you perceive Tech Lead position/role and technical leadership.

I've prepared a small form to fill in: https://forms.gle/jeScqieyyaeWDbhX8 .

Every contribution counts.

Thank you ☀️
👍2
Have you heard about GitHub Copilot? Probably yes. Some of us (I) even pay for it. But are there alternatives and how the AI coding assistant market looks like? Recently I've spent some time to study this and want to share my findings.

🎥 AI assistance beyond code: what do we need to make it work?

Nice talk from one of the persons I was working with. She shared ThoughtWorks experience in investigating the AI assistance field. Key takeaways:
1️⃣ For AI it's right now easier to CREATE new code, rather than CHANGE the existing one. This is why we see lots of demos of how unexperienced people create new stuff using AI (cursor + v0). But we do not see how it is used at scale or the tasks we do daily — there is a large code base, you need to integrate feature.
2️⃣ AI is good in helping you to think in the divergent way. For example — put the story draft there and ask what have you missed? I till help you to improve it and check it from different angles.
3️⃣ How can it help on the organisation level? Codify practices and sharing prompts. Do same things the same way in the organisation. For example, create a prompt for STRIDE analysis and do it the same way always.
4️⃣ Tools like Continue allow you to create custom slash commands (/stride), this way you can share it within the organisation.
5️⃣ AI works better when it has enough of context. It is not enough to just use an LMM which was trained on big amount of data. You need to add YOUR context (code base, wiki, domain expert input, stuff which is unique to your organisation). There is no answer for this question yet, but tools try to start solving it, for example Continue allows you to add context together with your prompt.
6️⃣ Current market state — no magic without some investment. There is no one tool, we need to think how to integrate it in the best way. Right now, choosing to use AI on the organisation (not individual) level always add a big overhead.

I produced too much content for one post, so I will post the 2nd part tomorrow. There is more to share 😉
👍71
Let's continue on the AI coding assistant topic.

🔄Continue

Continue is a VS Code or Intellij IDEA plugin which integrates AI code assistant to your IDE and allows you to use both local models and enterprise (paid) models. I tried it with local Ollama and paid ChatGPT-4o and Claude 3.5.

🤯My first WOW moment was when I understood that you need 3 models. One for chat, one for code completion (tabAutocompleteModel) and one for indexing your large code base and store embeddings (embeddingsProvider). For all three models there are variants which you can host yourself and they work quite good.

📉 The tool configuration and UI is far from one where our grandparents will be able to use it. You still need to be techy and more or less understand what's going on. I guess we are on early stages of the development of the market.

Overall I liked it and recommend to try it in case you don't want to pay for GitHub Copilot (where integration and configuration is much simpler)

📊 AI code assistant model assessment

I tried to understand which AI code assistant model is the best. It was not easy to find a reliable source, since I was afraid that half of articles were written by AI.
There is recognised Code Generation evaluation framework called HumanEval. It was established by OpenAI and it contains some tasks, which model shall solve using Python. Many models are run against this framework and this way community understands what is better. So far it's ChatGPT-4o.

Also there is a nice website where models are visually compared.

If the model is able to solve certain tasks in Python better than the other model, are we able to say that it will generate Java code better? I doubt.

▪️This allows me to conclude, that at this stage there is no silver bullet — either one model or one tool which will make you x100 engineer. But it's safe to invest in the tools which bring you additional benefits and allow you to still be flexible. For example, Continue, where you will be able to switch between models and use those which bring benefit base on your particular needs.
👍5
Crash course: technical leadership

I'm proud to announce the second batch of my course about technical leadership. The first time we did it as Staff+ workshop, it was a success, and we also learnt something. We understood that the content and skills that you will learn can and shall be used not only by Staff+ people, but by everyone who wants to execute technical leadership in the right way.

This time the course will be spread within three days. So you have more energy to learn and practice.

Three days and three topics:
1️⃣ Technical leadership. What does it mean to be a tech lead?
2️⃣ Architecture. How to create architectures that resolve current company's challenges?
3️⃣ Soft skills. How do I present stuff to the stakeholders? How do I lead meetings so the group takes decisions and commit to them?

This and not only this. For each topic we will have practice to strengthen your understanding.

With this knowledge and acquired skills you definitely will be able to confidently execute technical leadership, and this way help both yourself (💰) and the company.

Participants of the first batch have especially liked:
* Було корисно дізнатися про DORA metrics, brag document
* Почути про те як робити презентації
* Цікаві вправи та працювати над ними у групах
* Вправи після кождого блоку
* Цей курс як консолідація напрямів на які варто звертати увагу для росту після Senior
* Складні речі було пояснено просто
* Сама презентація була зрозумілою, можна використовувати як конспект
* Багато літератури по софт-скілам, особливо про те як проводити мітинги


More information on the website. Special offer for the subscribers of this channel: 15% discount with the code GOODDEVKNOWS.

The course will be held in 🇺🇦Ukrainian.

Looking forward to see you on the course.
5🎉1
🧱What is your Lego brick?

Recently, I finished reading the book "How Big Things Get Done". In this book, author tries to review why complex projects often fail (take more time than expected, go over budget) and how to mitigate these risks. I want to share some insights with you.

Let's start from ☢️ nuclear energy (trust me, we will get back to Software Engineering). Many of the nuclear power plant projects fail to comply with the initial estimates. The mean cost overrun is 120%, but actually, most of the projects fail more than that. The overrun is not distributed like a bell (normal distribution), this distribution has a fat tail, meaning that if you hit overrun, then it's more likely that your one will be more than the mean one. The mean overrun of the projects in tail is 204%. With nuclear power plants, we are talking about billions of dollars of overrun. Sounds important, isn't it?
☀️ There is another category of big and complex projects — solar power plants. What are their numbers? The mean cost overrun is 1% and mean tail projects overrun is 50%. Better, isn't it?

Why does it happen this way? The answer brings us back to the Software Engineering — modularity. Nuclear power stations are definitely a cool thing, but they are very unique. Countries and governments have not enough experience in building such, and they are not that modular (even if they are, the modules are very complex themselves). While with the solar station, you have modules — solar panels. You "just" need to put them together and connect to the chain.
With this kind of module, you can iterate faster, improve your module faster, make it cheaper, and make it more maintainable. If the panel fails? Replace it with the other one, which was produced in a factory. Unfortunately, you can not produce nuclear power plant in a factory.

Solar stations have their Lego bricks — solar panels; nuclear power stations do not. In the first case, we build a complex thing from many simple things; in the second, we build complex thing from many different complex things. The chance of the failure is higher.

We can apply this to our regular Software Engineering practices. What are our Lego bricks? I give you an example:
* skeleton project. Whenever we want to start a new project, we do not start it from the scratch, we copy our skeleton.
* unified CI. Do you need to have custom .gitlab-ci.yml in every project? No, if your CI is unified, it's easier to integrate and support
* unified unit and integration tests setup
* API standards — let's define and document them
* patterns of service to service communication
* else?

When you have these Lego bricks it allows you to combine them with low risk and attach your unique stuff on top — business logic.

▪️As Senior+ SE it's our task to think from the "lego brick" perspective. Which bricks do we already have in our team? Which bricks are we missing? This will make your delivery consistent and maintainable.

💬 Please share which other examples of Lego bricks in SE come to your mind.
👍142
🎯 Divergence and convergence

Imagine you have an 💡explo task. Your team started a fresh TypeScript project, and now you want to add a unit test framework there. There is no default unit testing framework in the company at this moment, so you decided to create an explo task and research your options. What would you do?

I bet you will start by exploring the field. Which frameworks are available? Which is used the most? Are they still maintainable? + other questions. After some days, you have the list, and you even tried to play with some of them. The time for explo is running out, you need to wrap up. Now your colleague comes and tells you — have you bun test? You did not. Now you need either to start over and compare bun test with everything you've explored before or say that it's out of scope.

What did your colleague just do? They played into the divergence phase. Every creative task we do either individually or as a group consists of two phases — divergence (exploration, where we create new ideas) and convergence (where we try to come to the conclusion). And each of our actions and the actions of our counterparts can contribute to one of these processes.

When you contribute to the divergence, you postpone the decision, when you contribute to convergence, you bring it closer. Usually, there are more people who contribute to divergence — they suggest new ideas, say that maybe you shall try X or look at the issue from a different angle. Divergence is fun and does not require any accountability. These are all valid suggestions, and they might be right, but there is one but — business does not profit from pure divergence. Business may profit when we take decisions, measure the results, and see if that decision has brought us closer to our goal.

Be the one who contributes to the convergence phase. Yes, we need a reasonable divergence period, we want to have different ideas to choose from. But there shall be moment when we say — enough, now let's see what best can we get out of what we have. After that point we need to streamline our processes, thinking, and actions towards the decision making.

▪️ This logic can be applicable to anything — meeting, explo task, experiments. Do not forget that everything shall have an end, this helps us to progress. Bring convergence.
5👍1
⚙️ Who is a real tech leader?

Is it true that to become a tech leader you need to know the code better than anyone else? Or maybe you need to work the longest in the company and then you will be appointed to this role? Or maybe you just need to work harder than everyone else, and then you will be noticed and offered this role?

No! True leadership is gained through experience, knowledge, and self-improvement. And I know exactly what you need to do to get to the technical leader quickly and efficiently and confidently take this role. For this purpose, we have developed the Crash Course: Technical Leadership.

📚 Three days and three important topics: leadership, hard skills, soft skills. Everything you need to be the technical leader you want to work with. It is important that the information and techniques we will study are applicable to any industry and any company.

For example, in the hard skills block, we will learn how to develop a truly effective architecture. How to develop an architecture that is a product of teamwork and meets the company's goals? How do you measure whether you have created an effective architecture? We will deal with these questions and consolidate the material by performing practical tasks. As a result, you will be able to design an architecture that meets the company's current goals and can be supported by existing resources.

📅 The course starts already the next week: 01.10, 02.10 and 08.10.

Participants of the first batch have especially liked:
* Було корисно дізнатися про DORA metrics, brag document
* Почути про те як робити презентації
* Цікаві вправи та працювати над ними у групах
* Вправи після кождого блоку
* Цей курс як консолідація напрямів на які варто звертати увагу для росту після Senior
* Складні речі було пояснено просто
* Сама презентація була зрозумілою, можна використовувати як конспект
* Багато літератури по софт-скілам, особливо про те як проводити мітинги


More information on the website. Special offer for the subscribers of this channel: 10% discount with the code GOODDEVKNOWS.

The course will be held in 🇺🇦Ukrainian.

Looking forward to see you on the course.
👍7
🎶 Sometimes SE is not coding but orchestration

Recently, I've rolled out a "small" but important project our team was working on. We have decommissioned the old registration UI and enabled a new registration UI for 100% of our customers.

There were some peculiarities to this. The old registration was available on route X, the new one on route Y (because we were A/B testing them for some time). And we had to move the new one to the route Y* and decommission the old one. At the same time — the links to the old registration should continue to work because we have thousands of them on the internet, in the customer mail, and hardcoded in the old application versions.

This project does not require lots of coding, but it requires a lot of coordination. Let me share the tools and practices that helped me to plan it and release it without major issues.

🖼 Mural board. I love collaborative whiteboard tools. You can add any content there — text, images, link this to each other or to the outside sources.
I gathered lots of information about the old and new registration to the board. How do people get to it? Which links are there? How can we map the old links to the new links? How is the old registration setup from the infrastructure level? How is the new one? I put everything to one place.

👥 Interview. I talked to all parties that are related to the registration — the application team, marketing, and sales. I showed them what we know on the Mural and together we have added missing information. We have identified what shall continue to work and for which reason. This way I ensured that all stakeholders are aware of what is happening and are aligned with the process.

📝 Rollout plan. Together with the platform team member, we have brainstormed and visualised the rollout plan. What was important for me, that each step is small and reversible. We have created two stickers for each step: what do we do and what is the effect of that step.
During the rollout I was marking each step as completed to maintain consistency and transparency.

🗣 Communication. Registration is quite important at our company, because otherwise customers can not start using our service. Therefore, it was important to inform everyone about what is going on, how this affects them and when it is done. I have communicated important steps in our public slack channel, so all stakeholders are informed and confident that we know what we are doing.

🎉 Celebration. After the rollout was performed and initial monitoring confirmed that everything is fine (registrations are coming). It is time to celebrate. We were able to decommission a relatively old front-end project, which was difficult to maintain within the last years. Also, we reduced the amount of services that our team shall maintain. In our department, we have a public slack channel where we share the great things we did. So I posted a wrap-up message there and we celebrated!
Celebrating small wins is a great practice, on the job or in our private lives. Do not waste an opportunity to release dopamine as a group.

🔮 Plan the future. A major part of the job is done. But we do not want to keep these redirects forever. So I have planned the meeting with the stakeholders to agree to start using new registration URLs only. This way, after some time, we will be able to reduce complexity even more.

▪️ Orchestration is also an important part of the role of Senior+ engineers. Small, but confident steps, will eventually bring you to the result.
👍81
🎧 AI podcast to save your day

Yesterday I stumbled upon some insane AI application that was released 1 month ago (quite outdated by nowadays assessment, isn't it?). What impressed me is that it a) works, b) is free.

You do not need to wait further, I'm talking about NotebookLM.

This tool allows you to upload documents and different kinds of information to the notebook and then chat with it. But this is not new. What is new — it allows you to generate a podcast based on this information!

There are things you need to know:
1. You can upload documents in any language (I tried 🇺🇦), but it will generate podcasts in English.
2. There is only one setup — two hosts: one man and one woman.
3. The podcast is called "Deep dive". The hosts talk about the information you provided and add some other context from the large body of information that was used to teach that LLM. But they focus on the provided content.
4. When there is more content or known external references, the length of the podcast will be about 15 minutes. If there is less — up to 5 minutes.

🛟 Why is this helpful? I see two use cases:
1. In this fun form, you can study documents that you otherwise find boring. Human brains are wired to hear stories, not lists of facts. This "podcast" way will make it much easier for you to understand the gist of the document.
2. For people who are used to consuming information by listening, this instrument just helps to convert one format to another (+ more entertaining one). The quality of voices and their emotions during the talk are already on a high level.

As an example, just listen to the 3 minutes podcast about my write up "Sometimes SE is not coding but orchestration". From my perspective, it catches the sense of the post quite good. What do you think?

Feel free to share your generates podcasts in the comments.
6
Audio
👍4
Good day 🎄,

The end of the year is coming and we look forward to giving and receiving presents. My suggestion — let's create 🎁 a present together. The present for AFU. Let's gather some money and purchase vehicles!

🚘 Vehicles at the front mean quick evacuation of soldiers, transportation of medical supplies and mobility of fire groups, and they are also consumables that are always needed

🫡 That is why I am joining the @tazyky.ua fundraising for 5 vehicles for the AFU

🎯 My goal: 10 000 UAH
Total goal: 1 000 000 UAH

🔗 Link to the bank:
https://send.monobank.ua/jar/5AJFedKK87

💳 Card number:
4441111128142290

🅿️ PayPal:
https://www.paypal.com/paypalme/PavloPoliakov

🤝 Join our team by writing to @tazyky.ua

P.S.: all supporting banks and donors participate in the prize draw
👍41
Hi people,

Fun story. Several times I've shared my PayPal here. And each time right away I receive a phishing mail about my PayPal shortly afterwards. (Image in the first comment).

I have two variants:
1. There is somebody in the channel who is against fundraising and wants to hack me
2. Telegram groups are monitored by phishing bots

Either way there is only one right way to deal with it — donate.

So far we've gathered 8140 UAH and 60 EUR. Let's make sure we have 10.000 UAH in the jar.

🔗 Link to the bank:
https://send.monobank.ua/jar/5AJFedKK87

💳 Card number:
4441111128142290

🅿️ PayPal:
https://www.paypal.com/paypalme/PavloPoliakov
You are the best 💙💛
👍81
🗓 The 12 weeks year

Last years I understood that I have a problem with long-term vision and long-term planning. At the beginning of the year I started to work on the new pet project — 1to100, but did not finish it 📉 it just faded away, because of different priorities.

I feel comfortable when I need to distribute my tasks within the week or bring any current issue to the decent state. But how to make sure that these achievements add up and together create a better future for myself and my family, that I dedicate time to the things that are important to me in the long term?

The new year is coming soon and I want to try out a new process — 📙 The 12 week year. I just finished listening to this book and want to summarise it for you.

💡The main gist of the book is simple. Year is too long. Many things may happen within this timeframe, and you will not feel time pressure. So why to plan for the year? Let's focus on the upcoming 12 weeks. And for the next iteration, you can plan again. I like this concept.

Ok, accept that we plan for the next 12 weeks only is quite simple. But how to plan? There are five main stages of the process.

1️⃣ Create a vision. Write down your long-term vision for yourself. Who do you want to be? What do you want to achieve? What does it mean for you? Write it down. Create a mid-term vision — where do you want to be within a 3-5 year period? Write it down as well.
Get emotionally attached to that vision. It must be something which drives you. This would be the reason why you will execute your plan.

2️⃣ Plan. Select one or two goals for the next 12 weeks. These goals shall just bring you closer to the vision. You won't achieve it in 12 weeks (if you do — try to be more ambitious the next time), but if you reach them, you will be closer to your vision. Small, but confident steps.
Now think of the tactics — how can you reach those goals in 12 weeks? Create a more detailed plan with the tasks for each week.

3️⃣ Control. You gave a promise to yourself, you promised that at least for these 12 weeks you would commit towards working on the set goals, and you have a plan. Make sure that you stick to the plan and work. Nothing more, you cannot guarantee that you will achieve your goals, but you can guarantee that you will execute.

4️⃣ Measurement and assessment. At the beginning of each week measure which percentage of the plan you've executed the last week? What went good and what went bad? What can be adjusted to make this week better?

5️⃣ Time management. Everyone has 24h per day. We need to use them wisely, so we do have time to work on our 12-week plan. In the book they suggest dedicating at least 3 hours where nothing interrupts you and you can work on your strategic goal heads down.

And that's mainly it. Plan, commit to 12 weeks, execute, and on 13th week you have a free week. Week where you celebrate and plan another 12 week year.

▪️ I'm going to try that out and see if it solves my issue with the long-term planning. The thing that inspires me is creating and writing down a vision , the fact that you need to plan for 12 weeks only and that this will allow me to give myself permission to work only on several goals at the same time.
👍135
⚡️ Flash news for all GitLab users

Start your year the right way. 💡 TIL that you can go to Preferences (click on your avatar, then Preferences) there you can find Time preferences and uncheck Use relative times. Press Save.

That's it. Your future self says "thank you", now they do not need to see 3 weeks ago and try to convert that to the exact date. Now gitlab directly shows 18 Dec 2024.

Reducing the cognitive load is one of the best things we can do for ourselves and our team. Let's rock in 2025 🤘.
👍169
🤖 Try it: Trae

The day before yesterday, ByteDance, the one that stands behind TikTok and CapCut (and what else?), announced a release of the new AI IDE — Trae.

Trae can be considered as a direct competitor of Cursor and less direct but still a competitor of your IDE + continue.dev. Under the hood, Trae is still based on VS Code, as others, but you do not need to install any addons, and the default configuration looks promising and visually nice 💅.

I tried Trae a little the same day and was astonished even before it got to AI. I just opened one of our JavaScript projects using this IDE and saw that there is a "Testing" tab. IDE defaults allowed it to find the tests in our project, and immediately, without any additional configuration, I was able to run them one be one from IDE and even run 🐛 debug!

It was pure Spring + IntelliJ experience, where things just work from project to project. I have never seen this working by default in the JavaScript projects, where the setup of the project is almost always different.

The company behind the product is indeed controversial, and I was surprised that they released such product. We have a tendency to think that TikTok steals our data, and now they suddenly release an IDE. Are they also going to "steal" our code? Most likely the correct question is — are they going to use our code to teach their AI? These questions have no answer. But I still suggest to trying Trae with one of your own projects.
👍101
👋 Шановні друзі, я до вас з саморекламою. Я повернувся у великий інстаграм та перейменував мій минулий gooddevknows тех аккаунт на pavlopoliakov і буду тепер вести його українською.

Буду писати на теми про технічне лідерство, знімати reels, ділитися своїм життям у сторіз.

Будь ласка розгляньте пропозицію підписатися та продивитись мій перший рілз до кінця, щоб інстаграм зробив мене зіркою 🙏

https://www.instagram.com/pavlopoliakov
👍44👎73
🗓 The 12-Week Year: 6-Week Update

When you remember, at the end of last year, I shared the idea of the 12-week year and committed to trying it out. Today, my 7th week started, and I want to share my experience about the process.

First, I did an exercise and formulated my vision . What I want to achieve in general and what I want to achieve in the mid-term. That was nice and indeed allowed me to fantasize about how my life will look if I do everything I have planned 📈.

Then, I chose topics that will bring me closer to my vision. For the first 12 weeks, I chose to — improve my 🇩🇪 German speaking and start developing my Instagram account. Those are strategic goals. Then, I chose tactics — how will I try to achieve that?

Let’s abandon specifics, but I can tell you that indeed, in these 6 weeks, I have done more than I did toward these goals the whole last year (because last year I was mostly dreaming about it and not doing it).

What I did so far
* I practice German regularly (5 times a week I do the Üben app, 1 time — a 30-minute talk with a native).
* I released 5 episodes of a podcast in German, "6 Minuten Wöchentlich". This way, I practice writing, and then I check it against ChatGPT and learn from my mistakes.
* I relaunched my Instagram in Ukrainian (+ polished my profile there).
* Shot and edited 7 reels and 3 posts (already got 20+ subscribers from reels only).
* I kind of created a content plan (not a plan, but a list with ideas to pick from).

What I achieved besides
* I feel I am more confident in sporadic German conversations.
* I learned how to work with sound using Audacity; I can edit my podcast myself.
* I learned how to edit videos using CapCut. I already used that for work once.
* I am learning how to create more engaging reels.
* Recently, I added some health tactics to the weeks — drink more water and meditate for 5 minutes, 5 times a week.

💡 Other insights
* I now know that any tasks, even small tasks, still mean you need to dedicate time to them. Shoot and edit a reel? 1.5h. Write and edit text for a 6-minute podcast? 1h. Record and edit a podcast? 1h.
* I think for the next 12 weeks, I will also add work-related goals. Anyhow, I work 8h a day. Why not structure my progress there and celebrate achievements?
* It’s useful to reflect on the past week (I do it on Monday) and write down what you can improve this week, changing your weekly plan a little. For example — split tasks into smaller ones (create a reel scenario, shoot a reel, edit a reel).
* Yes, it’s difficult to combine all these new tasks with regular work and life. But having them recorded, knowing that I want to set a checkmark there, makes me do them 💪.
* It’s fine to NOT do everything that was planned. It’s more important to reflect on why and adjust for the future.

👍 I’m going to continue, and let’s see what I will achieve in the next 6 weeks. So far, I’m happy about this experiment. When you want to bring more strategy to your life, I would encourage you to try this framework out.
1👍83