Bran van der Meer

Bran van der Meer

👋 Hiya! I'm Bran, and on this channel I'm creating content for software engineers. I'm a big fan of TDD, Pair Programming and Continuous Integration. I'll also talk about behavioural/soft skills and a lot of other topics which are not language/framework/programming-specific topics.

🎥 Weekly videos on Thursday.

🏢 Disclaimer: The opinions expressed on this channel are my own, and not necessarily those of my employer.

Naming Things in Code

Naming Things in Code

Пікірлер

  • @codingismyreligion
    @codingismyreligion5 күн бұрын

    Im going to propose this at the start-up im workign at 🎉

  • @RichieFerguson
    @RichieFerguson5 күн бұрын

    Really great video. I am running my first post-Mortem meeting tomorrow and this has relieved some anxiety for sure. Wish me luck! Thank you for the quality content

  • @ginaserakalala4749
    @ginaserakalala474914 күн бұрын

    This was very useful!

  • @amcallejasherrera
    @amcallejasherrera18 күн бұрын

    Vulnerability is for the brave. Very nice introduction, already hooked up. I'm trying out mobp for the first time next week. Can't wait for it to happen 🎉

  • @emreapaydn4064
    @emreapaydn406420 күн бұрын

    Great explanation. I was looking for an example in React. However, your speaking tone and the mild music in the background made me a bit sleepy lol.

  • @theafrodreamer
    @theafrodreamer24 күн бұрын

    I have a code paring interview coming up. This video is helpful.

  • @heo001997
    @heo00199727 күн бұрын

    Great topic! Thank you so much for your explanation and reasoning about this topic.

  • @muhammadfahad3483
    @muhammadfahad348329 күн бұрын

    How can I recognize a facade pattern?

  • @cloynelson2974
    @cloynelson2974Ай бұрын

    this channel is so under-appreciated. Good job on explaining topics realistically and in simple words.

  • @ClaudineAllen
    @ClaudineAllenАй бұрын

    Excellent. Yes your examples were great.

  • @vladstefan4191
    @vladstefan4191Ай бұрын

    very good explanations, thank you! I've literally been using IoC without knowing it has a name, or that is a common practice

  • @marcwinner567
    @marcwinner567Ай бұрын

    This is actually the best explanation of the Facade pattern I have stumbled upon. Well done sir!

  • @ngndnd
    @ngndndАй бұрын

    wth this video is so calming i actually wanna go to sleep lmao

  • @MartinCharles
    @MartinCharlesАй бұрын

    An example would be more valuable

  • @TristanDraaisma
    @TristanDraaismaАй бұрын

    Great stuff Bran, as a Product Owner I always insist on empathy with the user, also from the development team (and vice versa) this really helps. I tried building a glossary for the product team and client, never thought it could be implemented into the code.

  • @havefun5519
    @havefun5519Ай бұрын

    Detailed explained

  • @yappykaki
    @yappykakiАй бұрын

    That is very helpful! I am not a developer but some of the concepts can definitely apply to other positions as well.

  • @masterofgame0
    @masterofgame0Ай бұрын

    Fantastic video. Very insightful

  • @KamalMettananda
    @KamalMettananda2 ай бұрын

    One of the best videos to get a clear understanding about the big picture. Thanks a lot.

  • @eliudiaz7469
    @eliudiaz74692 ай бұрын

    Excellent video quality, thanks 👍

  • @kevinka99
    @kevinka992 ай бұрын

    I like that you have mentioned Nest.js Ive being developing in Nest and depedency injection looks like a magic for just use the decorator Ive asked myself tons of time how it was implemented and now Ive a clue I still would like to see an implementation example

  • @Richter12
    @Richter122 ай бұрын

    I love the explanation, extremely high quality coding and examples. You gave me a lot of context on testing I really hope you keep doing all these videos.

  • @santhoshninjakhan7880
    @santhoshninjakhan78803 ай бұрын

    This channel is gold mine for Developers thank you soo much! Please make more videos thanks once again for your valuable lessons to us

  • @coder_one
    @coder_one3 ай бұрын

    Recursion in JS is unoptimized (it executes slower), and the lack of tail recursion support makes it possible to unknowingly create state overflow errors. Realistically, there are only a few specific situations where a JS programmer is forced to use recursion, in other cases its use is a bad decision.

  • @anshusingh3137
    @anshusingh31373 ай бұрын

    Ur bgm is very distractive 😑 Content is 100x better than any crash course

  • @philmirez
    @philmirez3 ай бұрын

    This is VERY HELPFUL. I have been having a difficult time explaining this esp with looming deadlines.

  • @adicide9070
    @adicide90703 ай бұрын

    I wonder what Jon Blow would say about this. Let's see! :D

  • @FrankVerstraeten-ey4vt
    @FrankVerstraeten-ey4vt3 ай бұрын

    I watched this when it came out, and now months later I find myself coming back. Because this video is just so good!

  • @Codefide
    @Codefide3 ай бұрын

    Thanks for the overview. I have started to pair-program with the new team/company I have recently joined. At first I was reluctant to it and wanted my own space to think about the logic/problem/solution but after a few session I am starting to see the huge benefits to it! I'm really looking forward to many more pair-programming sessions with my colleagues :)

  • @JonSchleicher
    @JonSchleicher4 ай бұрын

    software teaming/mob/pair programming is a huge effort. I don't know if it's something that's healthy to be done all day. I also don't know if sucking the brain dry in problem solving all day by ourselves is healthy either. I think there are definite points to be made about a cadence and dedicated breaks. There are a few things that come with software teaming that can't be reproduced otherwise: - built in quality ( without folks working together, new product updates have to be thrown over the wall for someone to "inspect". a good idea, but quality can't be inspected in, and it creates continued waste cycles ) - product delivery - we are not just "completing a ticket" when we finish an item when working as a group. That this is in production and we are getting feedback to see if it has any type of value pulse. - product mindset and breaking down functional titles - everyone has a product mindset and thinks about the impact to the end Customer.

  • @MorphTW
    @MorphTW4 ай бұрын

    Thanks for sharing! comment for the algorithm. I hope to see you around for a long time.

  • @maurolimaok
    @maurolimaok4 ай бұрын

    Thinks fot the channel. I'm on my first steps on Odin, and all this stuff will be very useful.

  • @max06de
    @max06de4 ай бұрын

    I am autistic and affected by adhd. I do mob programming all day long. While it feels uncomfortable in the beginning, it has a lot of benefits, if done right. The team shouldn't be larger than 5 people, and it should contain all experience levels. You can drop out anytime and join back without being judged, or turn your brain off for some minutes even as the driver. You can bring in new ideas directly during implementation, not weeks ahead in a planning session - something like "you might wanna try mermaid for that diagram in that readme instead of writing it down in sentences". You can teach your colleagues by demonstrating your style of working and learning from them. And the result will be of a higher quality with less unexpected issues just because of the combined experience of 5 brains. Even documentation happens on its own just because someone asks for a comment in code for later use. I don't fear it at all anymore. I'm not even afraid of presenting code to larger audiences. And my imposter syndrome is gone. And yes, there are some tasks I'm doing on my own. When I really need my brain to be not disturbed by someone else's thoughts, like when I'm creating a new architecture or toolchain. Edit: I'm a SRE in a pure operations team. Lots of kubernetes deployments. And we're 100% remote.

  • @branvandermeer
    @branvandermeer4 ай бұрын

    Thank you very much for you comment and opening up, I really appreciate reading your perspective.

  • @tijldeclerck7772
    @tijldeclerck77724 ай бұрын

    Very nice explanation

  • @BA65574
    @BA655744 ай бұрын

    It’s very important to remember: the question isn’t whether pair programming is faster than solo programming. The question is whether it’s at least 2x (pair) or 3-4x (3-4 person mob) faster, as you’re tying up multiple developers concurrently. For it to have positive returns, it must be exponentially more efficient than solo development on any given task, not just slightly more efficient. You may find some perceived gains in speed, but are they outpacing the developers you’re tying up from doing other things? For the ROI to be there, it must be 3-6x more efficient, not just marginally more efficient. Are you REALLY closing your tickets 5x faster? I’ve spent time in teams that mobbed a lot, and they sometimes worked faster, but NEVER were they consistently 4-5x faster. Sometimes it was even slower. It has value for complex tasks, architecture discussions, difficult algorithms, outage or incident debugging and triage, etc. But it’s use is greatly over stated for mundane typical tasks, where it’s simply impossible to obtain a 5x gain in productivity by throwing multiple developers at a problem.

  • @augustusmurphy7520
    @augustusmurphy7520Ай бұрын

    I have to raise a flag that "closing tickets" is a very ambiguous way to measure something-I think anyone with experience in the industry can agree that it's very difficult to find two tickets between two different teams that are comparable. I think that the difference between resource and flow efficiency is worth thinking about. Optimizing for "resource efficiency" means that every person on a team should be occupied all the time. Optimizing for "flow efficiency" means we are optimizing for the outcome of the team. Is every ticket we close delivering business value? On the (vast) majority of teams in the industry you might have a 15% chance or something like that. What are the real bottlenecks in software development? For me I'd say paramount among them are knowledge siloes. Next I'd say lack of automation for repeated tasks like acceptance testing or deployments. Those problems can be difficult to solve, and in my experience become much, much easier when working closely with others. Ensemble work (pairing or mobbing) is a skill like any other, and it demands that people are actually able to work together as human beings, not individual cogs in a machine. I would expect a significant dip in productivity if a heavily-siloed team (in other words: the overwhelming majority) just tried to "throw the switch" and work as a mob-you have to be willing to work at it together. But the benefits that can ("can", not "will") be seen from working this way are so far beyond most peoples experience in the industry that describing them sounds like a pipe dream. Take a look at how Hunder Industries works. They are one of the few that has cultivated a culture that is positioned to maximize for flow efficiency. To the point you raised in your last paragraph that is has value for complex tasks but not for simple ones. Most people who practice ensemble programming successfully would agree with you. There is no rule book to follow. You do what makes sense, if you have a mob of 5 and one person is a wiz in writing Python scripts to automate away some repetitive task and can do it in 15 minutes, nothing is stopping them from being on their own machine and doing that on their own before bringing it to the team.

  • @be1tube
    @be1tube4 ай бұрын

    Pair programming has never sped things up for me. I'd be willing to try mob programming, but I expect it to be as worthless as pair programming. I'm also extremely dubious that it helps "focus on the important things." However my experience may be limited by being mainly a back end developer. I can imagine that for UI, having a number of opinions might be helpful.

  • @alieutier
    @alieutier4 ай бұрын

    I think mob programming works well for short periods of time when the whole team can really be engaged and thinking in the same direction (like solving a complex problem/bug or aligning on design decisions early on eg for an api). On mundane tasks however mob programming can be extremely boring as the spectator can feel like they are just waiting. I used to recommend individual/pair/mob based on how much problem solving power a task needs. Trivial tasks can be done quickly by one person, no need to involve everyone else. More complex tasks in pairs, and even more complex can work well in mob if they are likely to engage everyone and everyone can benefit from the learning.

  • @over9000andback
    @over9000andback4 ай бұрын

    Mob/pair programming totally sucks for someone with ADHD. I'd rather talk to an AI about my code, and have other people review my code later.

  • @manuillo94
    @manuillo944 ай бұрын

    I find myself committing way more mistakes if I'm being watched over. I just concentrate in not making mistakes instead of the actual thing I'm doing, so I go slower and can't get a holistic view of the system because my "mental context budget" is being spent in the social context. Also, I can't solve complex problems because there is no way of having a deep train of thought running while bombarded with constant interruptions from co-workers complaining about minor things, such as names of variables and functions. The best work is deep work, the one you do alone, uninterrupted and fully focused on one single task.

  • @branvandermeer
    @branvandermeer4 ай бұрын

    As the driver, you're not supposed to be solving complex problems, that's what the navigator is for. If you tend to focus on not making mistakes while others are watching you, I guess you need a more "psychologically safe environment" to free yourself from the judgements of others. Only when you feel totally free to make _all_ the mistakes, the pair/mob can learn. Maybe a book-tip: the 5 dysfuctions of a team, by patrick lencioni.

  • @manuillo94
    @manuillo944 ай бұрын

    That makes no sense. If the one who is solving the problem is not writing it, you are just adding a layer of human error and possible miscommunication. Also, I don't want the first version of what I write to be seen because it usually contains stupid errors that I can see and solve in no time just reviewing it once. Those small stupid errors are the ones I don't want others to see. Not because I'm afraid, but because I respect their time.

  • @davidsandsten4789
    @davidsandsten47894 ай бұрын

    Loved this, your videos are awesome!

  • @yoavtamir7707
    @yoavtamir77074 ай бұрын

    Subscribed!

  • @user-td7xk8mt7l
    @user-td7xk8mt7l4 ай бұрын

    Would be nice if you remove your annoying music.

  • @mathdessin6755
    @mathdessin67552 ай бұрын

    Maybe he needs music more subtle or just quiet it down but it's not distracting to me

  • @RootsterAnon
    @RootsterAnon4 ай бұрын

    I really like this idea. I didn't know it's called "mob programming" but I always preferred that way of programming. Whenever I work on some multi-discipline project I always need to wait for someone to do part of the job that I will integrate. Issue was that other team members didn't know context in which I'm using their stuff. I always spend my free time at work to work with someone on something and when other have free time they can come to me and see how my part operates and how I'm using their stuff. So my take is this: "One multi-talent with bunch of specialists" is how this could work flawlessly. I am starting to freelance soon and having my partners/contractors/vendors work on my code with me is a way to always be in a loop and understand the challenges as they arise vs when someone needs to report this to me.

  • @anton-shubin-live
    @anton-shubin-live4 ай бұрын

    I like pair programming for prototyping and debugging parts of the job. I’m curious to try mob programming! I feel that it requires the product owner and whole team to be in sync about it, have same timezone and work hours, that’s not always possible in remote teams. So it might be not for everyone, but I’d give it a try! Thank you for the video!

  • @MilMike
    @MilMike4 ай бұрын

    as an introvert I HATE pair or mob programming... I can do it for 30min.. max 1h but all day long = NO GO. I am already searching for a new job because I am sitting always with someone. In pair I am very unproductive. E.g. 5h of "debugging" with someone and no result... Then after work I spend 30 minutes by myself in total flow and can fix the problem. I prefer to work alone, feels better and I work alone faster.

  • @VictorMartinez-vi7jx
    @VictorMartinez-vi7jx4 ай бұрын

    I agree completely man

  • @arimill1045
    @arimill10452 ай бұрын

    "Hey I think better on my own, so I'm going to take 30 minutes to tackle this and come back" Zuill mentioned this in his original talk, Mob programming doesn't ban this. If anything it properly timeboxes you, and if you are incorrect you can come back to the team with new information.

  • @clydecalador
    @clydecalador4 ай бұрын

    Yet again, fantastic! You have my sub and recommendation.

  • @clydecalador
    @clydecalador4 ай бұрын

    Hands down the best channel on KZread explaining software development principles. The content is great, the pace is great, even the subtle relaxed music in the background is pleasant. All this combines to deliver a gem for software developers of all levels. Hats off to you sir. 100k subscribers and way beyond if you keep this up. I wish you great success in this endeavour!

  • @FLUTTER_HUB
    @FLUTTER_HUB4 ай бұрын

    your videos are tressure...thanks

  • @MrSolja95
    @MrSolja954 ай бұрын

    Great content Bran! Thank you for this!

  • @nata_mat
    @nata_mat4 ай бұрын

    thanks for the clear explanation!