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.

Comments on How can we grow this community?

Parent

How can we grow this community?

+40
−0

Codidact's communities have a lot of great content that is helping people on the Internet. Our communities are small, though, and sustainable communities depend on having lots of active, engaged participants. The folks already here are doing good work; our challenge is to find more people like you so we can help this community grow.

This calls for a two-pronged approach: reaching more people who would be interested if only they knew about us, and making sure that visitors get a good first impression. I'm here to ask for your help with both.

Reaching more people

The pool of people interested in software development is huge. (I don't think I need to belabor that point.) My question to you is: where do we find the right people for this community? How do we make ourselves attractive to them, among all the other sites vying for their attention? You're the experts on this topic, not us. Where would it be most fruitful to promote Codidact? How should we appeal to them to draw them in?

Please don't give general answers like "CS departments" or "GitHub". We need your expert input to decide where, specifically, we should be looking. We are now able to pay for some advertising -- where should we direct it, and what message would best reach that audience? Can you help us sell your community?

Finally, some types of promotion are best done peer to peer. You are the experts in your topic; messages from you on subreddits or professional forums or the like will be much more credible than messages from Codidact staff. For these types of settings, we need your help to get the word out. If you know of a suitable place and can volunteer to spread the word there, please leave an answer about it so we all know about it (and know not to also post there).

Making a good first impression

Pretend for a moment that you don't know anything about Codidact. Visit this community in incognito mode. What's your reaction? If it's negative, what can we do about it? Some known deterrents from across the network:

  • Latest activity is not recent. This tells people the community isn't active. Anecdotally, we have lots of people ready to answer good questions, and on some communities, not enough good questions for them to answer. Can you help with that?

  • Latest questions are unanswered. This tells people it might not be worth asking here. Why are our unanswered questions unanswered? Are they poor questions in some regard? Unclear, too basic, too esoteric, just not interesting? Can they be fixed? Should they be hidden?[1]

  • Latest questions have poor scores. This tells people that either there's lots of low-quality material here or the voters are overly picky. If it's a quality problem, same questions as the previous bullet. If good content is getting downvoted, or not getting upvoted, can you help us understand why?

These are issues we've seen or heard about from across the network, but each community is different. What do you see here? What might be turning people away, and what could we do about it?

Are there things about the platform itself, as opposed to content, that discourage people we're trying to attract? If there's something we can customize to better serve this community, please let us know. If there are other changes in presentation or behavior that you think would encourage visitors to stick around, what are they?

Conversely, what is this community doing well? What draws newcomers in? I don't just mean the reverse of those bullets. What do we need to keep doing, and what might be worth highlighting when promoting this community?


  1. Should the question list not show some questions to anonymous visitors? What should the criteria be? ↩︎

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

Increase exposure One way of increasing our exposure is to use Codidact as a source when answering on other forums. A …

2y ago

+16
−0

By having decent source code formatting that isn't completely inferior to other sites like Stack Overflow. We might want …

2y ago

+12
−0

In light of another fiesta on a "competitor site", I poked my head in here again. Here's my twocents. When a ship sta …

11mo ago

+10
−0

Search engine optimization? I thought this goes without saying, but apparently we aren't doing too well there for so …

8mo ago

+10
−0

As a (for now at least) casual user, I can report that a bad first impression is that there are way too many "500 server …

2y ago

+15
−1

Just my two cents: 1. I found this community because of someone's username on Stack Overflow. That's probably a good …

2y ago

+7
−0

I just submitted a proposal to DuckDuckGo here for a new "bang" for their search syntax. If approved: `!coddsw search …

10mo ago

+5
−0

Never Too Late Due to, shall we say, recent AI-related hallucinations, pretty much everything that was possible PR-wi …

9mo ago

+5
−1

After a few years of casually using stack-exchange sites and wandering around on coda-dict, I feel there are mainly thre …

9mo ago

+2
−0

I realize this might not be feasible, because course all of that hinges on the possibility to get some acceptable data o …

11mo ago

+7
−3

Not having a single sign on option greatly increased the friction in adopting the site for me. This was further compo …

2y ago

+3
−2

Emphasize and expand content that competitors fail at or deliberately exclude. This section of What type of questions …

2mo ago

+3
−2

A note on first impressions: I really like that popup windows like when you click "react" are closed by clicking "re …

1y ago

+9
−7

This may be a minor thing to some but it's a huge annoyance / barrier to me - we need to change our scoring system to be …

2y ago

+0
−0

S.E.O. - Stack Overflow has fantastic SEO, and this is a self-feeding cycle. Currently codidact isn't adding json-ld o …

5mo ago

+0
−4

Give software.codidact.com its own domain Stack Overflow is by far the largest community on Stack Exchange and likely …

9mo ago

3 comment threads

Duplicate? (2 comments)
Super new casual-to-be user (2 comments)
I found a great Stack Overflow Clone (build before few days ago) in which he/she implemented nearly e... (6 comments)
Post
+3
−2

Emphasize and expand content that competitors fail at or deliberately exclude.

This section of What type of questions can I ask here? is already a big deal, but it could be bigger:

Best practices, as long as clear "best" criteria are provided. Examples: fastest execution, least memory use, widest tool support for a target, IDE for a certain language and operating system

Software development is an art, not a science. Attempting to reduce it to black-and-white technical facts is futile and actively harms understanding. Stack Overflow's aggressive exclusion of "opinion-based" questions severely hinders the transmission of knowledge. A medium for transmitting the deep insights of long experience is something the world desperately needs, because formal education has always failed at it, and long-term professional relationships that create a business case for employers investing in their employees are a thing of the past.

Novices often frame a question as "What is better, X or Y?" This is a teachable moment. We can factually discuss the advantages and disadvantages of different solutions, the history of their popularity, and the real-world reasons you would choose one over the other. On SO, such a question would be closed immediately.

Edit: SO is now promoting their new Discussions site, a place for opinion-based and otherwise fuzzy questions, which is what this site should have been. It already has more traffic than this site. This makes me sad, because while I want such a site to exist, I don't want those jerks controlling it.

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

3 comment threads

The Q/A format is not fit for discussion (6 comments)
Art (6 comments)
Agreed (2 comments)
Art
Lundin‭ wrote 7 months ago · edited 7 months ago

"Software development is an art, not a science" Yeah we all went through that naive phase at some point. It is not art, it is a craft and it is engineering. You can apply population studies on source code and then conclude what practices that lead to bugs. This was already done in the 1990s by Les Hatton among others, who among other things wanted to bust the old myth that "software is art" (it was already old in the 1990s). His conclusions as documented in the book Safer C, which in turn inspired the MISRA C guide lines, were it was demonstrated that you can improve software quality considerably by sticking to a safe subset of the programming language. Despite criticism against it (by Les Hatton himself even), MISRA C was one of the more revolutionary things in safety-related software during the 2000s. By using a safe subset, coding standards and static analysis, one could drastically reduce the amount of bugs in software. All science and engineering, no art in sight.

Kevin Krumwiede‭ wrote 7 months ago

I'm not talking about "cleverness" in the sense recognized as a Bad Thing by experienced developers. Quite the opposite. I'm talking about things like recognizing that "cleverness" is bad. This kind of wisdom only comes from experience. Unless something has changed since I was in school, they don't even try to teach it.

Consider it a "naive phase" if you want. The bottom line is that I consistently produce results where "educated" developers don't. And I've been doing it for longer than the average developer has been in the biz.

Lundin‭ wrote 7 months ago · edited 7 months ago

The point is that certain ways of writing programs are bad and it can be proven scientifically, beyond opinions and personal believes. You take a misbehaving program and track down the root cause. If you do that a million times on a million programs, bad practices emerge as hard evidence. For example writing if(x) do_stuff(); has proven to be dangerous and bad practice - the safe and correct way to write code is if(x) { do_stuff(); }. I used to subscribe to the former style but has abandoned it, because this is not opinions, this is empirical hard evidence. If you use the former style you will eventually write extra bugs because of it. There's no "artistic freedom" or "room to express one self" in engineering. There must be a reason why you write code in a certain way - an engineer requires this, while an "artist" needs to rationale to justify their decisions. This is why construction engineers are allowed build bridges but artists are not.

Lundin‭ wrote 7 months ago

In fact the whole problem with SO's "opinion-based" close reasons is that they think that good program design is a matter of personal, subjective opinions. It is not that, it is not art. There are correct ways proven in use, such as object-orientation which has proven to be the best known way to design large and complex programs while keeping them maintainable and letting them scale further. And that's exactly why we need to make such questions on-topic: so that those with extensive experience of program design can share their experience of using wildly recognized good practices and design patterns.

Kevin Krumwiede‭ wrote 6 months ago

I don't believe it has been or can be "proven scientifically." The studies reveal correlations. Understanding why certain things correlate with bugs is more important than mindlessly avoiding those things. For example, sometimes testing floats for equality is exactly the right thing to do.Thinking programs must be written a certain way leads to over-engineering. It's analogous to how novice developers explicitly implement design patterns. Design patterns are descriptive, not prescriptive. Their presence is often subtle. One of the code smells I look for when I join a project is classes named after design patterns.

I think we agree more than disagree. And FWIW, I share your opinion of OOP. The current generation of developers hates OOP because they don't understand it, because their professors never understood it. Even when OOP was the buzzword du jour, only a small minority ever really grokked it.

Lundin‭ wrote 6 months ago · edited 6 months ago

Kevin Krumwiede‭ If you have a "missing braces" bug, you can pretty much immediately tell if it was intentional, most often you got fooled by the indention. At the same time it is very hard to come up with a rationale for why you would skip braces. ("I don't like typing" ought to be the worst rationale ever for a programmer - programming is all about typing.) Some subjective arguments about keeping the code more compact are pretty light versus the sheer amount of severe bugs that the style is known to produce. Similarly, "hacking away" without an explicit coding style document is dangerous as well and simply not professional. Unless you are maintaining some existing project, where it will be wise to follow the conventions already used in the code base, even though they are well-known bad practices (cough hidingpointersbehindtypedef cough winapi cough). Everyone doing the same thing consistently = engineering. Everyone coding away like headless chickens = art.