Reddit can be a treasure trove of tips for coding, programming techniques, and even industry best practices if you want to learn how to code or are an entry-level developer. However, it’s only right to think about how the advice applies to your particular context.
In this article, I’m going to dig deep into the wealth of information provided and dig out some reddit coding tips. I’ll then summarize the most important things to keep in mind as you get into tech and grow into your career. Some comments have been edited for clarity and brevity.
Let’s dive right in!
- General advice for beginner coders from Reddit
- Which language should I start with? Coding tips from Reddit
- Reddit coding tips for good projects to begin with
- Final thoughts
General advice for beginner coders from Reddit
Beginner coders can be defined as people who are very new to the world of programming and are just getting started with their learning or are still at the junior level.
Ironically, it’s possible to feel like an entry-level programmer, even if you have some experience with real-world projects. This is because there’s always so much to learn, as this Redditor aptly put it:
That feeling of “wow, what I know is a drop in the bucket” never goes away because the more you learn, the more you realize you don’t know. Don’t let that get in the way of learning.
Redditors have copious amounts of advice for new coders. Let’s find some main points:
1. Learn how to learn
Learning how to learn is arguably one of the best skills you could garner as a beginner developer.
Coursera has a popular course known as “Learning How to Learn.”
It’s free and teaches you concepts like diffuse and focused thinking, Pomodoro techniques, repetition and practice, removing distractions, and not multitasking.
These concepts form a strong foundation for you to learn fast and effectively as you start your coding journey and even later on in your career.
You can find a summary of the course over on Reddit.
2. Start small
While the advice you receive, especially at the beginning, can seem daunting, you need to start small. If you’re very new to coding, then you need to get started with basic syntax in a particular programming language.
As you learn the basics, you can do coding challenges that increase in complexity and then coursework mini-projects before you start to build more complex projects.
When you’re a bit comfortable in the programming language, you can learn industry best practices like testing, debugging, and version control.
A Reddit comment on the r/AskReddit subreddit summarizes “starting small” handily:
“If you want to do something, I’d suggest getting the syntax of a language down as well as how to use the standard modules/packages in that language.
Don’t waste too much time with ‘hello world ’-type tutorials—maybe a few will suffice as practice for the language, and the rest will be figured out as you go. Just make sure you have a good idea of how to program in general (e.g., program flow, loops, objects, and classes).”
3. Get some structure
Having some structure is a great tip for coding when you’re learning—it helps you stay on track and see the progress that you’re making. If you want to learn coding by following random YouTube tutorials or blogs, you may miss crucial basics and realize you can’t apply any acquired knowledge.
This is where structured courses like bootcamps, MOOCs, or university courses come into play. You also get to learn alongside others, which helps you stay on track, and even access mentorship and job opportunities through partnerships with companies.
A Redditor who’s been programming for 15 years with six years of professional development answers the question, “What’s your advice for someone on Day 1 of their programming journey?” by saying:
“I’d recommend taking whatever intro Computer Science course your university offers if you can; it’ll give you structured learning with a teacher and TAs to ask questions of. ”
This is why successful coding bootcamps invest in student support to help learners on their journeys. In the technological rush, the human effect got somewhat sidelined and underestimated somewhat in education. There are many people who can learn by themselves at their own pace, but almost everyone needs to reach out to a community for support, reassurance, or direction.
It’s important to find what works for your own learning style. On the same thread, another Redditor adds,
“I’d recommend starting with freeCodeCamp’s introduction to JavaScript course. As someone with very bad ADHD, the structure they provide of giving you a half-page to read, followed immediately by a challenge that you pass or fail before moving onto the page, was ideal for me.”
4. Stay curious
Staying curious will take you a long way in your coding journey. Tech also changes quite fast, so curiosity will help you stay up-to-date.
As you learn, try to think about how some people are implementing what you’re learning “in real life.” Go to tech events and hear about some interesting innovations.
A Redditor uses a medical records example:
“Imagine you’re doing something with medical records. They didn’t teach you that at Udemy, a MOOC, or getting your BS in CompSci. You have to look at what’s really happening and talk to people. How do actual people do this stuff? Doctors, nurses, filing clerks, insurance companies, patients, and so on.
Every one of those people has something important to tell you about how they use these records. Each one of them is a trove of experience you must mine. By the time you’re done solving the problem, you’ll know as much about that area as many experts, but not before you talk to the people.”
If possible, get a “study buddy.” You can find online communities with structured learning times and join them. This will keep you on track, especially on the days you’re a bit frustrated and tired.
Getting a mentor is useful too, as you have someone else look at your code and give you feedback. It’s why CareerFoundry have made their Dual Mentorship model a cornerstone of their Full-Stack Development Program. Every student benefits from an experienced tutor as well as 1:1 consultations with their mentor, a seasoned coder who has seen it all.
Outside of your program, there are several platforms where you can link up with a mentor to help you, like ADPList, Get Merit, and CodeMentor.
5. Ask questions
Ask questions about something that’s not clear to you or something you’re trying to implement but are stuck on.
A Redditor on the “programming lords of Reddit” thread emphasizes that you should:
“ask questions, no matter how stupid you think they are.”‘
Most importantly, show the steps that you’ve taken to try and understand or accomplish something on your own. It’ll show the person that you’re asking for help from that you tried.
Ask questions at tech events, at school, and online in community forums to ensure that you keep moving forward.
A Redditor adds that tooling can be difficult, and you can get lots of help from various places:
“My advice when you have tooling issues is to read the docs, ask questions on help forums (tool-specific subs, discords, and forums).”
Most importantly, learn how to ask questions. Try to explain what you’re trying to do in a more general sense. It will sharpen your problem-solving skills over time.
Incorporate best practices into your code
While, as a beginner, everything you need to learn can feel overwhelming, learning to incorporate best practices will result in you becoming a better developer.
This way, you don’t pick up “bad coding habits” that could cost you and your team, and even the future clients and users you’ll eventually work with.
Some bad practices create something known as “technical debt.” This is when you use “shortcuts” when writing code and then come back later to “fix” things, which costs time and resources, financial or otherwise.
Some best practices you need to learn early on, according to Redditors include:
- SOLID principles
- the OSI model
- writing pseudocode
- diagramming or wireframing
- writing unit tests for your code
- debugging
- documenting your code (writing the steps you took when implementing it, and how you fixed errors)
- adding appropriate comments
- and using version control
6. Learn how to program
Depending on whether you have a technical background or not, you need to learn the basics of programming as early as possible in your coding journey.
This means that you need to learn programming algorithms and data structures to solidify your understanding of coding.
This helps you understand how to apply them, when different data structures are appropriate, and the effect they have on your output and things like memory utilization.
In a Reddit thread about “3 important tips for anyone who wants to learn programming” a Redditor who has apparently taught programming since 2003 advises that you should:
“Focus on learning the concepts of how to program rather than programming languages. Once you learn the logic, design, and concepts of programming fundamentals, learning different languages becomes easier since it’s just syntax.”
7. Learn by doing
As you learn more and more aspects of programming, for example, a particular language’s syntax, you need to start practicing.
After building the project your coursework requires, you need to start thinking about a real-world project that you can build using the knowledge that you have.
You’ll find that you now have to think about how to apply the knowledge you’ve learned, and it’ll probably feel heart-rending at first.
As you find out how to implement small parts of your project, you’ll start to feel a greater sense of achievement and progress.
Moreover, it’ll solidify your understanding of the concepts you’ve been learning.
You might have to re-watch some parts of the coursework and do your research on blogs, videos, and documentation, but eventually, you’ll be a better developer as you add your first project to your portfolio.
A great way to put it is to “Avoid tutorial hell”—as you start to learn, build your own small projects for yourself.
8. Don’t be dogmatic
It’s always good to know that there’s always more than one right way of doing something. Rather than stick to what’s set in stone, keep exploring and understanding why things work the way they do.
This goes for programming languages as well. Rather than “getting married” to a single framework or language, strive to understand software development. Languages and frameworks may come and go, but the core of programming will remain the same.
You might be required to learn a whole different programming language for a project at work, for example.
In addition, don’t assume that parts of your code are 100% right and that they cannot possibly have bugs. You’ll be very surprised when you find the bug in the “perfect part of your code” and a little embarrassed.
In Reddit’s words:
“Never blame other people for bugs, because you’ll be the cause of bugs too, or worse, you’ll be the cause of the bug you’re blaming on someone else. Every programmer had/will have a moment where they thought, ‘Who’s the idiot who…’ to later find out that they are that idiot… Anyway, just find the root cause and fix it, or ask for help.”
9. Learn to negotiate
When you’re ready to start making career moves like getting your second job, you need to learn how to negotiate. Learn the developer market range for your skillset and be confident enough to state that as your salary.
According to one Redditor:
“If you feel like you’re worth more than what a company is offering for you, don’t be afraid to ask for more money or to walk away and look for something better.”
At work, learn to show your managers and teammates the amount of time appropriate for a project—don’t just accept impossible deadlines.
Seek to understand why things are done as they are, and where necessary, learn how to improve them. Liaise with your team leader, of course.
Which language should I start with? Coding tips from Reddit
Many factors determine the programming language you should start with. For example, what do you want to be able to do eventually? For example if you want to build a game, then C and C++ might be your first languages.
If you’ve no prior coding experience and no technical background, then more high-level languages like Python, JavaScript, and Ruby are a great place to start.
Where you live in the world could also influence what programming language you learn. If employers in your area tend to hire JavaScript developers, then learning it might be reasonable. Of course, you could always work remotely if your company hires from your country or region or offers relocating options.
Your job or school may dictate what you learn first. If you get into a role via an apprenticeship, for instance, you’re highly likely to learn whatever programming language your company works with. The same goes for school.
It may be a good idea to learn widely used languages. They’re likely to have a vibrant community you can learn from. It would also be easy to find good documentation, resources, and mentorship.
Let’s explore “Reddit-recommended” languages you should learn first.
10. Python
Redditors recommend Python as it’s high-level, and does a lot of “behind-the-scenes” work for you. This allows beginners to concentrate on learning things like syntax. It also gives a solid base for developing a good coding style and understanding errors in code.
Here’s how Reddit’s Python proponents summarize it:
“If you’re just trying to learn how to program for the first time, and that’s your main goal, I’d choose Python. Python is a very high-level programming language that does a lot of the behind-the-scenes grunt work for you, encourages (though cannot mandate) good coding style, can be run pretty easily, gives pretty good error messages, and is unlikely to do any real damage to anything unless you actively try. It’s also pretty fun to code in.”
Python is also widely used, ranking third on the 2023 Stack Overflow developer survey.
Some downsides of learning Python include the fact that it’s dynamically typed, meaning that you don’t explicitly specify data types. It’s therefore likely to accept the wrong input. As a result, you need to add ways to curb this in your code.
11. C and/or C++
The proponents of C and C++ argue that these two are low-level languages that give you a solid understanding of programming. These languages have strong or static typing, which is arguably great for a beginner.
The C supporters think that:
“A more C-like language is probably good to start with. Like C# or Java. They’re more structured and low-level enough that they provide good understanding while being high-level enough that you won’t rip your hair out because of memory issues. Plus strong, static typing. I think that’s pretty big for a beginner.”
Strongly typed programming languages explicitly declare data types in their code. This could reduce some errors that may result from your program working with incorrect data. That’s one less thing for a beginner to think about.
C will also make you learn how to do things the “hard way” from the get-go which should make it easier to learn pretty much anything later.
If anything, most high-level languages are written in C (including Python, PHP, JavaScript, Ruby, and the Java runtime).
There’s a reason why Harvard’s popular CS50 course includes C, right? Some Redditors point out that C might be difficult for a beginner, though.
12. Java
According to Redditors, Java would be the sweet spot between Python and C. It’s strongly typed and platform-agnostic, thanks to the Java Virtual Machine (JVM), which generates code that can run on different operating systems, known as bytecode.
Java supporters on Reddit say that:
“Java is another commonly-used programming language that can help ease the transition between Python and C and that also has some merits of its own for being relatively platform-independent thanks to JVM and having strong Object Oriented Programming.”
Java is also widely used for developing mobile applications on Android.
13. JavaScript
Over time, JavaScript has become the go-to language for web development. It’s therefore not surprising that the Reddit community vouches for it.
Redditors say that “JavaScript is ubiquitous. It’s a gateway language, and learning any code is never a bad decision.”
According to the Stack Overflow Developer Survey, JavaScript’s title of being the most commonly used language for the last 11 years remains unchallenged.
14. Ruby
Ruby is beginner-friendly, thanks to its clean structure and readability. Its syntax is very close to that of natural human languages, making it easier to learn. It’s also great for scripting use cases.
The r/ruby subreddit has a lot to say about learning Ruby in 2024. This comment summarizes it well:
“Ruby is excellent, but not quite popular enough to land an easy job right off the bat. I’d say to use it to learn programming paradigms and build your projects with it. Have fun with it.
And once you get your foot in the door somewhere, that can help you bring it into your professional work. Automating things, testing things, and building little tools to help with work.”
Redditors, however, seem to agree that it isn’t a great option if you’re looking to get an entry-level role soon. It’s nonetheless a great language to help you learn programming concepts and build projects, making your transition into other languages pretty easy.
There are a lot of systems that still use Ruby that need developers to maintain them, though.
15. PHP
While PHP might not be the “cool kid on the block” and has managed to garner quite a bit of haters, its supporters bring to the fore that it’s a great language to learn first as it’s easy to pick up even with just the basics in HTML/CSS and JavaScript.
You can use PHP with barely any plugins to build simple sites and use frameworks like Laravel for more complex web apps.
There are also a lot of sites written in PHP, and companies need developers with PHP skills to maintain them, says Redditors.
“A decent chunk of all web services are written in PHP, and companies need skilled devs to maintain them.”
PHP also has lots of extensions, packages, and tools you can use in your development work.
16. The language you learn first doesn’t matter
Some people on Reddit think that the programming language you start with doesn’t matter. This is because all programming languages will have the same basics — syntax, data structures, and algorithms.
Moreover, what matters is whether the applications and solutions we build solve real-world and business problems at a reasonable cost, not the languages and technologies they use.
The programming language that’s most applicable to whatever you’re looking to build, for example, a project, should be the one you learn.
Some recommend that after getting comfortable with your first programming language, you can switch to another with a similar abstraction level, for instance, “from Python to Java or C# to JavaScript.”
You should also ensure that you learn a language that will be around for a long time rather than one that keeps changing frequently.
You can then have a crack at low-level languages like C and C++. Eventually, explore some other functional programming languages, like Haskell.
It takes years to achieve mastery, so you need to be “a few years old” in your coding journey before delving into the murky waters of languages like Haskell and Scheme.
All in all, the programming language you choose to learn first should take into consideration things like wide usage, community support, your technical background, and the goal you want to achieve.
Reddit coding tips for good projects to begin with
Projects go a long way in helping you solidify coding concepts. This is why it’s a good idea to go for a highly practical programming course with lots of mini-projects and coding challenges.
As you learn new concepts that increase in complexity, the mini-projects should reflect the same.
You should then “store” these projects on code hosting platforms like GitHub, GitLab, and Bitbucket.
17. Coursework mini-projects
You’re probably going to start with mini-projects if you’re early in your coding journey.
The question is whether these “mini-projects” are enough to demonstrate your coding and problem-solving abilities.
You’re likely to find tutorials that detail how to do a Tic Tac Toe, to-do, or calculator project. Most of the learning here is very guided, though.
While these projects are a good place to start, they may not be the best for your portfolio, as you might be blindly following instructions without actually understanding what’s going on.
When Redditors are asked whether tic-tac-toe is a good project, they say,
“It’s a good project for somebody new to programming to practice their skills. It’s not a good project to convince employers that you can tackle a non-trivial challenge.”
18. Popular projects
There are popular projects that can help you further understand concepts. These tend to be bigger with lots of community support and structure to help you keep making progress forward.
These include “build-your-own-x”, a GitHub repo with tutorials to help you re-create various technologies from scratch. The projects include Git, Docker, blockchain, augmented reality, and more.
Another popular project for full-stack web developers is the Odin Project. It’s free and helps you build projects that are a great addition to your portfolio. Redditors recommend it a lot.
You can also find short problems and coding challenges to solve on sites like Coding Dojo, HackerRank, and LeetCode that go a long way in helping you prepare for interviews.
19. Personal projects
Personal projects help you demonstrate your ability to identify a problem or gap and create something toward solving the problem or filling the gap.
Redditors advise that you should:
“Try to practice what you learn on some kind of personal project, even if it’s something ‘made up’.”
Better still,
“Create personal projects based on the stack you want to work in. Wanna work in .NET? Create a Blazor project. Wanna work in Python? Create a Flask API.”
They’re also fun since you’re building something that interests you. You’re likely to keep at it even when you can’t figure things out quickly.
Personal projects will also tend to be more complex than you initially thought when you start to build them. This forces you to learn much more about how to implement the learned concepts in a real-world project.
They’re also a great addition to your resume and portfolio.
If you want to build some personal projects and have no idea what to build, you can check out a GitHub repo with app ideas you can build.
You can add Hackathon projects to your projects, especially if you had a winning solution.
20. Open-source projects
You can also begin to contribute to real-world open-source projects. It might feel daunting at first, but there are several ways to go about it.
You can join summer open-source projects like Google Summer of Code, Major League Hacking (MLH), Outreachy, or projects under the Linux Foundation (LFX Mentorship).
These tend to be extremely competitive, but some may offer stipends and funding for your business idea.
You can also find open-source communities in your area and learn about some projects to contribute to.
There are also beginner-friendly GitHub repos that list out projects you can start with.
21. General project criteria according to Redditors
In the beginning, focus more on well-written code that works as intended based on the technologies that you’re using.
If you’re a backend or full-stack web developer, your projects should include:
- REST APIs
- A “communication” between a backend and frontend
- Single Sign On (SSO) and some other forms of authentication techniques (SAML, OAuth, and Multi-Factor Authentication MFA)
- Working with relational and non-relational databases
22. Adding projects to your resume
You, of course, need to add the projects you’ve built to your resume. You could have a project section where you name your project and briefly describe what it does. Make sure to use the keywords in the job description.
In your cover letter, you could add details like how you settled on the technologies that you used and some successes as well as lessons learned.
Depending on whether the application software scans the resume, adding project links might or might not work.
Remember to add your GitHub profile, as recruiters may not have time to go to your personal site or blog, as this Reddit recruiter emphasizes.
“As someone who’s hired a good few software engineers, I rarely go to someone’s personal site, let alone read their blog. Resume and GitHub are all I need (and have time) to look at.”
3. Final thoughts
While seeking tips for coding and advice, especially at the beginning of your career, is great, ultimately, what matters are the actions you take. All the advice in the world won’t make you a highly skilled programmer. Lots of practice, learning, and building projects will.
Once you’ve learned some skills and built some portfolio projects, you’re now a step closer to starting to work on real-world projects. Talk to people, network, and create an online persona to help you showcase what you can do.
Remember, actions prevail over every good piece of advice you’ll ever get.
If you want to learn more about coding, then CareerFoundry’s free 5-day coding short course is a great start. In it, you’ll build and style your own website, using HTML, CSS, and JavaScript.
You can also read more about the area in these articles: