Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Meta

Welcome to Software Development on Codidact!

Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.

Is software system design on topic here?

+6
−0

Is software system design on topic for the software development site?

For what I mean by system design, consider the "system design interview" commonly held these days when recruiting software engineers. I assume a software site would primarily deal with software systems, rather than things like airplane controls, chemical oscillators and manufacturing assembly lines.

For some examples:

  • One might ask in the main QA section: "I want to have real time ML inference, but my database is OLAP and the performance is crap. Is there a way to fix it, or do I have to switch to an OLTP data store?"
  • One might ask in the code review section: "I want to make a multiplayer game. Here are the detailed requirements. Here is my design for how the different parts will come together. Are there any flaws or shortcomings in this design?"

Informally, people think of sites like this as "coding questions". But many interesting questions and problems in software development are really questions about system design. Once a suitable software system is designed, implementation becomes obvious.

History
Why does this post require moderator attention?
You might want to add some details to your flag.
Why should this post be closed?

1 comment thread

Related meta question about architecture (1 comment)

1 answer

+3
−0

Software design in itself has always been on-topic, as per https://software.codidact.com/help/on-topic.

As for system design for a given purpose, I think it is fine within reason. Contrary to popular belief, a certain degree of domain expertise or at least insight is always necessary when writing computer programs. It isn't really possible to only work with abstract programming in a vacuum, without a clue about the intended use and the end product. You could do that, but you will be designing bad, dysfunctional products.


I think the key is:

The focus of the question has to be about software design/programming, not about the domain-specific parts.

So a good question might go:

"I'm designing an automatic pony-feeder system. Here is my OO design and the list of use-cases <details>. Does the design make sense and what languages and platforms may be suitable for the problem? I'm thinking that MyLittlePonySQL might be a suitable DBMS because <reasons>, any thoughts about that?"

And a bad question:

"I'm designing an automatic pony-feeder system. I'm looking for feedback of what kinds of food it needs to handle and how much ponies eat per day, depending on age. If anyone knows of a pony feeding project on Github, I'd like to hear about that too."

That's nothing about programming, all about the domain expertise and shouldn't be asked here, but on some horse site. Furthermore, asking where to find off-site resources is generally unsuitable for Q&A sites.


However, the examples you give (as well as my pony one) are mostly regarding embedded systems design, so they don't belong here for that reason, since the consensus so far is that we should try to keep such questions on electrical.codidact.com. Big picture, domain-specific design questions have been mostly well-received there in the past (example, example).

History
Why does this post require moderator attention?
You might want to add some details to your flag.

0 comment threads

Sign up to answer this question »