1

Am I missing something? I'm a software developer and I like to sove design problems but when I search for something like 'effective problem solving by programmer or software engineer' it always comes down to data structures etc.
I am more interested in design part of it? How can I search for the system designers who are not web designers etc.
What to search for when I want to see how someone has solve interesting system design problem?

Comments
  • 0
    I'd recommend reading planets regarding a specific eco system...

    Eg

    https://planet.freedesktop.org
    https://planet.mysql.com/
    https://planet.postgresql.org/
    https://planet.mozilla.org/
    https://www.planet-php.org/

    I could go on, but I don't know what you are looking for specifically and there are hundreds.

    You'll find amongst the common entries often some pearls, things you read and it just makes click.

    If you could get more specific I might have more for you.
  • 0
    @IntrusionCM Thanks for sharing. But I'm looking for design problems, for example, building a component for the system, blogs like High Scalability etc. I want to customize my Twitter feed with the people who solve those kind of problems.
  • 2
    Try searching in the tech blogs for companies you know had to solve these problems.
    Most of the HA solutions I saw, makes zero sense for small budget scenarios. Who the fuck needs multizone load balancers, with auto scale solutions, to handle 100 REST calls a day? setup a basic server, maybe two, and make sure you have a working backup solution.

    Step one is to understand the current computing/network load. Step two, is providing a solution to the actual problem, with a minimal budget.

    Very very few, actually need to solve infrastrcture problem at the 1m call/day, and only 0.00001% need to solve the 1m call/minute problems, or the 9/6 percentile uptime problem. go ask the ppl at facebook about that.
  • 0
    Recommending this:
    system analysis and design 6th edition
  • 0
    I came across a place called stacksio or stackshare or something like that. It had discussions on stacks used by different companies. I recall reading about github (or was it SO) using something like redis to improve their site performance.
    There was another one where an architect shared his analysis on vim for describing stable/long-term software design.

    Sorry, I realize that this comment is not helpful but I'm kinda hoping that someone who remembers more details will share the correct sources.
  • 1
    I recommend head first design patterns as a first step
  • 0
    @true-dev001

    Your answer is kinda... Lacking?

    High scalability... Like... In which sense?

    Network? Database? Process architecture? Programming? IPC? MQS?

    System design is also a very big ocean.

    A lot of it stems down to the ecosystem you want to use (or are used to).

    Can you maybe elaborate what you mean? Curiousity is one of my weaknesses. XD
  • 0
    @IntrusionCM
    I will try to answer the question but I'm not sure if I can properly put what I am thinking.
    So, by scalable system I mean systems which have high number of users, as a result system should be able to handle the load and the storage. So we need those components designed for scalability too.

    Curiosity is good, makes me clarify my thoughts too :)
  • 1
    @true-dev001 Yes... But your question lacks depth.

    Scalability is by far one of the most bullshit bingo words you can have.

    If you don't know what you design, what your goals are, what tech stack you have, what experience the devs have etc. you can only make wrong choices. :)

    ... Which is the reason I'm asking.

    https://github.com/donnemartin/...

    You can look here.

    If you diligently worked through this, I guess you get how vast the field of system design is.

    For me the best metaphor is trying to solve a puzzle - developer, stake holders, hardware, requirements, budgets, software, networking, ... are the puzzle stones. The puzzle is always evolving, it's never finished.

    :) Thus, to come back to your question, it's less about learning to design, more about learning the several interdisciplinary fields and getting a vast knowledge. Design is then putting together knowledge and experience.

    Which brings me back to the planet blogs... Easiest way to stay up to date and learn always something new.
  • 0
    @IntrusionCM yes, I think your puzzle metaphor is something that I have been thinking a lot nowadays. For me these kind of puzzles are present everywhere, in and out of the work. For now, I have been learning to have the right mindset when you see a puzzle. Like when we see a hard puzzle or an unknown puzzle, our mind start to think negatively. I am dealing with those negative emotions and also trying to understand if I can have a strategic approach for not all but for most puzzles. For example, I'm trying to understand how to deal with ambiguity or how to make things simple (not easy).

    Got a little off the track here, but I want to solve more work related puzzles so I can get good at developing right strategy.
  • 1
    @true-dev001

    Simple solution: Grab a college block and start doodling.

    Most people try to find a "systematic" approach, I just let my brain wander off.

    My college block mostly looks like a 4th year old was put on chocolate espresso beans, but it's the easiest way to gather your thoughts without enforcing something.

    Plus it's easier to decide later what solution is really best.

    I'll usually write anything down that comes in my mind, unfiltered.
Add Comment