Why this sub sucked on Reddit and how to make it not suck here

209    07 Jul 2015 13:54 by u/dikkman_more

They had this rule that all text posts, questions go into /r/learnprogramming. However /r/learnprogramming is clearly a beginner level. Often people want to discuss something more advanced like what is the best web framework to do X not learning programming as such. Solution: allow every question and text post here just not beginner questions.

80 comments

136

I'm totally opposite. Make beginners feel welcomed and allow beginner questions.

Too often as a beginner you find a new subject you enjoy and so you go online to find communities with similar interests just to be hit in the face by a community that resents you, harshly criticises you and doesn't take into account that you may be a beginner and it totally de-motivates your interest in the subject. I don't want /v/programming to have a hand in making beginners abandoning the subject, there isn't enough people who can program in the world as it is. Sure make an FAQ for the routinely obvious and nooby questions, but some beginner questions I believe are valid.

5

If we went by this route we could make /v/advancedprogramming for discussion amongst pros.

12

Wouldn't there be two main issues with getting people to post there, though?

  1. First of all, you have to be ballsy enough to post in an advanced programming sub. There's always the risk of being called a n00b and sent back here.

  2. Wouldn't it be kind of hard to get advanced programming questions answered? What if one has an advanced question about the Go compiler, but most people hanging there are Java seniors? Questions would definitely be more visible here...

Plus, for the time being this sub has < 600 subscribers. We could definitely wait a bit until we worry about people flooding it with questions about how for and while loops work.

1

How does a for while each loop work? <snark>

0

Well, you know, code,x goes to y, processors, transistors, stuffs...

1

So what you're basically saying is Aliens

0

I don't believe in aliens. It's magic!

2

I think simply tagging posts could work - maybe have a tag for basic questions, and tags for language specific questions as well?

Wouldn't it be kind of hard to get advanced programming questions answered? What if one has an advanced question about the Go compiler, but most people hanging there are Java seniors? Questions would definitely be more visible here...

Most people would belong in both subs as well - someone could easily be a senior Java dev with a beginner's knowledge of Go.

That said, perhaps the programming sub should focus on questions which are general, and leave language-specific questions to their corresponding subs where possible? So a question about the differences between two languages might belong here, but a question about the best way to do X in Y language would belong in the Y sub (if it existed).

0

I think the poster's skill level could be verified in some way. Perhaps by github trust level or their ranking on codewars? Verified submissions are a common thing elsewhere.

16

See, I'm not sure about that. The problem as I see it is that by allowing beginner questions, you'll turn /v/programming in to /v/programminghelp. And of course, I have no problem with there being a place for beginners to get help - but I feel like /v/programming should be more about the general industry/domain of programming. If you allow beginner questions I guarantee that's all you'll get too - because there's 10 beginners for every 1 not-beginner (same in any hobby/skill).

Then again, you could look at it the other way around and do as /u/swagath said already and have a /v/advancedprogramming instead.

8

I agree with you, if advanced programmers don't want to answer questions and have newbie discussions, let them discuss and downvoat in /v/advancedprogramming and let me read both of these pages in peace.

4

I think the best way to do this would be to keep /v/programming as a catch all, but keep the recurring content segretated. What I've seen some subreddits do is to have automated threads for recurring themes. For example, you could have a weekly "Programming Help" thread where users submit what they need help with in the comments, and other users can help them out.

This way the content is segreated, but still part of the main sub, as /v/programming is expected to have the largest userbase of programmers, so it makes sense to keep the help where all the people good at programming are.

Another thing is, consider who is going to subscribe to /v/programminghelp. The majority of it is going to be people who need help. Sure there will be people who can help, but they will be fewer as /v/programminghelp is a sub with limited content, and that content is not interesting to normal good programmers, which once again falls back to the idea of /v/programming having a much larger programmer userbase.

0

I hope the right people see your reply because this is the best idea imo- best of both worlds! Only thing is it makes it harder for question-askers to search previous questions and find out if what they're asking has already been answered... But I guess with stackoverflow and google out there already, most of the common questions should (in theory) not be being asked anyway.

32

I think part of the problem is people actually assessing where their skill level is relative to arbitrary terms like 'beginner,' 'intermediate,' and 'advanced,' and that's not something exclusive to programming - it's rampant in most if not all fields. On one hand, you have the Dunning-Kruger effect, and on the other, you have the Impostor syndrome. Creating different subverses to categorize people of different skill levels adds undue stress on newcomers simply because many are uncomfortable in or unable to properly assess themselves.

I'd prefer to see /v/programming as a catch-all subverse, since it's likely the one that will have the highest visibility out of the programming-related subverses, but we need a comprehensive FAQ/wiki that answers common questions or links to other posts that do and provide a comprehensive list of resources, tools, and related subverses for people to explore at their leisure.

11

I am not a programmer by trade but have been playing with programming since VB5. I have no idea where I sit as far as skill level. Can I write an OS? No. Can I create method extensions? Yes? Do I forget how to collect the input from an input box? Yes? Can I visually map a regex progress? Yes.

Where is the line?

2

I am with you 100%. Where is this line? Sometimes I need to do a quick google just to remember how to write a lambda for programming language X. I don't think I could get a job full time programming, but I'm consistently head and shoulders above the rest of the workforce at automating my workflows.

6

I really like this. As a college freshman I knew I was a begginer. As a sophomore I thought I was intermediate. As a senior I'm pretty sure I'm a begginer, because just about everything on github might as well be magic.

All I'm willing to settle on is that I know more than some but less than most

1

Prepare to go through that cycle until you retire. Only thing you get better at is learning new things. :P

12

Sometimes the most beginner looking questions lead to a pretty deep interesting conversation. I say all types of questions are welcome.

4

I agree completely. Half of the problems I deal with with look simple on the surface.

2

What programming language should I learn first?

0

Python is the language that combines a soft learning curve and that it will still be useful after years into programming.

3

I'm totally opposite. Make beginners feel welcomed and allow beginner questions.

I agree, that's the intention of this new website anyway, right? Why not be as welcoming as possible and just turn over a new leaf?

1

I really appreciate you saying beginners are welcome, I'm 19 and I know nothing about programming but I have all these ideas and ways of how I want certain applications to work but lack the knowledge and skills to bring those to fruition. I never got into programming on reddit because I was ridiculed over there for asking "dumb" questions and just gave up.

1

I completely agree. Maybe there should be tags like Beginner Question, Intermediate Question, Expert Questions, etc. If you only hang around beginners you'll always stay a beginner. My dad always told me, if you want to get better, hang around people that are better at something than you.

1

I am with you.

One thing that frustrated me on reddit was /r/android, for example. If you had a question, they'd all backlast and tell you to go to /r/androidquestions. Well that's great. The problem is that it splits the user base. There's like nobody in /r/androidquestions so the exposure sucks.

I think that if you make things too fragmented you run into problems too.

0

I like the ideas of FAQs. Maybe even set up a /v/programmingfaqs or some such- someone asks a question enough, folks should be able to aggregate together a nice set of resources for the thing, roll a new thread, start pointing people there. Also, gives people a place to talk about it among other people who were in the same boat and looking for answers.

0

I'd upvoat you... but well, you see...

17

I can get behind this. In the end it's up to the users to decide what kind of content they find interesting by upvoating.

9

I think that this is key. Let the community decide what it wants.

17

I don't see a benefit in discussions on advanced programming topics here. Pretty much everyone goes to stack overflow or the multitude of sub-sites with highly active communities and a lot of knowledge already there.

The question I'd ask is: "what can we do to make this sub unique, and not just a clone of something else that doesn't provide much value?". It's a tough one.

0

And the question you'd give would be?

1

It does. Stackoverflow does not allow discussion that is mainly opinion-based or lack of research.

But many of programming question is opinion-based (architecture, design, language comparison). Some even goes into holy war, ex: surrogate vs natural keys, emacs vs vim, tab vs spaces for indentation.

And for the lack of research. Programming is all about terms, what if we want to do some research about something but don't know what we want to search?

Those discussion can leads here.

15

I agree. To speak to this issue, I believe too many rules killed a lot of good subreddits in general. Subverses should almost be treated as hashtags rather than subforums. People try to break down subforums too much and end up with dead subforums. There should only be two rules: keep it on topic and don't be a dick(optional depending on the subverse).

6

Subverses should almost be treated as hashtags rather than subforums.

That's an excellent way of putting it

6

Let the VOATS decide what gets featured and hidden, that's what they are for, that's the whole point. Moderation should be minimal at best, in an ideal world.

0

in an ideal world

Unfortunately, popularity is the downfall of most fast growing communities. The niche community is masked by the generic majority.

6

I'm a devops guy so my programming skills aren't beginner level but it's not advanced either. The programming sub at that other place, I felt wasn't very welcoming to people like me who wanted to ask intermediate level questions, and learnprogramming usually doesn't give me very good answers due to being targeted towards beginners. I also got a lot of vibe from the comments in there that a lot of people are elitists and very close minded towards doing things in different / new ways and looking at new programming languages and frameworks.

4

I wasn't even aware that that was a rule on that other site. I can see how detrimental that would be for discussion. Let's not have that same error happen here.

4

Honestly, it'd be better to have a network of development subverses. I don't want to talk about specific web development techniques in a general computing forum; there should be /v/webdev or something.

3

One of the main issues we're going to run into as a subverse is that people will come here to ask questions that can be answered with a simple Google search. I'd say I'm fine with simplifying things and welcoming beginners to the subverse but we need to establish that we're not here to answer simple questions or do somebody's homework for them. Encourage beginners to follow lesson plans and ask intelligent questions about how things are designed. Maybe we even have a section in the sidebar that contains resources with defined guidelines for programming languages and where you can learn them.

3

I've avoided /r/programming for years because it can often be needlessly hostile, especially when presented with the controversial or unconventional. "Why would anyone want to do this?" or "You know you can do XYZ instead, right?" They'll pick at the slightest inaccuracy in a post and dismiss the whole thing. Instead I've stuck to smaller communities of the same topic, like /r/coding or the language-specific subreddits, and now /v/programming.

Personally I'd prefer a ban on obvious homework questions. Some subreddits get drowned in that noise (example: /r/matlab) and I end up unsubscribing to avoid it. But maybe that's not the right choice for a catch-all name like /v/programming.

2

I agree, this subverse should be as open as possible. Maybe filter/assign tags to help sort between beginner/advanced/discussion?

2

Can we have the MODS sticky this? It seems a very useful idea to perpetuate.

2

Contribute more. Also we should have event like coding project which start simple then get more complex. Then every two months. We restart the whole thing with a new project

1

I feel like maybe we'd need to split text posts off into the equivalent of /r/programmerchat eventually, but for now I definitely agree with you, especially since we get far less traffic here.

1

I do agree but this may also lead to the same problems that Stackoverflow has, where moderators have to constantly be on the lookout for "HELP MEH! PM ME UR SOURCE CODES!" type posts.

I also don't have so much of a problem in keeping the old format, but it would be nice to have something that helps this subverse stand out more compared to the old subreddit.

1

Can we define "beginner questions"?

Are you saying questions like "what's an int?"

How would you rank this question: http://stackoverflow.com/questions/4627330/difference-between-fprintf-printf-and-sprintf

Further, is it acceptable to ask for recommended reading? Wouldn't this group be ideal, due to our experience, for knowing what's practical and what sucks? "No, that book sucks -- it teaches you bad habits."

What separates us from stackoverflow? It seems, at least to me, the main thing is we link to blog articles and such (keeping current, finding new stuff). So should we redirect programming questions to a site dedicated to programming questions and instead use this as a place for staying current?

I'm thinking out loud here.. not pushing for anything.

1

I think we should also limit personal blog posts.

I remember that fuckwit that posted the "4 problems any competent programmer should be able to solve" from his own blogpost and provided the wrong solution.

Now /r/programming is literally a bunch of arrogant assholes posting their own blogs. See for yourself

1

RULES RULES MORE RULES -Reddit

Have an upvote OP...oh wait, sorry, I'm all out :\

1

Wait, I just scrolled through a couple of pages of /v/programming and I'd say it already sucks. Posts titled "need some advice," "colors," "how do I pick the best color" will only drive quality posts away.

1

This can be improved with subvoat synonym mechanism. Tagging is better, but require more effort and also require synonym, so subverse synonym should at least give some improvement.

The poster can tag the question as v/prog_design, v/prog_help, v/prog_architecture, v/prog_syntax, v/prog_language, v/prog_feature and all of them can be seen from v/programming. Meanwhile user can also filter into synonym.

That way, you can filter for whatever discussion you like without negating the rest invisible to everyone.

0

I definitely agree on this!!!

0

I would concur on most points. You want to 'mix' the more experienced people with the noobs and honestly we're all not experts in everything. I might be great at mySQL/MSSQL and absolute crap at Oracle (totally true). Anyway, I think that we could (might?) have a programmer lite space where people can feel that they can get their feet wet with noob questions or even better a noob question day. Beginner Tuesdays where any question, no matter how lowly, can feel more free to be asked. I think the more likely 'sinking' of it is when threads devolve into X is better than Y.

0

I agree, I think we need to allow for beginner, intermediate, and advanced questions.

0

Keep both of those types of questions together is a great idea. A combined community would probably lead to a better experience! I BASE THIS OFF OF NOTHING!

0

I agree. How bout just in general we relax and not have so many rules overall. we want freedom of speech but then impose those little totalitarian pockets everywhere, doesn't feel very free.

0

I also think we should allow any kind of programming-related discussion here. The community will decide what they do and do not like. If the amount of questions about programming becomes so large that they overwhelm other content, then is the time to decide if we need a separate subverse.

0

I think unfortunately it was the inevitable effect of a sub growing too big. Once that happens than the topics of post start to widen to the point where it becomes harder to maintain, especially when there will inevitably be multiple posts of the same exact question, which understandably can frustrate the current subscribers. For example, you reach a point where you start getting the same "What is the best programming language out there?" every couple days and it can get slightly annoying.

I'm not saying I disagree with you, in fact, I'm a beginner programmer myself. I just wanted to put my two cents in as to possibly why Reddit structured the subs the way it is.

0

I think making it open to all would be best. Just the other day I had a general question about repository patterns and I didn't post it here because I was afraid of being off topic, the question I thought was too advanced for /v/learningprogramming, and too much of a general question for StackOverflow.

0

I'm pretty sure the real reason it sucked is because there were a lot of things posted that weren't even related to programming.

0

Personally, I think you have to be small in order to have a group as general as "programming". Communities should fragment to keep them sufficiently small and focused.

0

I think you're going to find a split in community any way you approach it. Personally, I don't want to look at a bunch of newbie questions the majority of the time, and I think the floodgates will open if you let them. I'm just one man, with one opinion.

0

Yeah i agree! I never went on r/learnprogramming or r/programming for this reason. Maybe there should be some kind of "flair" where the person states his level of competency. Then people viewing this subverse that dont care for beginner stuff can just filter it out.

0

I like having something like /v/learnprogramming as a resource for the absolute beginner - a place for those often repeated questions of "Where do I start?", "What is the best programming language?", "When should I use a for loop?". As someone else mentioned, /v/programming will be the most visible programming resource, and I don't think we should ostracise people for asking "silly" questions (is there even such a thing?), but anything that steps outside of language fundamentals should be fine here, regardless of how simple or complex the problem is.

0

Lets keep everything in the mainline and fork it down the road.

0

I feel that the labels should go away. "Beginner", intermediate, etc..

I also feel that we shouldn't be strict on how questions are asked. As long as they're relevant to programming and they have a good intent, then the post should be considered valid discussion.. I mean, programming is kind of a generalized "programming" area so this really could include anything. And if people do come in here with questions, being nice and pointing them to learnprogramming(without being mean) will also win more members here. Friendly community is a happy community.

The thing I hated about Reddit was that some of these communities are too elitist for their own good. I had to leave /r/linux because people kept posting threads about distro-related topics or asking questions, and members of that community kept lynching the OPs who would do this.

0

I am a software developer, half of the posts on that sub was unattainable to me.

0

I'm don't really understand the question and I have never had a job programming but I do know that it spits at mn using sc with ef o wv h db p and so on. The numbers use 38 so if I can help someone new or someone with experience who's to say that other than it programs or not other than a computer. I personally think we need more programmers or more programmers thinking together and that do be so hard or quick to judge who's perfect or not.

0

I really don't know what I'm saying but is there a way to side swipe a hash tag using procedure because didn't instagram come up on something like this?

0

Huh, I felt that not allowing text posts made /r/programming much better. Otherwise it would have been cluttered with newbie posts or posts like "what is your favorite editor?"

0

How about this crazy idea: just let people ask whatever they want and don't be dicks. If you don't like it, don't upvote. If it is a question missing key details or just something stupid like 'givr me Angular tutorial', that they should have googled, say so and downvote it.

Don't be dicks, don't automatically 'segregate' or censor, don't tell them to put it in a sub no one reads.

Part of having a free forum that you can participate in is giving everyone a chance to participate and seeing some stuff you don't like.

I say, report the ads and pure spam, but, don't censor, segregate, or moderate otherwise.

0

It seems to me that systems like this that are primarily oriented towards communicating should be an unthrottled stream. If somebody comes asking for help, why not help them? Why chastize them for being curious? As a baseline if "/v/programming" becomes a cesspool of inept questions, then I am sure somebody can create a subverse titled "/v/godly-programmers".

0

I don't mind questions, but this is basically why I left /r/webdev full of beginners that didn't know anything with 10% interesting links. As soon as /v/programming becomes that I'm just going to go somewhere else.

0

I don't see any reason to break apart a subverse into tiny fragments. "That question was a beginner question and belongs over there. That question was a partial medium rare advanced question and needs to be posted over there." Why not just leave it here and you can skip over what doesn't interest you?