from Hacker News

Ask HN: Resources/discussions about program architecture

by jeddy3 on 12/28/22, 7:53 PM with 8 comments

This might have been asked many times before, in that case apologies, I'm possibly searching wrong.

First of: I am a software developer since many years, in a small company, without very complex applications, sadly no mentors or alike (more developers but we are all in the same situation).

So, every time I'm trying to develop a non-simple application I'm finding I have no idea on how to make a thoughtful (or even working) architecture for it. I have several hobby projects stalled because I just don't manage to progress without making an unworkable mess.

I realize the question is somewhat open-ended, but what I am looking for might be something like walk-throughs/discussions in REAL semi-complex applications. Something that approches actually designing an application together with a mentor. Everything goes: books, talks, youtube-channels, podcasts, ...

For example, in a complex text-editor:

  - how to read and pass input
  - store and update buffers
  - where should syntax highlighting happen and where should it be rendered, how is colors passed to renderer.   
  - How do one design a plugin architecture
  - How would one design for multiple GUIs
I know how to do the small stuff like actually reading input.

I am not looking for the usual design-patterns, refactoring pieces, language tutorials, etc.

What I have tried:

  - Actually coding, but as I said, I just can't progress on my own.
  - Kilo/Hecto editor tutorials, and other projects, I'm unable continue beyond finishing them.
  - Reading code, I can't even reason about my own code, let alone others. 
  - Books, the usual recommended ones, refactoring, design patterns, pragmatic programmer, Domain driven design (can't finish that one), etc...
Books that have helped me: Modern software engineering, A philosophy of software design.

The latter book talks about mentoring lead discussion groups about application coding, that is something I would probably be very much helped by.

Sorry for the long rant, hopefully one of you fine people will have some input.