How 1 Software Engineer Outperforms 138 - Lichess Case Study

Поділитися
Вставка
  • Опубліковано 25 гру 2024

КОМЕНТАРІ • 509

  • @hookflash699
    @hookflash699 2 місяці тому +1673

    A programmer who actually gives a sh*t is an order of magnitude more productive than one who doesn't.

    • @DeveloperOfGames
      @DeveloperOfGames 2 місяці тому +5

      money is a powerful motivator

    • @topgxpert
      @topgxpert 2 місяці тому +28

      @@Entropy67
      I’m working solo on my projects, and I prefer it that way. I don’t want to panic over finding a co-founder-I just want to focus on building and executing my idea

    • @fabriai
      @fabriai 2 місяці тому +7

      Or not… it depends on the developer and the project right?

    • @dszmaj
      @dszmaj 2 місяці тому +6

      @@Entropy67, that's great about you, but please leave them be, they're there to pay bills and probably burnt out already, no need to add them additional stress
      just build your own company and projects on the side

    • @pmarreck
      @pmarreck 2 місяці тому +2

      "more productive" may equal "codes slower" though, and therein lies the rub

  • @Sameer.Trivedi
    @Sameer.Trivedi 2 місяці тому +2518

    No meetings, no jira tickets no PO, PM & SM breathing down your neck. Sounds like a very productive environment to me 😅.

    • @patrickcameron2950
      @patrickcameron2950 2 місяці тому +181

      No daily standup that turns into a one hour meeting.

    • @monad_tcp
      @monad_tcp 2 місяці тому +99

      Yeah, imagine not having 4 managers to manage you, how productive you can be.

    • @nexovec
      @nexovec 2 місяці тому +27

      But there's also like 2 people in the world that have done something of this magnitude solo

    • @fuzzy-02
      @fuzzy-02 2 місяці тому +3

      @@Sameer.Trivedi Potato Overlord, Potato Minister, and Super Mascot!

    • @rogsiel
      @rogsiel 2 місяці тому

      Who is the second one? ​@@nexovec

  • @misnad
    @misnad 2 місяці тому +700

    My respect for Lichess just skyrocketed after watching this. I've always loved Lichess, but never knew it had one core devoloper.

    • @CST1992
      @CST1992 Місяць тому +1

      Yeah, the founder maintains the platform himself. He's French, and doesn't even pay himself that much, only around 60k euros a year.

  • @CrisTekk
    @CrisTekk 2 місяці тому +316

    Your typical 138x engineer, every company needs one

    • @NickSteffen
      @NickSteffen 2 місяці тому +13

      The 138x engineer will need to be sole owner of the company 😅

    • @hellowill
      @hellowill Місяць тому +3

      138... the max level in Runescape wasn't it?

    • @AdamSchelenbergCom
      @AdamSchelenbergCom Місяць тому +3

      The company will slow him down.

    • @CrisTekk
      @CrisTekk Місяць тому

      @@AdamSchelenbergCom Yes, money does things to people.

    • @TeslasMoustache419
      @TeslasMoustache419 11 годин тому

      Most companies would turn him into a 1x engineer.

  • @Ankh.of.Gaming
    @Ankh.of.Gaming 2 місяці тому +584

    A good developer writes code. A great developer removes code.

    • @b-u-n
      @b-u-n 2 місяці тому +25

      An overpaid developer prevents code from being written

    • @TheddunTOSS
      @TheddunTOSS 2 місяці тому +3

      @@b-u-n depends, some code should not be written or drastically reduced.

    • @NigerianWeeb
      @NigerianWeeb 2 місяці тому +9

      Ah yes, another quote about programming, that is like every other one - super situational.

    • @saent_bass
      @saent_bass 2 місяці тому +1

      ⁠​⁠​⁠@@NigerianWeeban yes, another person pointing out the obvious “it depends”.
      If everything you could possibly say about programming is super situational, then what do we gain from you pointing it out? We already know brother.

    • @NigerianWeeb
      @NigerianWeeb 2 місяці тому +2

      @@saent_bass I was being sarcastic. But please, by all means, go on.

  • @le0nz
    @le0nz 2 місяці тому +733

    Chad open source mantainer vs virgin(s) corporate programmers

  • @ViperLarry-v7p
    @ViperLarry-v7p 2 місяці тому +850

    Saw he uses NixOS in his streams. Knew he was absolutely cracked immediately.

    • @tom-delalande
      @tom-delalande  2 місяці тому +110

      I didn't know he uses NixOS, I love that. I couldn't find any VODs but I'd love to see how he works

    • @ViperLarry-v7p
      @ViperLarry-v7p 2 місяці тому

      @@tom-delalande You can follow him on twitch ornicar2, you can really see what peak productivity looks like, its humbling

    • @NabekenProG87
      @NabekenProG87 2 місяці тому +114

      Nix mentioned. Lets fucking goooooo

    • @mustaregis
      @mustaregis 2 місяці тому

      ​​​@@tom-delalande you can see how he works live on twitch. He streams from time to time ( his channel name is "ornicar2"). He does indeed use NixOs, I have asked him in one of his streams.

    • @rightwingsafetysquad9872
      @rightwingsafetysquad9872 2 місяці тому +73

      Nix has a lot of politics going on internally. They recently forced out the founders. Expect it to become terrible in short order.

  • @fakt7814
    @fakt7814 2 місяці тому +507

    This is a prime example of how incomprehensible a gap between a productive developer and an average middle/senior developer is. Many sites are much simpler than Lichess and they still need dozens of developers to survive, not talking about other personnel. Deployment part is especially impressive, considering all aggressive kubernetes propaganda that you somehow need a cluster for each and every app, even if it has no more 10000 average users per month in a hope that someday it will gain millions of users. This OG just uses one bare metal server that manages 5kk games per day. It reminds me of Telegram that while being one of the most popular social networks in the world is maintained by 30 engineers and one PM that is Pavel Durov himself. But Lichess example is even more extreme. We live in a world of lies, of lies and incompetence. But on the bright side it's still impressive.

    • @marcialabrahantes3369
      @marcialabrahantes3369 2 місяці тому +31

      organizations usually downgrade to a lowest common denominator of competency once big enough to have a decent amount of politics.
      No wonder DHH keeps his company small

    • @mzg147
      @mzg147 2 місяці тому +3

      Why lies? yeah i'm one of the incompetent developers out there, what should I do, go work in construction to not be a liar?

    • @100c0c
      @100c0c 2 місяці тому

      Ideally people go where they're most productive. You should be in construction if that's your best. @@mzg147

    • @jshowao
      @jshowao 2 місяці тому +27

      Dude, a 2D chess game is not a massively complicated application. This is the problem I have with developers. They find some niche application, see it was developed by one person, and then compare it to all other, completely unrelated applications that require accuracy on many levels to align with not only scalability, but business logic, and revenue generation. And just because somebody makes contributions, doesnt mean he's sitting there "writing all the code". You can set merge requests to make you as the contributor of the merge commit.
      5 million users is nothing compared to even your standard news site that gets 10's of millions of hits per day.
      And I'm not trying to dock this man, he's obviously really skilled, but I think people just get lost in the idealization of it all.

    • @100c0c
      @100c0c 2 місяці тому

      @@jshowao It applies to things like Telegram and Twitter/X as well. Most tech companies are bloated.

  • @jefferymuter4659
    @jefferymuter4659 2 місяці тому +228

    Id love there to be a series on this. Finding projects that outpace competition bc of tech stack & caring devs vs bloated companies & tech stacks.

    • @KewalTailor
      @KewalTailor 2 місяці тому +9

      Yup, ACTUALLY giving a shit DO make a huge difference

    • @XxzephyrusxX1
      @XxzephyrusxX1 2 місяці тому +3

      While nobody can dispute his skills, the lack of "bloat" recently caused an 11 hour outage due to OVH being OVH (trash).
      There's a reason why most companies do not deploy their crap on OVH, and there's a reason why "bloated tech stacks" like Kubernetes exist.
      Proper cloud architecture would have reduces or nullified that 11 hour outage.

  • @j1d7s
    @j1d7s 2 місяці тому +75

    A super interesting, in-depth discussion of this open source project, the most inspiring programming related video I have seen recently! I am not a chess player, so I was not too aware of lichess, but now I am very impressed. It is always nice to see what a focus on simplicity and quality and the absence of managers and investors can bring about. Lichess is a project that really deserves financial support.

    • @tom-delalande
      @tom-delalande  2 місяці тому +7

      Totally agree, it's such an inspiring project.

  • @d_6963
    @d_6963 2 місяці тому +301

    I have been working in a Scala codebase now for 6 months. I can see where Kotlin gets many of its traits from. This codebase was written by inexperienced devs, the code is a nightmare to work with. Projects with good languages can be brought to its knees by junior devs.

    • @DisFunctor
      @DisFunctor 2 місяці тому +47

      Currently working in a large Python codebase and never before have I considered quiting programming as many times as I have now. I think it was mainly juniors and overengineering "seniors" that made it terrible (plus Python's horrendous type system). Makes me miss Scala 😢

    • @d_6963
      @d_6963 2 місяці тому +11

      @@DisFunctor , lol, we are actually migrating this code base to Python. I worked over the weekend just to get the initial architecture down to ensure that we don't follow the same path.

    • @NightXof
      @NightXof 2 місяці тому +10

      As someone who's just learning how to program can you masters tell me what it means to have a bad codebase or what does bad programming look like? What are things that I should learn to not end up being hated by one of you experienced programmers. Please take the time and reply as I really would like to know the foundations.

    • @TheSaintsVEVO
      @TheSaintsVEVO 2 місяці тому +1

      @@NightXofsame here, would be interested to hear

    • @Dozer456123
      @Dozer456123 2 місяці тому +34

      @@NightXof Unfortunately, that's not something you can learn from a youtube comment :)
      Just you writing code unsupervised as a junior developer will lead to bad code. You just need to write a lot of code and get it reviewed by competent people. Learn about patterns, best practices and structure before you stop writing shit code.
      Just keep doing it, and don't worry about it for now, it's literally unexplainable to you at the moment because you don't have the experience and you don't know what it looks like.

  • @ajeybs4030
    @ajeybs4030 2 місяці тому +22

    Thanks. Never knew lichess was open source too being managed by one person. This is a focused and passionate achievement we all should be acknowledging

  • @96merluzzo
    @96merluzzo 2 місяці тому +21

    I feel like I learned something technical while watching someone finally tributing LiChess for what it is, both technically and ethically. Thanks for your video.

  • @Palm-y6l
    @Palm-y6l 8 днів тому +1

    Great video. It shows how one man can outperform a whole corporation by just focusing on the product and doing the right things.

  • @adriankal
    @adriankal 2 місяці тому +153

    Scala is not the most important factor here. He could have same results in any modern typed language. It's much more about what was said at the end. Don't accumulate technical depth, remove instead of add, chose a right tech and change it when something else does the job better.
    In terms of languages. He could have similar productivity in go, dart, c#, rust and bunch more. Scala is only one option.

    • @dszmaj
      @dszmaj 2 місяці тому +21

      Programming languages in general, are just tools, like hammers, you don't blame the hammer if you're not productive, don't you? :P
      over my experience, I figured that they don't really matter that much, it's almost all the same, just different syntax and better for various use cases, so basically like specialized tools, but only tools

    • @doktoracula7017
      @doktoracula7017 2 місяці тому +6

      @@dszmaj And it seems that in last few years languages started converging together and becoming more and more similar.

    • @LukePighetti
      @LukePighetti 2 місяці тому +3

      dart is becoming an awesome backend language. just rarely used because its associated with flutter. glad to see it mentioned here

    • @Georgggg
      @Georgggg 2 місяці тому +1

      Technically, you can write maintainable code in Java... but have you seen such once?

    • @ZM-dm3jg
      @ZM-dm3jg 2 місяці тому

      If you're a solo dev, at the end of the day the programming language that is best is the one you know the best

  • @simpleman7203
    @simpleman7203 2 місяці тому +34

    Honestly, this guy, one man army, deserves a lot more salary. Obviously, money isn't leading driver for him, but I hope he'll still gonna get a lot more, he truly deserves it. What a guy!

    • @georgerogers1166
      @georgerogers1166 2 місяці тому

      Could charge a bit for certain features.

    • @simpleman7203
      @simpleman7203 2 місяці тому +5

      @@georgerogers1166 nah, it would ruin everything. Maybe some ads? The most non-intrusive and less obnoxious and yet very respectable. I guess it could change the game, really.

    • @Goblonium
      @Goblonium Місяць тому

      @@simpleman7203 The whole point of lichess is being ad-free while offering all the features for free. It was founded on that basis.

    • @keppycs
      @keppycs Місяць тому

      ​@@simpleman7203I might be broke, but I still donate 1 euro a month. It grants me a cool badge, makes me feel good about supporting the project ^^
      1 euro might not be much, but it's already way more than they'd make from me seeing ads. For another perspective: I'm covering the costs for other users ^^

    • @superjbosc5343
      @superjbosc5343 6 днів тому

      @@simpleman7203 He could just outright raise his own salary. I'm sure there's probably more than enough interest in crowdfunding lichess, maybe at most put a banner like Wikipedia does every year asking for extra donations.

  • @youcefmoulla1828
    @youcefmoulla1828 2 місяці тому +27

    As a flutter developer and a chess player, I feel ashamed that I haven't contributed to this amazing project yet!

  • @nightshade427
    @nightshade427 2 місяці тому +9

    love this video, shows large scale real-world application architecture done by one person at scale is not only possible but enjoyable, a man after my own heart

  • @oghenemarho5694
    @oghenemarho5694 2 місяці тому +31

    Thank you for this video, it is great to see the mindset of such a high level programmer like Thibaut !

  • @jakisajordan
    @jakisajordan 2 місяці тому +30

    This is an impressive case study, super insightful!

  • @RequiredAccountsSUX
    @RequiredAccountsSUX 2 місяці тому +293

    So the 100x programmer is not a myth after all, eh? 🙂

    • @0011101001101
      @0011101001101 2 місяці тому +101

      There is such a thing as a 0.01x organization

    • @FredoCorleone
      @FredoCorleone 2 місяці тому +19

      Dunno about 100x but I know 10-20x is perfectly feasible

    • @lyqed7803
      @lyqed7803 2 місяці тому

      @@0011101001101 lmao

    • @georgerogers1166
      @georgerogers1166 2 місяці тому +3

      Wizards exist.

    • @shrin210
      @shrin210 2 місяці тому +6

      ​@@FredoCorleone
      700 employees vs 1 developer
      look more than x100 to me

  • @Krarilotus
    @Krarilotus 2 місяці тому +39

    Lichess is like one of those bright stars from the open source communities, its really outstanding!

  • @vincent_sz
    @vincent_sz 2 місяці тому +90

    PostgreSQL can be used as a document-store with its excellent json/bson storage an query capabilities and it features a rich and extensible type system which helps modeling the problem domain and keep it consistent. You can also use languages like js, Python etc. Inside the db (but I find this not so useful) and it's pub/sub capabilities can enable realtime apps without need for constant polling. With Patroni replication and HA is easy. So postgres would be a very good choice in the long term.

    • @yurisich
      @yurisich 2 місяці тому +10

      Better watch out for the creeping Eveything table with a UUID PK "id" and a single jsonb column "value". I've seen a lot of javascript-oriented json data get dumped into Postgres this way. It's not a good time, especially when collections contain arrays of random elements that must be searched (of course this inevitably happens on the frontend, and becomes a gigantic source of tech debt). It's better to store data in a way that lends itself to *almost* server side rendering, making the frontend's job as simple as possible. Displaying data with a good UX is hard enough as is.

    • @vincent_sz
      @vincent_sz 2 місяці тому +17

      @@yurisich This is a datastore agnostic problem and will be the same with every other datastore. A single Mongodb collection, one big jsonl file. Or unnormalized data inside an relational db... Often a combination of approaches and careful data modeling is key to long term success. I used it for web-scraping and data extraction where I can dump results from the scrappers as json into specific tables and then query the data from sql and build materialized views from this data for easy and performant queries. Also I found it quite pleasant to use as an event store for event-sourcing.

    • @GreatTaiwan
      @GreatTaiwan 2 місяці тому

      @@vincent_sz " event store for event-sourcing." "pub/sub capabilities can enable realtime apps without need for constant polling"
      never heard of these 2 points regarding DB could you elaborate on these?

    • @b-u-n
      @b-u-n 2 місяці тому +2

      Uh no, mongo was made for that. Please don't do this with SQL; you are creating tech debt that requires a data engineering team to deal with.

    • @vincent_sz
      @vincent_sz 2 місяці тому

      @@b-u-n Only because something is build for sth. doent mean it is the only solution. I do not see much difference in using either to store json documents. Tech is only as good as its (ab-)user. If 80% of my use-cases are perfect fit for relational and the other 20% are easier with an document store, then it is stupid to add another complex gear to my stack. This would be is growing tech debt and add long term operational cost. Also one the greatest tech debts I had to deal with were mongodb databases. E.g. Unifi Controller was/is using mongodb for a long time and this was a huge fail (it didnt even fit their usecase). I dont know how they managed, but they never were compatible with newer mongodb versions. Now they are migrating to postgresql. I agree with you that using postgreql exclusively as an document store when an specialized document store would be more suitable is questionable. But I found this is a very rare case. The best solution is to use the repository pattern and make the data stores interchangeable

  • @DavidM_603
    @DavidM_603 2 місяці тому +71

    5.2 million chess games on a single core? That single-core developer must be cracked.

    • @KikkerFish
      @KikkerFish 2 місяці тому +10

      Why would this be running on 1 core?
      This is 60 concurrent games per second.
      Computers are insanely fast. If you play Fortnite with 100 players then your computer is doing a 100000 more stuff in a second than this server.
      Chess game = 8x8 2D grid.
      Fortnite = a huge 3D world with dudes jumping around, bullets, audio, lots of network stuff, physics, etc

    • @TheddunTOSS
      @TheddunTOSS 2 місяці тому +1

      Why only one core?

    • @CoalOres
      @CoalOres 2 місяці тому +1

      @@KikkerFish True, if you ever write a chess engine as a project you'll see you can fit entire chess moves into just 2 bytes (maybe even less for this since you don't need some of the details). The headers probably take up more space haha.

    • @julianavar3836
      @julianavar3836 Місяць тому

      It's powered by Play, an MVC framework, which is implemented with Akka an actor system framework (think BEAM as in Erlang or Elixir), and the compiled to graavm. And this is before green threads in Java 23. So I would say the tech stack is what is cracked, but of course to get it to that performance you have to do a lot of fine tuning, and the architecture, and lot of additional factors that make him super cracked. No, it's not singlecore, his server's tech specs are somewhere in the repo if you're interested.

  • @dzccccc
    @dzccccc 2 місяці тому +12

    the mongodb web scale reference got me
    great video! subscribed

  • @monad_tcp
    @monad_tcp 2 місяці тому +153

    0:10 A single-core developer ? aren't all developers single core ? I mean, they only have 1 core or head. I'm kidding.

    • @azeezahm2242
      @azeezahm2242 2 місяці тому +9

      I know some people have 3 cores. They can iterate on 3 unrelated lines of thought at once.

    • @jakebrowning2373
      @jakebrowning2373 2 місяці тому

      Ha...

    • @sajibprime3
      @sajibprime3 2 місяці тому +1

      not single-core as in dual-core or quad-core. Instead what he meant was the number of core developers is single(one)./whoosh, kiddin, I have the goal of becoming a dual-core dev myself.

    • @MichalHošna-e4n
      @MichalHošna-e4n 2 місяці тому +1

      Single core-developer

    • @SoftBreadSoft
      @SoftBreadSoft 2 місяці тому

      ​@@azeezahm2242 I can do 2 or 3, sometimes it hurts more than it helps as I get old and my short term memory gets funny.

  • @aronhegedus
    @aronhegedus 2 місяці тому +5

    As shown in the video (not sure if mentioned), the analysis is done on a distributed network of people offering up their CPU % in something called fishnet. It was cool to feel like a part of lichess when doing this myself, and it's also really nice to be able to see source code!

  • @nhefner
    @nhefner 2 місяці тому +15

    Great video as always! When I was in university, we had a class called Comparative Languages and we studied Scala as a way to learn functional programming.

    • @tom-delalande
      @tom-delalande  2 місяці тому +2

      That's fantastic. My university was essentially OOP from front to back. I wish I'd discovered Scala earlier

    • @Leadbraw
      @Leadbraw Місяць тому

      Awesome, I'm currently taking a similar class. Most of the program is Java, but in this class we're learning C and Erlang, as well as touching on some python near the end (which much of the class has prior experience with)

  • @danishmehmood6110
    @danishmehmood6110 2 місяці тому +3

    beautiful video man , you should keep doing this longform thing , this goes on to show that how simple software engineering still is , and we ourselves make it complicated by using every other fad in existence

  • @MommysGoodPuppy
    @MommysGoodPuppy 2 місяці тому +2

    nothing is more satisfying than working on a project and doing big refactors that make things more maintainable

  • @NigerianWeeb
    @NigerianWeeb 2 місяці тому +1

    This is one of the best programming videos I've seen.

  • @typosbro_
    @typosbro_ 2 місяці тому +149

    I just realized how much more youtube algo understands me than myself 😮

    • @shateq
      @shateq 2 місяці тому +4

      It's scary that it's also true for me

    • @warrenarnoldmusic
      @warrenarnoldmusic 2 місяці тому +2

      ​@@shateqyea i was stressing th other say why till now java doesn't have unions and mixins/traits

    • @NostraDavid2
      @NostraDavid2 2 місяці тому

      The algo is based on your YT history, so you yourself have led yourself to this video 😊

  • @nowarm
    @nowarm 2 місяці тому +3

    Great video! I enjoyed your detailed narration.

  • @oli_dev
    @oli_dev 2 місяці тому +8

    Thanks so much for these videos. They are a joy to watch :)

  • @_BonsaiBen
    @_BonsaiBen 2 місяці тому +5

    That was an awesome mind expanding video. Thank you so much

  • @gnorts_mr_alien
    @gnorts_mr_alien 2 місяці тому +1

    I feel quite alone in the unbalanced spectrum of developers in the internet where one side refuses to use anything they did not invent, and the other side thinks tools and the debt that comes from using tech aimed for companies serving billions of users are suitable for their little side project. You are the only content creator I know that strikes the perfect balance, engineer mindset that strives to serve the needs of a problem in a rational way. Great video as always!

    • @KikkerFish
      @KikkerFish 2 місяці тому

      I’m with you 👍

  • @mattetis
    @mattetis 2 місяці тому +12

    I love the "javascript is dangerous" 😂
    Preach the word 🗣️🗣️🗣️

  • @eugen3857
    @eugen3857 2 місяці тому +8

    Do more videos like this one. It's so interesting, inspiring, and useful to hear such stories

    • @tom-delalande
      @tom-delalande  2 місяці тому +2

      This was super interesting for me too. There's so many talented people and projects out there, I'd love to dig deep into more of them

  • @29..47
    @29..47 2 місяці тому

    Really great narration and editing style. I'll definitely be subscribing
    Everything else about the video too, very calm and clear. There's nothing distracting from the content of the video so all of our mental energy is used to understand this content, there is no need to skip back, even when one is tired.
    Really great video! =]

  • @felixhaag1335
    @felixhaag1335 2 місяці тому +194

    If he had chosen haskell for lichess, the primeagen could not longer claim that haskell is just a white paper language :D Missed opportunities...

    • @OverG88
      @OverG88 2 місяці тому +76

      If he had chosen Haskell, we would probably never see Lichess.

    • @ヽノ-u4t
      @ヽノ-u4t 2 місяці тому +13

      Pandoc is written in Haskell.

    • @ardnys35
      @ardnys35 2 місяці тому +9

      postgrest is written in haskell too. tsoding has stream tools written in haskell

    • @WHYUNODYLAN
      @WHYUNODYLAN 2 місяці тому

      Also ShellCheck and Github's "semantic" tool.

    • @WHYUNODYLAN
      @WHYUNODYLAN 2 місяці тому +13

      Haskell being a whitepaper language is true (it was 100% just for research when it was created), but it's also gotten more and more practical with useful extensions to the language and better developer tools over the years.

  • @ianglv
    @ianglv 2 місяці тому

    Such a good video! I have been a fan of Lichess due to its open source philosophy, but this case study has only made me appreciate even more the success that it has achieved. Thank you for doing this research and for sharing some of Thibault's wisdom with regards to development and coding!

  • @vkuprins
    @vkuprins 2 місяці тому +5

    As far as I know, the chessboard implementation on Lichess is not built using Snabbdom. Instead, it is written using TypeScript along with SASS for styling. The allowed moves for each piece are communicated through a “dest” object, which is transmitted via WebSocket connections. This process is triggered by an event called “move”

  • @n.w.4940
    @n.w.4940 2 місяці тому +1

    Really love the metaphysical note you gave about there is more to SW than just FANG, very nice video!

  • @Huey-ec1
    @Huey-ec1 2 місяці тому +2

    For me, the vast majority of time-sinks comes from taking on and being stuck with popular dependencies when they run into edge-cases against other dependencies. There's also a lot of considerations that everyone has to spend time and effort adhering to in order to work together as a team. Combine that with all the random scope creep and back and forth between stakeholders and PMs breathing down your neck for the same update you've given them 3 times on the most trivial of details you end up with a messy app that takes forever to build.

  • @ProgrammerND
    @ProgrammerND 2 місяці тому +1

    The analysis is so insightful and amazing that it earned you a subscriber. And I got someone to look up to now. Thanks a lot!

  • @valeratrades
    @valeratrades 2 місяці тому +3

    So much value, thank you.

  • @lifelover69
    @lifelover69 2 місяці тому +11

    Thanks for a great showcase of lichess. Thibault's software approach resonates with me and is a breath of fresh air.

    • @tom-delalande
      @tom-delalande  2 місяці тому +2

      I couldn't agree more. Guy is a humble genius, I can only wish to be more like him

  • @pushkarmahajan9294
    @pushkarmahajan9294 2 місяці тому +3

    Earned a subscriber, really enjoyed the video!

  • @isolatedsushi5996
    @isolatedsushi5996 2 місяці тому +1

    Absolute gem of a video!

  • @NicolasEmbleton
    @NicolasEmbleton 2 місяці тому

    Wonderful summary!!! Thanks for covering the smaller but more important projects ran by passionate people. ❤ Lichess is amazing and Thibault is a beast!!

  • @softwareengineer8923
    @softwareengineer8923 2 місяці тому

    Story telling and explanation of technologies in video was quite intriguing, thanks a lot for such a useful content

  • @spongebobsquarepants4576
    @spongebobsquarepants4576 2 місяці тому

    Great video, really nice how you analyzed all the tech stack and the philosophy behind the website

  • @nathannowack6459
    @nathannowack6459 2 місяці тому +2

    this was a great video! i’d love to see more case studies like this

  • @blablababaa
    @blablababaa 2 місяці тому

    And even the experience feels better on Lichess, crazy work from Thibault

  • @brhnkh
    @brhnkh 2 місяці тому +6

    Great video! I may be in the minority, but I really love how simple the lichess UI is. No fluff, painless ux

  • @monad_tcp
    @monad_tcp 2 місяці тому +16

    3:22 see the problem ? only 2 people, you don't need ANY managers

  • @ChocolateMilkCultLeader
    @ChocolateMilkCultLeader 2 місяці тому +3

    Excellent analysis. Thank you

  • @krsp1331
    @krsp1331 2 місяці тому

    Thank you for making this video. I'm glad theres such a good video explaining the work behind the titan that is lichess

  • @FinlayDaG33k
    @FinlayDaG33k 2 місяці тому +6

    Been working as a developer for around 8 years but got so tired of the toxic environment it had become so swapped to something else entirely...
    Seeing someone this down to earth really puts a smile on my face.
    I wish this was the norm...

  • @pcodes
    @pcodes Місяць тому

    I indeed like the UI of lichess. It's minimalist, clean and display the required info. no BS

  • @Nellak2011
    @Nellak2011 2 місяці тому

    So this guy has my exact mindset then. No wonder why he can do so well with so little. Respect.

  • @KurzedMetal
    @KurzedMetal 2 місяці тому +3

    As a developer myself I just want to say: What a chad developer :D

  • @koenlemmen
    @koenlemmen 2 місяці тому +1

    OVH? A man of culture if you ask me.

  • @rodrigoelias1987
    @rodrigoelias1987 2 місяці тому

    He looks like a great man, his mindset and the way the manages lichess is amazing and he is undoubtedly a better software developer than me, but, yet, I doubt that prioritizing tech debt over everything would work so well for all developers.
    He is a single guy working on a single big project, his worst nightmare is having to deal with bugs on all the modules of his project at the same time. The worst nightmare of a single man working for a big company is delivering several consecutive demands delayed, so, obviously, he is much more prone to do things in a more scalable way, even paying in the short-term by deploying new features later than a common programmer on a company demanding features faster.
    The skill he has that truly mesmerizes me, is his ability to analyse what he needs and efficiently apply a tool that he thinks that solves his problems, and most importantly, recognise in retrospect whether it really solves the problem and let it or creates more problems and change it for another. That's the heart of modern software development and the message the writers of the Manifesto for Agile Software Development tried to pass.

  • @Zensi123
    @Zensi123 2 місяці тому

    great walkthrough. learned a lot and excited to learn more by looking at their open source code.

  • @yassinedownpourz
    @yassinedownpourz 2 місяці тому +2

    Amazing video, great job!

  • @gopro2027
    @gopro2027 Місяць тому

    Back when I made videogame mods I was more productive in 1 day that I am in an average maybe 3 months at my current corporate job. It has been mind blowing ever since I got this job (my first 'real' job) at how little work is actually done. I may be young and naive but I've seen both sides of the dev productivity spectrum and i feel like most devs don't even know how productive they could actually be.

  • @krestofelo8757
    @krestofelo8757 2 місяці тому +3

    Very interesting video. I like the dev's posts and ideology, especially about lines of code as a weight added to a plane. This video is a good source of advices for developing projects in a very small team (if not by yourself). The only thing, I watched the video on 2x cuz it was kind of slow. But in general, great video, thanks for making it!

  • @amanfreecs
    @amanfreecs 2 місяці тому +2

    a very elegant architecture scala + Rust so gooooodd.....

  • @user-lj4lo7cx7m
    @user-lj4lo7cx7m 2 місяці тому +2

    Amazing video. Thanks for sharing

  • @theconektd
    @theconektd Місяць тому

    Every person you introduce adds a set of opinions, motivations, and an interface boundary.
    People want to be promoted and in order to be promoted you need to “own” something. The more you break things up for people to own the more complicated each piece must become to justify itself.
    Scale this over a handful of teams and add executives, marketing, and HR and there you go - you’ve got yourself a proper rat’s nest.
    Granted it’s a rat’s nest that feeds and clothes a couple hundred people, but it’s definitely not efficient or glamorous.

  • @D4no00
    @D4no00 2 місяці тому

    Using scala for static typing then deciding to go with mongodb that doesn't enforce any data consistency, comes with licensing issues and doesn't really scale that well, really smart choice. This really shows there was no strong reasoining behind the tech choice and more a choice of tools that are most familiar to the developer, which by itself is not a bad thing but at the same time doesn't give a lot of the value for previous arguments.

  • @anotherstephane
    @anotherstephane 2 місяці тому +1

    This video is perfect to demonstrate that having the vision of a "technology architect" is important in a programming project. That's a message I'm trying to get through in some workplace. In a "normal" work environment, it can be easy to be swarmed in projects, getting pressured for feature-bloat, and only playing technology-catchup when hitting a wall. I have a feeling we need this cultural shift, but l’m having a hard time to articulate that or demonstrate that. Do you know of any other video that illustrate this ? Or is this lichess "tech vision" case a rare exception that can never be replicated in a work environment or in a team environment ? Please give me some links if you know of any other similar case :)

  • @ahbarahad3203
    @ahbarahad3203 2 місяці тому +2

    "I'm not the brightest star"(He is)

  • @naesone2653
    @naesone2653 2 місяці тому

    Love this video got to check out your other ones

  • @saralightbourne
    @saralightbourne 2 місяці тому +1

    huge respect

  • @perfredelius
    @perfredelius 2 місяці тому

    I did a little bit of Scala way back. Now I do a lot of work in Typescript. I struggle to come up with anything that I really miss from Scala that Typescript doesn't give me.
    Oh, right. Pattern matching. That's a killer feature I would like everywhere.

  • @caerulemusic
    @caerulemusic 2 місяці тому +4

    bro vocal fry's in every sentence

  • @boscodomingo
    @boscodomingo 2 місяці тому +4

    9:23 TypeScript does not provide a strong type system at all. It's as fragile as it comes (compile time only, and easily overrideable)

    • @mskiptr
      @mskiptr 2 місяці тому +1

      still better than JS I guess

    • @boscodomingo
      @boscodomingo 2 місяці тому +2

      @@mskiptr Oh for sure, we don't touch JS at my job unless absolutely necessary, but still, nowhere near "strong" when you can do "as unknown as any" and break every typing

  • @juliuszkocinski7478
    @juliuszkocinski7478 2 місяці тому

    So much wisdom from such a simple case

  • @adamschneider868
    @adamschneider868 2 місяці тому +13

    Temple OS Mentioned

  • @ramvasuthevan
    @ramvasuthevan 2 місяці тому +1

    This is a great video!

  • @priapushk996
    @priapushk996 2 місяці тому

    Thank you for putting together this video about a true gigachad.

  • @pward17
    @pward17 2 місяці тому

    When i saw the UI and used the UX of lichess i was hooked and somehow i knew the development team was small and elite and had the right direction

  • @Channelcustomization832
    @Channelcustomization832 2 місяці тому +2

    Amazing video!

  • @simpleman7203
    @simpleman7203 2 місяці тому +3

    I'm not even programmer but this video goes hard. Although I'm not to aware about lingo here. Can say that giving a goog really helped me, maybe some of you may help my curiosity?
    Strongly typed means that it has more strict rules? . So you probably will be notified about a lot more errors in your coding, ''typing'' when you compile, but as the result your end product would be less buggy?
    As oppose to weak typed. when it may be compiled the way you want, but there would be some weird bugs and code might be unreadable?

    • @alexleonard5601
      @alexleonard5601 2 місяці тому +3

      In programming types refer to data types. Simple ones are integers(numbers), booleans( 0 or 1 / false or true), and characters (letters/numbers/symbols).
      Some programming languages have what is called type safety, meaning when programming types need to be explicitly declared. If I want to use a number for math I need to declare an integer and use the operators that integer supports to modify the value. If I declare a character and populate it with a number such as 1, it will not be treated as a number and cannot be modified using math operations.
      There are more loosely typed languages like python that allow users to quickly move data around and reformat it but the downside as you said is introducing potential bugs in the code. If you do not explicitly know your data type you can attempt an operation on it that is impossible in the context of your code which can crash the program if not handled correctly. Without type safety you also enable more unexpected behaviors and introduce more difficultly into sanitizing user input.
      Both are useful but generally type safety holds programmers to a better standard which is important on large long term projects. Hope you find some of this information useful.
      If you are not a programmer but want to learn I recommend python because it is extremely low barrier to entry in terms of learning syntax and being applicable to many problem sets with a large community to support your learning/development.

    • @simpleman7203
      @simpleman7203 2 місяці тому +1

      @@alexleonard5601 man, thanks for taking time explaining this stuff.
      I tip toe around programming for a whole decade probably, it isn't my thing, Can't imaging myself this locked in in front of code, especially now requirements are high and competition is cut throat. But maybe I will learn some python just for my own sake, it wouldn't hurt I guess :)

    • @alexleonard5601
      @alexleonard5601 2 місяці тому

      @@simpleman7203 programming is a black box of terminology and best practices that seems daunting from the outside looking in but it’s really formulaic once you’ve done it enough. I definitely recommend python for making quick fun programs. These days I also highly recommend you use AI tools like chatgpt or copilot to make sense of what you don’t understand.
      A good exercise would be to ask chat gpt to make a simple console game, and then take it piece by piece and ask how each component is made and why. You can also do this process with open source projects on the internet to get a better understanding for things like automation that can help you in life. Good luck on your journey and just have fun with it! As with anything new don’t expect to be good or know it all, just show up with a willingness to learn and a curious mind you will go far with it.

    • @willmungas8964
      @willmungas8964 2 місяці тому

      @@simpleman7203knowing at least a scripting language can be super useful in terms of productivity - you can automate a lot of simple but tedious tasks, make calculators and other small programs for yourself! Python is great for beginners - if you want to go deeper there are much more in-depth languages (I personally love C, but part of that is a lot of experience with both the language and terminals)

  • @Qrzychu92
    @Qrzychu92 2 місяці тому

    I fully expected it to be Elixir/Erland, but Scala + Akka is almost the same :) I also expected something like Elm for frontend - obvious choice for functional folks. great video, great codebase, bravo all around!

  • @videosyoutube718
    @videosyoutube718 2 місяці тому +6

    16:30 one of the most wise sentences I have heard about coding lines.

  • @tobi-b
    @tobi-b 2 місяці тому

    small correction at 8:20
    mongodb is under the apache 2.0 license which is also opensource

  • @christopherflynn350
    @christopherflynn350 Місяць тому

    This is really inspiring

  • @NostraDavid2
    @NostraDavid2 2 місяці тому +5

    I like Haskell, but he made the right choice. Haskell's tooling is such a pain.

    • @samuraijosh1595
      @samuraijosh1595 2 місяці тому +1

      Yes tooling and the effects through Monads are a pain to hanlde for real world projects

  • @ArkaniproMA
    @ArkaniproMA 2 місяці тому

    this is awesome, respect goes out to lichess

  • @makerKID5
    @makerKID5 2 місяці тому

    Quality video mate!

  • @amitpatange311
    @amitpatange311 2 місяці тому +9

    new programmer role model unlocked

  • @gabrielbarrantes6946
    @gabrielbarrantes6946 2 місяці тому

    Quite interesting, I realized this a long time ago, most devs do not care about their jobs and that makes them incredibly inefficient, once the whole company is like that is something really hard to scape... But the thing is that almost always you get to work on something you just don't care.

  • @GasperSenk
    @GasperSenk 2 місяці тому

    Jane Street has a video on how to do safe failover in a Central Limit Order Book which is kind of a monolith. Or at least how it worked years ago.
    They used UDP for networking.

  • @guittoplex
    @guittoplex 2 місяці тому +3

    Nobody knows why you would need so many developers for such a site. There is much more complex software created by vastly smaller teams

  • @botbeamer
    @botbeamer 2 місяці тому +1

    The man should get more money honestly, that's really not enough money for what he accomplished and the number of users

  • @CherifRahal
    @CherifRahal 2 місяці тому

    Amazing video, so inspiring

  • @prashants5071
    @prashants5071 2 місяці тому

    where can i find the architecture document that is shown at @14:10