Tips for a beginner coder
Posted by hirohito182@reddit | learnprogramming | View on Reddit | 5 comments
hello everyone. so basically, I am a new coder with a goal of becoming a full-stack developer by the age of 25. I am currently 16 years old, and have some basic knowledge of HTML and CSS (nothing too much, started a week ago). I would like to ask all of the programmers/developers out there with experience, what are their tips for becoming a more consistent learner/programmer, also what languages would you recommend to start learning, also which not? thanks guys.
grig27@reddit
First of all you should study computer science. Algorithms and data structures are language agnostic, so it doesn't matter in which language you're writing code. The most important thing is to practice a lot - use leetgode or something similar to practice. The second step is OOP learning. This is the most hard step to make because OOP doesn't bring much value for simple programs. Here, I suggest starting a pet project. It can be anything, but it's important to start with real objects than you can model abstract ones. I think the number one reason for software complexity is the wrong models. The third step is to practice refactoring and patterns. Also here you should study how to write tests. The fourth step is to study software craftsmanship: Code Complete by Steve McConnell, which explains everything about how informational systems are built. Also, you should read and practice Clean Code and Pragmatic Programmer. And last but not least is software architecture.
lets_learn_languages@reddit
This is a detailed plan. Thank you stranger.
When you say "real objects" regarding OOP, would creating a tools to transliterate cuneiform symbols and vice-versa be considered real objects? Old Babylonian has unicode made for it- the other font style do not, so i am limited to that time period.
Would these work as "real" objects? Or am i not getting it?
grig27@reddit
When I say real objects, I mean things you can physically touch or that have a clear description and well-defined rules.
Most programming tutorials on OOP use abstract examples such as Transaction, Order, BlogPost, or Product. The problem with abstractions is that it’s difficult to understand the boundaries of each class—what it should do and what it shouldn’t. Much of a system’s complexity comes from misunderstanding these boundaries.
A tool for transliterating cuneiform symbols isn’t a physical object, but the entities inside it could still count as real in the OOP sense if they’re concrete and well-defined. These are real in the sense that they have precise rules and properties you can model in code. They’re not vague abstractions like Transaction or Order—they’re tied to an actual script system with historical and linguistic constraints.
lets_learn_languages@reddit
So if I made an array linking the unicode to the symbols and do the possible transliterations (i already see how complicated this would be for a first project)... it could work?
I'll start smaller, like with the Cyrillic alphabet, even if it has been done many times before, just to get a feel for the programming.
Again thank you so much for your help
SeaOk6822@reddit
Great question and it is even greater that you started at 16. You will probably exceed all of us when you are 20 haha.
So some tips on becoming more consistent:
1. Be consistent. Study every day. Do not skip a day even if it is 30 mins.
2. Think of studying like having dinner, you are having dinner every day so you should study every day.
3. Celebrate yourself when you are consistent, I would count days i studied and the projects i completed and i would tell those stats to my family as a grown person and it motivated me.
What langugage to start with:
It depends but the language is almost not really that important. If you wanna go fullstack webdev go to theodinproject and start learning js, if you want to do sth else maybe another language will be better.
Ask any questions below please!