How do I get started with Discourse development as a regular end user with no programming experience?

I’ve had experience with Discourse as a regular end user since mid-2016. At first, I was actually quite intimidated by it. In recent years, I’ve become much more acquainted with Discourse and have fallen in love with it.

I’m now at the point where I want to start a very elaborate Discourse instance, but I lack nearly all of the technical experience to do so. I have much more experience with hardware engineering than I do with software development.

With that said, I only have a few questions. First off, where do I start my journey? I want to develop plug-ins and theme components in the future, but before doing that, I probably need to learn how Discourse itself works.

Should I start with Ruby/Ruby on Rails? Or would I be better off starting with JavaScript? What about HTML and CSS? Should I become acquainted with the command line beforehand? :thinking:

Finally, as somebody who struggles to pay attention and retain information, what’s the best way to learn a programming language and remember the information that’s being told to you? YouTube videos? Online courses? Maybe a book? Sticky notes too? :spiral_notepad:

Just looking at code intimidates me. It’s like Chinese, but in English. No wonder why they call it a programming “language” most of the time! I feel no different about the various technical terms being thrown around here. I know what a few of them are, but nearly all of them are still gibberish to me… :face_with_spiral_eyes:

And that’s why I hope the great folks on Discourse Meta are able to help me out here, even if I’m a massive newbie. This is the only place I could think of that would be able to properly assist me.

I explicitly put this topic in #dev because the description for #support says “Basic HTML and CSS questions are not in scope for support here.” and I wouldn’t want to tick off any skilled members of this community.

1 Like

It’s probably easier to start with themes. So I guess you’d start at the theme development topics like Developer’s guide to Discourse Themes and Beginners’ guide to using Theme Creator and Theme CLI to start building a Discourse theme and Structure of themes and theme components. And then, I’d find a javascript book that makes sense to you. You’ll need to find one for people who don’t know programming, so it’s not the one that I’d want (I knew more then five languages in the late 1980s, which has made javascript a challenge for me in ways that it might not for you, while also simultaneously making it much easier).

For me the rails end came much faster, but most of whet I think you’d want to do you can do strictly on the front end, and it’s just much faster to get in from that side.


Okay, thanks for the help!

I’ve also decided to take a look at this topic that @angus published a while back.


You might also check out Pavilion | Join


Maybe I’ll apply some day… :grin: