How to Learn Coding: The 8 Fundamentals to Nail Before You Touch a Framework

Written by: Naman Bhalla
42 Min Read
Summarise in seconds:

If you’re learning coding for beginners, this guide will help you with a clear order to follow eight core principles that apply across programming languages and come before frameworks. 

Wondering how to learn coding from scratch? Be realistic about the timeline. It will take roughly 70–100 focused hours of actually coding and debugging code. The idea is to build enough understanding that you can sit down with a problem, decide how you want to approach it, and write the code yourself. As you learn, you’ll gradually move from following examples to making your own decisions about how a program should work.

What “Learning to Code” Actually Means

Coding for beginners starts by learning how to give instructions to a computer.

When you learn a programming language, you’re learning how to communicate with a computer using a specific set of rules. But knowing those rules doesn’t tell you how to solve a problem. You still need to decide what the program should do, break the problem into steps, and translate those steps into code.

Once you have written the code, you need to check whether it actually solves the problem. If it doesn’t, you go back through the program, find where your logic or implementation went wrong, and fix it. This is why problem-solving and debugging become such a big part of learning to program.

The following three terms confuse most beginners:

  • Coding: writing code that is executable on the computer. 
  • Programming or software development: Using those codes, as well as problem-solving skills, design, testing, debugging, and data structures, to create a fully functional system.  
  • Frameworks: pre-built tools like  React or Django that give you structure and reusable functionality for building applications.

This is why starting with a framework can be a trap. You can follow a React tutorial, copy the examples, and get an application running without being able to write ten original lines when the tutorial stops. The framework isn’t the foundation; your ability to reason about the problem is.

You also don’t need to be exceptional at maths to start coding. Basic arithmetic and logical reasoning are enough for most beginner programming. You’ll need more advanced maths for areas such as graphics, machine learning, cryptography, and other specialised fields.

Scaler Carousel

Also Read: How To Become a Software Engineer Without a Degree

Before You Write Any Code: Setup and the One Language Decision

Before you install five different tools or start comparing programming languages, make one decision and get a program running. So learning how to start coding for beginners doesn’t have to be complicated. Choose one language, set up your environment, and start writing small programs.

Which programming language should you learn first? 

When it comes to coding languages for beginners, python is a good place to start.

For your first 50 hours, the biggest obstacle isn’t Python’s limitations. It’s the amount of new thinking that you’re already doing. Python keeps the syntax relatively simple, so you can focus on learning how variables, conditionals, loops, functions, and data structures work. 

Even the feedback loop is fast because you create a file, execute it, inspect its output, edit it, and then re-execute it again. You don’t have to learn how to use the build system for a project to run a few initial programs.

Just do not overthink your choice. Fundamentals are not exclusive to Python. This is true even if you go on to use another programming language like Java, C++, JavaScript, and so forth. 

There are two situations where I’d ignore the Python recommendation.

If you are learning C or Java in college, then stick to either C or Java, because if your course curriculum is based on any of these languages, then there is no point in studying Python. Focus on understanding the fundamental programming concepts in the language you’re already using.

If you’re sure you want to build front-end web applications, JavaScript is a good choice. It runs directly in the browser, so you can start building web applications without learning another language first.

Avoid picking up a language just because it is difficult. Learning C++ will not automatically make you a better programmer. C++ is more difficult for beginners to learn because certain aspects like pointers and memory management, among others, are introduced much earlier. Such abilities are important when needed, but not mandatory to understand programming itself.

LanguageBeginner difficultyFirst-program frictionWhere it’s usedStart here if
PythonLowLowData, automation, AI, backendYou want a general-purpose starting point
JavaMediumMediumBackend, enterprise, AndroidYour course or target role requires it
CMedium to HighMediumSystems, embedded, academicsIt’s part of your coursework, or you want systems fundamentals
C++HighHighSystems, games, competitive programmingYou specifically need it for your target field
JavaScriptLow–MediumLowFront-end, full-stack, webYou know you want to build for the web

Once you have mastered your primary language, it will be easier for you to choose the programming languages that are relevant for jobs according to the positions you aspire to.

Ready to explore what to learn next? Check this 25 Best Programming Languages to Learn for Jobs

Your Setup in 20 Minutes (and What You Can Skip)

Don’t make the mistake of overcomplicating your development environment for your first project. Go to the website python.org to download Python. Install VS Code. Create a new file named hello.py.

For now, skip virtual environments, Git, Docker, Anaconda, and the endless “perfect Python setup” videos on YouTube. You’ll need some of these tools later, but none of them will teach you how a loop works. Beginners regularly lose an entire weekend to tooling before writing their second program.

A few terms will come up immediately:

  • Code editor / IDE: This is where you write your code. VS Code is a code editor. An IDE goes a step further by bringing things like debugging and other development tools into the same application.
  • Terminal: A place where you give your commands and execute your programs without using a graphical interface.
  • Interpreter: Examines your source code and runs it using the language’s runtime.
  • Compiler: Takes your source code and translates it to some other format, usually machine code, so that it can run.
  • File extension: The bit at the end of a filename, such as .py. It tells your operating system and development tools what kind of file it is.
  • Running a script: Executing the code you’ve written in a source file.

If you can’t install software, don’t let that stop you. A browser-based coding environment such as Replit can run code without a local setup. That’s particularly useful on a shared, low-spec, or restricted college laptop. You can also run code in your browser without installing anything when you need a zero-install environment.

Don’t have Python installed? You can run an Online C Compiler without setting up anything on your computer.

No Laptop? What You Can (and Can’t) Do on a Phone

The basics can be learned on the phone too. Coding applications on mobile devices and web IDEs are completely fine for things like variables, control statements, loops, functions, and manipulating smaller bits of code. They’re also handy when you have ten minutes on a commute rather than access to your laptop.

But you also need to remember that your phone isn’t a full-blown development environment. Debugging gets tricky, file management is difficult, and working on actual projects can be frustrating. Treat mobile as a supplement, not your primary setup.

Before you reach the later fundamentals, especially file handling and larger projects, get access to a keyboard. This could be any college computer lab, library computer, or even a cyber café. You do not need to have an expensive laptop; what you need is a conducive environment in which you can code.

The 8 Fundamentals to Nail Before You Touch a Framework

The 8 fundamentals cover the coding basics for beginners, regardless of which language you choose. Before jumping into React, Django, or another framework, learn how to break a problem into smaller steps and turn those steps into working code. 

1. Variables and Data Types

Variables store values that your program needs to work with. Begin with integer, float, string, and boolean variables, and learn what you can do with each type. Knowing what type of value a variable holds will save you from a lot of unexpected results and type errors later.

This can be easily checked by taking some examples and making an assumption regarding the value of the variable without running the program. Try writing a program which will take marks of five different subjects and display their total, average, and maximum marks.

It is important to clarify right from the start that the sign “=” denotes assignment, and does not represent equality. In x = x + 1, you’re taking the present value of x, adding 1 to it, and storing the new value back in x. 

2. Control Flow

Control flow determines which parts of your code will be executed and when. Start by understanding if, elif, and else, and familiarize yourself with comparison operators and logical operators such as >, ==, and, or.

The important part is learning to turn a rule into conditions yourself. For instance, if the students who score more than 75% qualify only if they have no backlogs, then you must be able to write the code for the condition yourself.

For hands-on practice, create a grading calculator that assigns A/B/C/D/F based on marks. Then add one rule that checks two conditions at the same time, such as a minimum mark and attendance requirement.

An important point to note: a program could run without any errors, but it could still contain errors. If your condition was created wrongly, or if you checked the conditions in the wrong sequence, you have made a logic error.

3. Loops and Iteration

Loops let your program repeat a set of instructions. Start with for and while loops, then learn how to loop through collections and use range, break, and continue. 

Loops come into play whenever your program has to handle multiple values. Rather than repeatedly writing instructions for each value, you can write them once and leave the rest of the job to the loops.

The task now is to be able to analyze the problem and decide which loop structure is the best fit for that problem. Try writing a program to print out the multiplication table using the loops and then modify it to perform the operation on each number from the list.

Watch out for off-by-one errors, where a loop runs one time too many or too few. With while loops, make sure the condition can eventually become false, or you’ll end up with an infinite loop.

4. Functions and Scope

With the use of functions, you can give a name to a logical block of code that can be used again rather than rewriting the same code again and again. Start the discussion with parameters, arguments, return value, and local versus global variables.

Functions become increasingly valuable as your programs grow larger. They allow your code to be more readable, more modifiable, and testable as you divide a bigger problem into smaller problems that are solved by individual functions.

You’ll know you have become proficient at using functions when you are able to write an extended script and then be able to divide the script into smaller chunks without altering its functionality. Test yourself on the grade calculator: Create separate functions for reading the marks, calculating the average, and assigning the grade. 

A frequently made error is the confusion between return and print. The function print prints out a value, while return returns a value to the calling code.

5. Data Structures

Data structures are the various methods of storing data within your program. Begin by learning lists and dictionaries, and then move on to understand how to use sets and tuples.

The selection of a structure determines how simple the manipulation of your data will be. An example of this may include when one is able to evaluate the situation and get a new data structure that outperforms the one that they currently have.

For practice, build a small address book that lets you add, search, update, and delete contacts. Use a dictionary to store the contacts and see how it makes finding a contact’s details by name easier. 

Lists and dictionary have their uses under different circumstances. A list works well when the order of items matters, while a dictionary is useful when you want to connect a key to a value. 

Once you’re done with the basics, read DSA Roadmap: Learn Data Structures and Algorithms.

Free Courses by top Scaler instructors

6. Input, Output, and Files

Input is how data enters a program, while output is how the program shows or stores the results. Once you’re familiar with basic input and output, learn how to work with files by getting information and saving your program’s results to them.

You can start with hardcoded examples as they can help you understand how variables, conditions, loops, and functions work. Once you’re done with these basics, try giving your program some input from a file. For example, read some data from one file, process it, and save the result in another file without following step-by-step instructions. You’ll then have to decide how to read the data, what to do with it, and how to structure the output.

As practice, prepare a file having expenses information. Write a program that reads the file, calculates the total and highest expense, and saves the results to another file.

In case your program says it can’t find the file, check the file path and working directory before assuming the file is missing. 

7. Debugging and Reading Error Messages

Debugging means finding the bug in the program and fixing it. The information about syntax errors, runtime errors, logic errors, and how to read tracebacks will be vital to you.

When you run into an issue, you shouldn’t straight away try pasting the error into Google or an AI website. You should first try understanding what your computer program wants to tell you. 

As you get better at debugging, you should be able to read an error message, find the line causing the problem, and work out how to fix it. 

Take a simple program with one syntax error, one runtime error, and one logic error, and fix all three without looking at the answers. Error messages give you clues about what went wrong and where to look. 

8. Basic Complexity Intuition

Complexity refers to how the work done by your code varies with increasing amounts of input. You do not require advanced mathematics to comprehend this concept. Begin by identifying basic patterns, such as having just one loop or a loop within a loop.

An algorithm that runs flawlessly on 10 records may run very slowly on 100,000. Considering the complexity of an algorithm will help you identify this potential problem before it arises.

A way to define an efficient algorithm is your ability to analyze the code and understand how its efficiency will depend on the size of the input.

For practice, compare searching for a value in a list with looking it up in a dictionary. Test both with a large dataset and see how their performance differs.

Don’t treat complexity as something you need to memorise for an interview. At this stage, build the habit of asking one simple question: “What happens to this code when the input gets much bigger?”

You don’t need to master all eight in a weekend. The goal is to reach the point where you can use each one without a tutorial holding your hand. Once you can do that, you’re ready to start learning a language more deeply and eventually move into libraries and frameworks.

If you want to continue with Python, click here: Python Roadmap 2026: 6-Month Path to Master Core, AI & Web Dev.

How Long Each Fundamental Actually Takes

Most beginners reach basic competence in the eight fundamentals in 70–95 focused hours, or roughly 8 – 12 weeks at 6 – 8 hours per week.

No.FundamentalHours to basic competenceHow to practise it
1Variables & data types4 – 6Write 20 tiny programs; predict the output before running them
2Control flow6 – 8Turn 10 written rules into conditionals
3Loops & iteration patterns8 – 12Practise six common loop patterns with five problems each
4Functions & scope10 – 14Refactor your earlier scripts into functions
5Lists & dictionaries15 – 20Rebuild three earlier programs using different data structures
6Input, output & files6 – 8Automate one small task from your own life
7Debugging & error messages10 – 15*Fix deliberately planted bugs and keep an error journal
8Complexity intuition8–10Time your code on 100 versus 100,000 records
TotalEight fundamentals70 – 958 – 12 weeks at 6 – 8 hours/week

By the end of these 70 – 95 hours, you should have a solid grasp of the basic coding skills needed to write and understand simple programs without relying on a tutorial for every step. 

Also note that Debugging doesn’t really have an endpoint. You’ll keep getting better at it throughout your programming career.

What does that look like in real life?

The total number of hours will come down to how much time you’re able to give consistently.

  • College student – 8 hours/week: roughly 10 -12 weeks
  • Working professional – 4 hours/week: roughly 4 – 6 months
  • Full-time learner – 25 hours/week: roughly 4 – 5 weeks

You can treat these timelines as a benchmark and set your own pace in accordance with your availability. A regular 45-minute session on most days will generally get you farther than six exhausted hours on a Sunday because you’re repeatedly practising the same skills instead of trying to rebuild momentum every week.

Keep track of your practice time, not screen time. Watching someone else solve 20 problems doesn’t give you the same skill as struggling through five yourself. When you can write the code, break it, read the error, and fix it without immediately reaching for a tutorial, you’re making real progress.

Scaler Placement Report and Statistics

₹23L
AVG CTC
SCALER PLACEMENT PROOF

Scaler learners achieved 2.5x salary growth with average post-Scaler CTC reaching ₹23L.

11,000+ placements
650+ companies
Verified data
See full placement report
Hiring Partners:
Google Amazon Microsoft Flipkart Adobe 1200+ more

Tutorial Hell: Why Most Beginners Stall, and How to Get Out

Tutorial hell is the cycle of finishing tutorial after tutorial, understanding the code while someone else writes it, and then being unable to build anything when you're given a blank file.

The problem isn't that tutorials are not working. The problem is what your brain is practising while you watch them.

When you follow someone else's solution, you're practising recognition. The code looks familiar, the explanation makes sense, and you can often predict what comes next. That feels like learning.

But coding also requires recall: starting with a blank editor, deciding what to write, getting stuck, and working out the solution yourself. The difference is only evident when the tutorial disappears.

That's why a beginner can finish a two-hour Python course and still stare at a blank file wondering what to write. It doesn't actually mean you're bad at coding. It means you've been practising recognition more than recall.

The 1:3 rule: For every hour you spend watching or reading about code, spend three hours writing code with the tutorial closed.

And don't solve the problem by finding another tutorial. If you finish a loops tutorial and still feel shaky, do twenty loop problems instead of watching a second explanation of loops. If you need an ordered curriculum rather than another collection of random videos, follow a Python syllabus you can follow in order and stick with it.

Three habits that get you out of tutorial hell

1. Type every example yourself: Don't copy-paste the code from a tutorial. Typing it forces you to notice the syntax and understand what each line is doing. The friction is useful.

2. Break what you build: Once an example works, change something deliberately. Remove a condition, change a variable type, or alter a loop. Before running it, predict what will happen. Then compare your prediction with the actual result. You're learning to reason about code rather than just reproduce it.

3. Use the blank-file test: Close the tutorial, documentation, and your previous solution. Open a blank file and rebuild yesterday's program from memory. If you can't, you've found exactly what you need to practise next.

Functions and data structures can feel tricky when you first start using them. You have to decide how you want to structure your code and solve the problem instead of simply following an example.

When you get stuck, spend some time trying to work through it yourself. Change your approach, test smaller parts of the code, and look at the errors you’re getting. The more problems you solve without following someone else’s solution, the easier it becomes to make these decisions yourself.

Learning to Code When AI Can Write Code

A beginner in 2026 has something earlier learners didn't: a coding assistant available from day one. That can be the best tutor you've ever had or the fastest way to avoid learning anything yourself.

AI used in the proper way will help you learn very quickly. It can explain an error message in plain English at 2 a.m., walk through unfamiliar code line by line, generate practice problems at exactly your level, review code you've written, and answer the basic questions you might hesitate to ask someone else.

The problem starts when you let it do the thinking for you.

If you accept code you couldn't write yourself, you're practising recognition without recalling the same mechanism behind tutorial hell, only running much faster. Autocomplete can save you from the hassle of trying to figure out what comes next; this very process of trial-and-error is part of the learning experience. In fact, you can build an app and have absolutely no clue how it works and why it works.

Use AI to explain, not to produce.

Until you've finished the eight fundamentals, use AI to explain an error, explain code you don't understand, or review something you wrote yourself. Don't ask it to write the solution and paste it into your project. If you accept a suggestion, delete it and try to write it again from memory. If you can't, ask the AI to explain the concept instead.

A few habits make this easier:

  • Turn autocomplete off while practising the eight fundamentals. Turn it back on once you're comfortable writing the basics yourself.
  • When you're stuck, try a prompt such as: "Explain this error like I'm new to programming, and tell me how I could find this problem myself next time."
  • Write your first program for each new fundamental yourself. Don't let AI generate it for you and then study the answer.

AI isn't making programming knowledge irrelevant. The work is shifting from simply typing code to specifying, reviewing, debugging, and deciding what code should do. All of those require you to read and understand code fluently. You can't reliably review code you can't read.

For a broader view of how these changes are affecting the industry, see how AI is reshaping India's tech workforce.

An 8-Week Plan You Can Actually Follow at Home

If you're figuring out how to learn coding for beginners or how to learn coding at home, the simplest approach is to follow a fixed sequence instead of jumping between different topics and tutorials. You don't need to spend hours every day learning to code. A consistent 4 - 6 hours a week, with most of that time spent writing code yourself, is enough to make steady progress.

WeekFundamental(s)HoursWhat you build by Sunday
1Variables & data types5 - 6Marks calculator
2Control flow6 - 8Grade or eligibility checker
3Loops & iteration8 - 10Number-processing program
4Functions & scope10 - 12Refactored multi-function program
5Lists & dictionaries8 - 10Student/contact records manager
6Lists & dictionaries8 - 10Searchable records program
7Files & debugging8 - 10File-based data processor
8Complexity + consolidation10 - 12One project using all eight fundamentals

Follow the same rhythm every week

  • 4 days × 45 minutes: learn and practise new material
  • 2 days × 60 minutes: solve problems without a tutorial
  • 1 rest day: step away and come back fresh

On Sunday, use the blank-file test: rebuild the week's main program without looking at your previous code. If you can't, repeat the week. Repeating isn't falling behind; it's how you make sure the knowledge sticks.

If you're learning alongside college, use your semester coursework as additional practice rather than creating two separate study tracks. A college lab computer is also enough to practise, and if you're working with limited data, download resources while you're on Wi-Fi.

For the final week, build a student marks manager that reads a CSV, stores records in lists and dictionaries, uses loops and functions for calculations, handles missing-file errors, and looks students up by roll number. It doesn't need to be impressive. It needs to prove you can combine the fundamentals without a tutorial.

Once you've finished the eight weeks, you can even start following this SDE Roadmap

Scaler Alumni and Their Success Stories

How to Practise So It Sticks

Learning how to learn basic coding skills comes down to practising regularly and applying what you've learned without relying on a solution. Try to solve problems yourself first, then go back to concepts you haven't fully understood. Four types of practice are particularly useful at this stage. 

1. Drills

Start with short, single-concept problems that take 10 - 15 minutes. Write a few programs around the same concept until the pattern becomes familiar. These should make up most of your practice early on. For more worked examples, you can use Python concepts with worked examples.

2. Rebuilds

Take an existing project you've done and recreate it in a new blank document. Do not look at your existing code unless necessary. This exercise will show you what you really know versus what you can recognize from reading it.

3. Small original programs

Develop something you personally want to exist: an expense tracking tool, a marks calculator, a document organiser, or any other solution to your small problem. Make sure the project is focused. The purpose is to learn how to make decisions on what you write, not to create an application.

4. Read other people's code

Try to read a small public script and analyze how each part works and why it was written in a particular manner. Reading code is a different skill than writing code and becomes more and more relevant as your code grows.

Choose problems at the right difficulty.

Choose a problem that's challenging enough to make you think, but small enough to finish in one sitting. If you've spent 30 minutes on a problem without making progress, break it into smaller parts or try a simpler version. 

Keep an error journal while you practise. For every useful bug you fix, write down:

  • What broke
  • What the error said 
  • What caused it

After a few weeks, you'll have a record of the mistakes you actually made. That makes it much easier to see where you need more practice.

You don't need competitive programming, endless LeetCode problems, or interview preparation yet. Those come later; right now, focus on becoming comfortable writing and debugging basic programs yourself.

If you want to practise basic coding questions, use a small set of beginner problems rather than trying to work through hundreds of them. The goal at this stage is depth of understanding, not the number of questions completed.

Want to start with Python? Here's a Free Python Course with Certification 2026

Free Resources That Are Genuinely Free

There's no need to pay for a course to learn the fundamentals. The harder part is choosing one structured resource and sticking with it instead of collecting ten courses you'll never finish.

ResourceWhat it's good forCostCatch
Python Official TutorialLearning Python syntax and core conceptsFreeWritten documentation can feel dry for a complete beginner
Harvard CS50xBuilding broad programming and CS fundamentalsFree to auditStarts with C, so expect a steeper first week
NPTEL / SWAYAMStructured university-level courses, particularly useful for Indian studentsFree; certificate optionalCourses can be longer and more academic
freeCodeCampGuided lessons and hands-on practiceFreeThe sheer amount of content can make it easy to jump around
MIT OpenCourseWare 6.0001A rigorous introduction to programming with PythonFreeMore demanding than a typical beginner course
Scaler's free Python courseLearning Python fundamentals with a beginner-focused structureFreeAs a beginner, you can use this one platform without having to worry about finding separate tutorials for different topics.

Also note: “Free” courses may charge for certificates even when the material is free. CS50x is excellent, but starting with C can be a difficulty spike. YouTube has plenty of free coding content, but its lack of structure can send beginners back into tutorial hell.

What about coding books?

A book can be a useful reference, but it's not a substitute for writing, running, and fixing code yourself. If you want a supplementary reference, Automate the Boring Stuff with Python is a good choice because it teaches Python through useful tasks.

You don't need to use every resource listed above. Pick one, follow it in order, and spend more time writing code than collecting material.

Conclusion

If you've been waiting for the right language, the right course, or the right time to start, stop waiting. You learn coding by working through the eight fundamentals in order, writing your own code, and proving that you can use each concept without a tutorial open beside you. The language matters far less than the practice.

You don't need to master everything in a few weeks. 70 - 95 focused hours is a realistic target alongside college or a job, and getting stuck around functions and data structures is completely normal. Continuing to practise instead of jumping to another course is important. 

So don't plan tomorrow's study session. Open your editor today and spend 15 minutes on the first exercise: variables and data types. Write the code yourself, run it, change it, and see what happens. That's how learning to code actually starts.

If you want to start with Python, a beginner-focused course can help you work through the basics in order.

Frequently Asked Questions

1. How do I start learning to code?

Pick one language, Python for most beginners, and work through the eight fundamentals in order: variables, control flow, loops, functions, data structures, files, debugging, and complexity. Start writing code the same day you start learning.

2. Can I teach myself how to code?

Yes. All you need is a clear sequence and consistent practice. Free resources provide the material, while your own projects and problem-solving provide the practice.

3. Which programming language should I learn first?

Python, for most beginners. Its syntax lets you focus on programming logic rather than language complexity. If your college coursework is in C or Java, however, learn the fundamentals in that language instead. The fundamentals transfer between languages.

4. Is C++ or Python easier?

Python is easier for beginners. C++ introduces concepts such as pointers and manual memory management that can add unnecessary complexity when you're still learning basic programming logic. Starting with a harder language doesn't automatically make you a better programmer.

5. How long does it take to learn coding?

Expect roughly 70 - 95 focused hours to reach basic competence in the eight fundamentals, about 8 - 12 weeks at 6 - 8 hours per week. Focused hours mean writing and debugging your own code, not watching tutorials.

6. Do I need to be good at maths to learn coding?

No. School-level arithmetic and logical reasoning are enough for most beginners. More advanced maths becomes important for specialised areas such as machine learning, graphics, and cryptography, but you can decide whether you need it later.

7. Can I learn coding without a computer science degree?

Yes. A degree can affect some hiring routes, but it isn't required to learn programming. The fundamentals, practice, and projects can all be developed independently through structured self-learning.

8. Is it still worth learning to code when AI can write code?

Yes. AI can generate code, but you still need to read, specify, test, debug, and review it. Those skills depend on understanding the fundamentals. In fact, knowing how code works becomes more important when you're using AI to produce it.

9. Can I learn coding on my phone?

Partly. A phone is fine for learning the first few fundamentals and reading code, but debugging, file handling, and building projects are much harder without a keyboard. Use your phone as a supplement and switch to a computer for serious practice.

Share This Article
Follow:
Naman Bhalla is Co-founder of Scaler AI Labs and previously led Engineering and Product at Scaler, where he designed curriculum across Scaler Academy and the Scaler School of Technology. A graduate of BML Munjal University, he was earlier a Software Engineer at Google, CureFit, and Shipsy. He writes about large-scale systems, algorithmic problem solving, and building a career in tech.
Leave a comment

Get Free Career Counselling