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
Устали от войны?

Я тоже. Но она идет и без нашего участия она не закончится. Мой друг, практически с начала войны, помогал со сбором денег локальным волонтерам — еда, защита, тепловизоры.

Сейчас он и его молодая команда создали небольшую платформу, где можно оформить подписку на регулярные пожертвования: https://www.ukrainehotspothelp.com/ 🇺🇦.

На этой платформе можно оформить подписку и регулярно жертвовать маленькие суммы на хорошее дело. Подпишитесь, пожалуйста. И вместе будем помогать хорошим ребятам. Регулярные микроплатежи это очень здорово.

⚠️ Ну а если, вдруг, не хотите подписываться. То пришлите деньги мне, я все отправлю дальше, на покупку машин на фронт.

IBAN: DE69100110012620227756, Pavlo Poliakov; BIC: NTSBDEB1XXX
PayPal: https://www.paypal.com/paypalme/PavloPoliakov или me@pavelpolyakov.com
Перевод на украинскую карту (UAH): 4441114456919602, Dmitry Yevtushenko
⚡️ Теперь можно и криптовалюту
BTC 14U56GaNREPjTkvq7YfN84A9jjEew7nQSa
ETH 0x9936aa4C98ea7F1877B9400D4B1e11d0eb390A00

p.s. следующий пост будет по теме канала, программным.
45👍14👎9
👋,

Больше месяца сюда не писал. А война все идет. Ну это вы знаете.

После начала войны и осознания того, что это изменения на долго навсегда, я думал о том, что делать с этим каналом.

Я очень ценю аудиторию, которая тут собралась, и мне нравиться писать посты. Что мне перестало нравиться — русскоязычный рынок.

Поэтому я принял решение развернуть свои усилия и начать соревноваться с англоязычными контент-мейкерами и набирать аудиторию там.

Я буду вести twitter, а статьи побольше писать на medium. Подписывайтесь.

Русский остается моим родным языком, но желания генерировать на нем контент пропало полностью. Не хочется ассоциировать себя с "русским миром" прям никак. И, в принципе, я рад, что это произошло. Я живу в Европе и пора интегрироваться сюда полностью.

Подписывайтесь на соцсети, сюда буду тоже репостить что-то интересное, но уже на английском языке.

💙💛 Продолжаем помогать 💙💛

Не забываем помогать Украине победить, вот ребята перегнали уже около 80 машин. Машины очень нужны, они спасают жизни и приближают победу. Переведите им немного денег. Я перевожу регулярно.
101👍43👎20
⚡️

My team and another team from the same domain (customer) are looking for another Junior to Middle Java developer. So it's, actually, two openings: https://grnh.se/6a698cfa2us .

At SHARE NOW, which was recently bought by the largest car manufacturer Stellantis, we take care about car sharing. Car sharing itself is fun, that I can promise. Helping people to use car sharing (what our domain does) is also a fun part.

🚜 Person, who is hired, potentially, can work from any city in Germany or Spain. For the people who like offices — we have dev offices in Berlin and Hamburg. We help with relocation.

📈Tech interview does not include take home coding challenge. You would just need to review a merge request (offline) and discuss your output with us.

💰Each month we get 100€ credit for SHARE NOW usage, that is also cool. It's enough to have a 1 day trip from Hamburg to the Baltic Sea and understand, that it's still cold.

Any questions — contact me PM 🤝.
👍15👎2
This week, our team had a Tech Day. It was something new for me and I find it useful, so I wrote a small write-up about that.

Here you can read it and learn why it's, sometimes, important to STOP as a team and reflect on what you have done.
👍181
Another Medium article, this time from a good colleague — he is a Chapter Lead from another team.

Good practices to bring the team to full potential. Where Nikola tells about the specific practices their team is using to keep being effective. Especially, when they are all remote.

I, personally, like Domain coverage matrix, which shall bring confidence and help to fight knowledge silos in big domains. Unfortunately, we don't have such in my team, because there is no team consensus that we need one.
👍194
Hi people,

The war is still going on. And my emotional state is still low 🙃

But there is science. Science says, that the easiest way to become a little bit happier is to help somebody.
During the war time the best way to help somebody is to help Armed Forces of Ukraine. Because these are the ones who fight for our future.

AFU needs cars and my friend Yulia and her team helps them by providing the cars constantly. They already provided more than 100 vehicles and were honored by Valerii Zaluzhnyi.

I regularly help them and now want to ask you to help together. Let's buy a car. They need about 5000€ to buy this beautiful Mitsubishi and deploy it to the Kherson direction.

Let's help Ukraine to win and improve our own mood this way 🇺🇦
I pledge 100€ and will report on our progress here.

Here are the requisites:
IBAN: DE69100110012620227756, Pavlo Poliakov; BIC: NTSBDEB1XXX
PayPal: https://www.paypal.com/paypalme/PavloPoliakov or me@pavelpolyakov.com
Monobank (UAH) Jar: 4441114456919602, Dmitry Yevtushenko

Thank you and Glory to Ukraine! 💙💛
42👍11👎1
270€ and 4600UAH + 100€ from me, we're far from Serhiy Prytula, but we are still making the difference. Let's do more 💪
26👎3👍1
Good morning,

So far we've collected 320€ (PayPal), 50€ (N26) and 8800 UAH + 100€ from me. This is really great and I'm sure we will help a lot. Thanks to everyone who participated.

In case you waited for a sign to chip in — here it is 🚧.

Here are the requisites:
IBAN: DE69100110012620227756, Pavlo Poliakov; BIC: NTSBDEB1XXX
PayPal: https://www.paypal.com/paypalme/PavloPoliakov or me@pavelpolyakov.com
Monobank (UAH) Jar: 4441114456919602, Dmitry Yevtushenko

In 3 hours I will transfer money to Yulia 💙💛
👍136👎1🎉1
Thanks everyone, we did it. We have collected 611€ and 10.000UAH. These money are now on the way to be converted into the car.

We all should feel a little bit happier because of that!

💙💛
32👍5👎3
👋,

As a saying goes — there is no better time to start than now. I considered reviving tech posts here in the next year, but then I thought — what blocks me from doing it already this year? So we start today. I want to write digest posts once a week, where I wrap up my last week and current thoughts.
👍24
GoodDevDigest #1

🔥 Layoffs

Many tech companies around the world were affected with the current market situation and SHARE NOW is not an exception. So it was announced, that we have to do restructuring, which also means letting people go.

But here starts the interesting part. We are in Germany and right before “the news” we, employees, had formed the works council, which is meant to represent us. Because of this, our management was not able to do layoffs on their will, but they had to negotiate conditions with the works council. And even more — the way they do these negotiations is forced by the law, including the sequence of the negotiation phases.

Another interesting topic — how people who were laid off were chosen. Massive layoff shall be based on the new vision — how company will function afterwards, in other words — restructuring. So it’s not that company fires certain people, but company removes certain positions. Then all the people who have this position (for example — Senior Java Engineer) are “sorted” by their social rating (number of years in the company, number of dependent people, disabilities, etc.) and one who has the “lowest” rating is a candidate to be removed.

At the end, our works council has negotiated good compensations for the people who will depart. I will not. I continue to work at SHARE NOW.

🤖 ChatGPT

I believe many people here have already heard about ChatGPT or even played with it. I want to share my personal “WOW”. Recently I had to find out how can I encode uuid to the BinData type 3 format, to inject it to the MongoDB document. I, together with my colleague, were doing a pair programming session and spend good 30 minutes trying to google that or derive this with our hands on experiments. No luck.

Then I decided to ask ChatGTP about this for fun. And that thing has answered me with the code example. After few obvious tweaks that code has worked and solved my problem.

Will we all lose our jobs because of this? No. But this again proves that we need to learn new things to be competitive.

📈 Pipeline game

Many of us do CI. There are times when you join the project where it is already configured, there are times when you need to invent one.

In both cases it’s good to review what’s happening during the continuous integration and if it’s possible to optimize (speed it up). For this cases I want to recommend the Pipeline Game. It’s an online game where you have set of different steps, which you may have within your real pipeline, and your job is to design the ideal pipeline. You do it by placing the cards on the table — in parallel or sequentially. You can also add their execution time and see how long will it take for your project to pass this pipeline. It can be played online together with your colleagues.

⬛️ That was it. These were the things which were interesting for me recently. Next issue — next week.
👍35
GoodDevDigest #2

⚙️ New hardware

Finally, after a delay of several months, we've received a new hardware from the company. From now on, my work machine is a 16-inch MacBook Pro. I was looking forward to it most of all because of the annoying fan noise from the old machine, especially, when Docker was launched. Now I'm relieved, this machine is so quiet, that sometimes I wonder if it does anything or not because there is no acoustic feedback.

🐈 Pet project

Next year I want to be back with pet projects. And, as we've already concluded, there is no reason to wait for the next year to happen — better to start now.
I'm planning to develop an app. So I chose something I had tried before — Expo and something what I had not — AWS Amplify. So far, I've experimented with Auth and I liked it. Within only ~2h I was able to add proper Auth, where customer can register, login, set custom property to their identity. Next step — add some API.

I will report on the progress in the next digests.

📚 Books

Started to read "Modern Software Engineering: Doing What Works to Build Better Software Faster". I did not progress a lot there, but here are couple of interesting thoughts.

* The author stresses out, that his goal is to put Engineering back to the Software Engineering. He claims that many people say that Software Engineering is very unique. It's so unique that it cannot be compared to bridge building or any other "real" engineering. However, he continues, same people do not know how the real bridge building process looks like.
* The author compares two terms — craft and engineering. When you are doing the craft — you design everything from scratch each time you start. And you receive cool custom products. But your products are unique, they differ from each other. So craft has limits — yes, you can create a chair, but how would you create 10.000 chairs? Engineering, in its way, allows us to scale. The products might be less "cool", but they will be replicable.

This correlates with the question that I ask often, when we argue about the solution. What will the newcomer think when they encounter this solution? Will they be able to grasp what's going on here quickly? We need to produce solutions that are easy to understand.

⬛️ That was it. These were the things which were interesting for me recently. Please, share, what are you reading right now?
14👍10
GoodDevDigest 2022 recap edition

Last year I had my Christmas vacation, so I don't really have something to share with you. I decided to recap on the important things from 2022.

❤️ Attachment theory

Last year I've learned about the Attachment theory. And, namely, that there are three attachment styles in the relationships — secure, avoidant and anxious. I have the third type, it's neither good or bad, but this has helped me to understand myself better.

People with anxious attachment style are used to better notice any small changes in the behavior of other people (and then make theories about the reasons of such behavior). While this is a useful skill, it's important to understand, that this skill is something we have developed in our childhood as a coping mechanism, to feel ourselves more secure. And, when we are grown up, we may want to use it differently.

Does this apply to you?

📔 Journaling

Since 18th of October, I start my day with 8 minutes of journaling. First I notice what has made me happy yesterday and then just write whatever is on my mind — good or bad, doubt or proud. I do it with pen and paper and I enjoy the process.

It's scientifically proven (random article, but it is), that journaling is good for your mental health. I think this helps me to cope with everything what's going on these days.

🎥 Best film 2022

Everything Everywhere All at Once is a masterpiece, the best movie I've discovered in 2022. This movie has so many layers that you can watch it with any purpose — entertainment, science fiction, philosophical. It's fascinating, how parent child relationship problem was presented in the movie ❤️‍🩹

👖Uniqlo

~5 years ago, I and my wife were in some museum in Milan. And they were giving out basic t-shirts as a gift for visiting the museum. I opened that t-shirt after several years and loved it. It was thin, nice to the body, it stayed the same after the washing. I learned, that it was produced by Uniqlo, but I never did anything about it.

This year I decided to buy more of such t-shirts and also to try their basic joggers and a hoodie, to improve my home outfit. It was a match. Best home suit ever and I want to buy the second one. Unfortunately, hoodies are out of stock now, but I am waiting for the restocking.

If you want to feel comfort on your body — try Uniqlo.

⬛️ That was it. 2022 was a difficult year, I will do everything to make 2023 better and wish the same to you. What's your favorite movie from the last year?
👍117
GoodDevDigest #3

🦚 Brag document

Often, developers think that they do not do enough. Usually, this happens because they forget about all of the great stuff they already did. Brag document will help you and your manager to notice your impact.

Being honest — last year I almost skipped this practice. But I want to continue this year. So I set a weekly reminder to myself to fill it in for the last week on Friday. This week is

📚 Books

Continue to read "Modern software engineering". The book is difficult to read — pure text and almost no pictures. I set a goal to read it at least 20 minutes a day.

The author says, that there are two proven factors which allow you to measure how good your software development is — stability and throughput. These two are based on the DORA metrics.

This allows us to measure if we are improving or making our software development process worse. For example — we introduce Rust. How will stability and throughput behave? Knowing that we can assess if our decision was good or bad and take another one.

Another example, this time from the book, you observe that your failure rate is high. After the releases there are bugs. So you might think — our features are poorly verified, let's introduce the Change Approval Board and they would to thoroughly check and approve each change. Turns out, science proves, that this will only make your throughput worse. So, now you have low stability and low throughput. Not cool. While introduction of the auto tests will improve both stability and throughput 📈.

With this "simple" measurement, we can verify each adjustment to the development process and take informed decisions.

🎥 Kaleidoscope

Last week, Netflix released a unique TV series (trailer) where viewer can watch episodes in any order (except the last one) and they make a complete picture. From a techical perspective, as I understand, they just shuffle first 7 episodes for each account. Each customer will have their own unique watching experience.

I'm a big fan of new formats on TV, so I watched it. It's fascinating to reflect on the questions like "How I would feel if this episode was shown as the first one to me?". Authors made a great work, that each episode adds new details ot the picture.

Have you watched it already?

⬛️ That was it for the last week. Attached image is what Midjourney thinks "software engineer is filling a document where they list all the achievements they made recently".
👍141
Which content format in this channel would you prefer?
Anonymous Poll
21%
Many topics in one digest, once a week
79%
One topic = one post, several times a week
🎥 Building a military brigade or an engineering team — is it that different?

This Monday, sergeant Markus, quite known person from Ukrainian military, has released his talk on the topic of "Desertion".

Well, it's named this way, but what it really is — it's a talk on the topic how teams are built and the role of the leader. He starts from the question — which reasons might be there, so that soldiers leave their position? And, from his perspective, there is only one main reason — bad work of their leader (sergeant in army terms). Bad work, because they were not able to build an effective motivated team — their troop. While the rules of building a motivated troop are almost the same, as building a motivated team in your IT company.

Then he goes over the principles of the new formation, which they are building — 47 brigade. First and foremost one is the continuous learning. They expect everyone from the brigade to learn and keep learning. And it's the leadership task to make this possible. Leaders shall be a role model for their subordinates.

He firmly says, that they do not want people with the "victim" mindset in their brigade. Good thing that this mindset is not a curse and in good environment one may change that. So they try to create such environment using different tools.

They start to create a Myth around their brigade — special chevrons, legend of the mountain Magura, their own rituals like climbing that mountain. All of this will eventually help to build a strong team spirit within the brigade, even if it sounds awkward from the beginning. But the more people do that — the less questions others will ask and the more they will believe.

They also integrate simple cognitive behavioral therapy principles into their day-to-day life. For example, they prohibit to call something "a problem", but suggest calling it "a challenge". You are even allowed to correct your leader, if they use this word. Also, at the end of the day each sergeant shall ask their subordinates — what did you do today on your way to Magura? In other words — what was your achievement today?

This talk gives a perfect perspective that effectiveness of the group depends on the mindset. They try to apply the same principles which we know and execute in the IT environment in our attempts to build lasting organisations.

I'm curious how would this work in army, which is definitely different from IT. But I expect it will work, it definitely will make things better comparing to the setup where these practices are not applied.

The talk is in 🇺🇦. Have you watched it? What do you think?
👍254
🛠 Useful tools

The life of a modern developer is often a task of moving JSONs from the place A to place B. Sometimes you do it between your own services, sometimes you need to integrate 3rd party services into your workload.

Let's see what can help you quickly test if integration works without deploying your software. Here are the tools that are helping me.

1️⃣ ngrok

In case you have something locally and want to expose it online. Then you can do the following:

ngrok http 8080 --subdomain=my-awesome-project

and in seconds, your app will be available under https://my-awesome-project.eu.ngrok.io. You can use that endpoint as long as both your app and ngrok process are up.

2️⃣ webhook.site

In case you do not have an actual app, but still want to test what would happen if X sends you that JSON.

Just open the website, and it will give you the unique url. Then do:
curl -X POST https://webhook.site/8f965f86-869f-4c79-aeda-1e96fffd18f4 \
-H 'Content-Type: application/json' \
-d '{"login":"good","password":"dev"}'

And you will see this request in the browser.

3️⃣ Insomnia

I remember the times, when Postman was a thing. Many people continue to use it. To me it's cumbersome. So I switched to Insomnia and use it for basic cases.

⬛️ Do you know the tools alike? Please, share them in the comments.
👍25👎2