How to become a developer while you’re still in school

Aamish Ahmad Beg
Flutter Community
Published in
8 min readApr 20, 2020

For most school students, software feels like this elusive blend of magic and science which never fail to amaze them ( Playing a mafia member on a VR headset was exciting, wasn’t it? ).

Many of us, if asked, say we would love to make software ( games, mostly ) for a day job. The idea that we can make games all day ( and ‘test’ those games ) seems enticing for sure, and although so many of us dream of doing this, not many actually develop.

If you ask these aspiring developers about how to become a developer, most of them would have no idea. Then there would an occasional occurrence when one of them will tell you about going to college, getting a degree, and then ‘getting into Google/Facebook/Microsoft’. And then there would be an even rarer occurrence, when you meet a school student who knows how to write a bit of code. He probably made a website or two, maybe even a basic app. He would name specific technologies which you learn to become a developer ( get ready for the HTML/CSS talk ). But once, out of thousands of interrogations, you would find an actual developer in school. And what he’ll tell you is nothing like what the others were talking about.

Now, the problem for those who want to start out with development in school is that there are very few, a minuscule number of developers who are still in school ( and can actually code something up ). Almost all pieces of advice online are targeted towards those who either ‘want a job’ ( and will learn most of the stuff on-site ), or those who are in college looking for placement. The advice most others will give you is probably outlandish, because most ‘developers’ in school don’t actually develop ( you don’t need to be a math wiz to make websites, Jared, and no, calculus and linear algebra don’t really help in app development, Karen ). Most students fall into the ‘you’ll learn this stuff in college’ trap and believe that software development is something like being a medical practitioner, surgeon or soldier. They believe that it some specialized skill that requires you to go through college to learn.

That is far from the truth.

Fact is, you can be a developer and not know much math.

Fact is, you don’t need to know everything about a computer to begin programming ( in reality, you don’t need to know almost anything about a computer’s internals).

Fact is, you can learn development for free without the unnecessary hassle of college, and still be as competitive as those who did go to college.

Fact is, most students who happen to have a Computer Science Degree don’t actually know how to code properly.

Fact is, most employers don’t really care, and a college degree might even be redundant if you want to open up your own business ( which is easier than what you might have thought ).

I don’t mean to say that a degree in Computer Science is useless, that is far from the truth, especially if you work in some very specialized field. All I want to say is that it’s not as important as you think, and if what you want is developing apps, games, websites or even make of use machine learning ( trust me, I’ve been doing that one in grade 10th, although math-proof resources are rare ), you don’t need to learn anything that’s out of your league. All you need to learn is programming, which is orders of magnitude easier to do than what you might believe ( although it does seem intimidating at first, once you learn the basics, everything feels like a breeze).

But how do you begin ?

Now, the golden question.

To begin development, the very first thing you should decide is the type of software you want to make ( it could be apps, games, websites etc. ).

The importance of this first step cannot be exaggerated. You don’t want to set out to learn something for hours which you aren’t even interested in. That always ends in disaster, with you losing confidence and calling it quits.

Instead, you should weigh your options according to your interest, before you even begin. That’s going to save hours if not days which you could potentially have wasted trying to do something that does not spark interest in you.

Find yourself a path

Once you know what you want to do ( that can be changed easily later down the line ), you should look for a curated path or online course to follow or a nice book to read ( always read the reviews carefully to find out how much experience is assumed or how beginner-friendly the content is ).

Why curated ?

Because you are just starting out with programming, and probably don’t have a mentor to teach you. It is advisable to begin with a curated course, and then hacking around, forging your own way, once you get the hang of programming. The curated content will help you in developing the basic concepts that you need to understand to write programs. Following a path will make sure that there are others who have taken the same path, and have made the mistakes that you’ve made ( which you’ll make pretty frequently ). You’ll need a lot of help in those early days, and it helps to have someone to clarify all your doubts, and an online course on a platform like Udemy provides a good environment. I don’t really use any platforms other than Udemy and now Pluralsight ( which is not really beginner-friendly and is really expensive ), but others like Coursera or edX might work fine for you.

Here is one of my articles where I go deep into this very topic:

This is a really helpful article regarding the specifics of how you should approach programming.

Other than that here are some resources you might want to check out:

There is no dearth of such resources, some tend to be better than the others, and some might just be better for you. Udemy just happens to be my secret weapon ( although I think it can be your weapon too ).

After the basic introduction to programming, introduce yourself into the community.

Join social channels meant for programmers of your industry

For a programmer, knowing how to go about navigating the coder community is crucial.

For one thing, it helps you solve all your code related problems. Knowing where to find the answers to all your problems is a keystone skill, which you’ll develop through practice ( Googling isn’t as straightforward as you might have thought ).

Join Slack and Discord channels, contribute on GitHub, interact on Instagram and LinkedIn.

This is one of the soft skills that really skyrocket your chances of getting some real work done.

What about all the money ?

If you’re interested in the financial perks of being a developer, you can easily avail them as a student.

For that, you’ll probably work on an internship or take freelance projects ( both of which I do ).

You might also build something that you would like to expand into a business ( something I’m looking to do in the near future ).

How do you get internships and freelance work ?
I mostly get work from LinkedIn ( got my internship there too ).

Other than that, you can sign up as a freelancer on of the several freelancer boards ( Upwork, Fiverr, etc.) to get work ( you’d be able to apply for those specific projects that you’d like to work on ).

But of course, all this comes after you have a certain level of proficiency in your industry.

Any advice for students specifically ?

Plenty, actually.

As a school student, you’ll have a lot of assignments and other important work to attend to. This will influence how you plan for learning to code and also working on projects.

For example, I only set out to learn a new technology when I know that I have plenty of time on my hands. Learning to code anything is only effective when you have a lot of continuous time to work, because maintaining continuity is key when you’re learning to code. If you learn on one day, then again 3 days later, then again a week later, you are not going to understand a thing ( this one took a lot of failed attempts to understand ).

You might also face another problem, time crunch. You probably won’t get as much time to hangout with friends and binge the Game Of Thrones the billionth time. Programming might not require you to be a brainiac, but it surely requires you to be working regularly.

And once you get the hang of it, you might go months without really coding much ( or even at all ), and you’d still retain most of what you had learnt ( and a simple look at the docs would help you get in pace again and remember what you’ve forgotten ).

And … what next ?

Well, that’s up to you.

Once you’re a programmer, you can work on a whole lot of stuff. You can go about making websites for local businesses or finally build out the idea you had and wanted to execute.

Or you can network and meet other people, get an internship, or even a job at a startup. You can also step into some other fields of development, now that you have grasped the basics of programming. You might learn to work in other disciplines of computer science or even other fields, like making a machine learning model to predict heart disease given certain parameters, or make some cool stuff that you hold pride in building. Or go a little more invested and start an agency or something.

There’s a lot that you can do.

And with that, I hope you now have some idea about how to approach the seemingly daunting task of learning to code as a school student.

Make sure to leave some claps if you found the article useful, and do leave some comments, if you have any.

Thanks for reading this!

--

--

Aamish Ahmad Beg
Flutter Community

Software dev, Business and Self-Help enthusiast. A student in his 10th grade. Flutter developer, UI designer.