Start with an easy language - when learning programming
fundamentals, avoid heavy languages like Java and C#, because they force
you to learn the nuances of object-oriented programming, which beginners
shouldn't be bothered with. Start with a lightweight language like
Don't use frameworks at the start - a framework
is code that runs on top of a language to simplify complex tasks, and to
reduce repetitive code. When learning programming fundamentals, avoid
frameworks. Beginners have a hard enough time with simple code.
Frameworks will overwhelm you with complicated code. Frameworks also hide
many details that beginners should learn about.
Don't worry about front end vs back end at the start -
beginners don't even know what programming is yet, let alone the nuances
of front end vs back end. You should focus on learning programming
fundamentals, which isn't really front end or back end. Once you have a
few years of experience, and have done both front-end and back-end
development, then you can decide which you prefer.
Don't passively follow tutorials - avoid simply watching
or reading tutorials without writing your own code. You will need to
follow a tutorial to some degree to learn new syntax or a new concept,
but at some point, you should be writing your own code that is not in the
tutorial. Most of your actual learning will be from writing your own code,
and from doing your own problem solving.
Don't come up with your own projects at the start - at the
very beginning, don't come up with projects that seem interesting to you,
because interesting projects require complex code, and beginners should
start by writing simple code. That means you'll start by making something
boring like a unit converter program. But that's how you learn. And don't
come up with your own simple programs to make, because beginners don't have
enough knowledge to know what is simple and what is complex. Instead you
should follow a curriculum that includes a sorted list of projects
interleaved with tutorials and exercises. Once you have made some curated
projects, then you can start coming up with your own projects.
Don't read documentation at the start - at the very
beginning, don't try to learn by reading official documentation, because
first of all, most documentation by itself does not explicitly guide the
reader on how to use something, but is merely a reference, and beginners
need explicit guidance. And secondly, knowing how to read documentation is
a skill, and beginners haven't developed that skill yet. Once you are
comfortable with basic concepts, then you can start reading documentation
to expand your knowledge.
Don't set up a development environment at the start -
beginners don't even know if they like programming yet, so start by doing
actual programming as soon as possible to test the waters. The fastest way
to start is to use an online code editor like Replit where everything is
already set up for you. Once you have determined that you want to pursue
programming, then you can start setting up a development environment on
your computer if you want. But avoid using professional tools like Git
until you are comfortable with programming fundamentals.
Don't contribute to open source at the start - open source
code is complex, and beginners should start by writing simple code. And
contributing to an open source project requires understanding other
people's code. Beginners can hardly understand their own code, so there's
little chance that they will understand somebody else's code. Even
experienced programmers struggle with this.
Don't solve LeetCode problems at the start - LeetCode is a
website with thousands of algorithmic programming problems. Beginners
shouldn't do LeetCode problems, because even the easiest LeetCode problem
is too advanced for a beginner. Once you have mastered programming
fundamentals, then you can solve LeetCode problems for extra practice.