DEV Community

Andy Zhao (he/him)
Andy Zhao (he/him)

Posted on

How did you first start out learning programming?

My friend started learning Python on his own, and as a developer it's always great to see someone interested in the field. Of course, I was still a bit skeptical as to whether he was going to continue learning, but so far he's doing pretty well on his own. He started off with Codecademy, but found that it didn't really go into depth for mastery. Then he tried YouTube courses, and it went okay, but for whatever reason didn't like it as much either. THEN after that, he started PyGame, which seems to be his favorite, but he also tried Pluralsight since he got a free three month trial (going alright, I think). Now he's following Odin Project, or something like that.

Anyway, it got me wondering how everyone else started learning, especially since I couldn't really offer him the best advice on what to try. My experience learning programming isn't quite the same as his, and I had access to opportunities (coding bootcamp, for ex.) that he doesn't.

What were your first steps getting into programming, and what do you know now that you wished you did?

Discussion (33)

michaelgv profile image

I got started with old university textbooks from my father, they taught HTML 1.0, at the time, state of the art - I read them cover to cover in an evening as “light reading”, and five days later I had my own site on the internet. I read the book and realized “reading isn’t cutting it for me, I need to just do” - so I did, at the time my father was into home labs so he got me set up on the net, and I’ve used that place for 5 years; now fast forward 10 years later I’ve got my own home lab, and teach programming in my free time.

If I could give advice to younger me, it would definitely be: “learn C first, then focus on other languages” - I unfortunately did the web stack first, and after years of doing that, C/C++ was “messy” to me, so I feared it; now I’m proud to say I do know it generally about how it works at a higher level

mauricehayward profile image
Maurice Hayward

interesting advice. I definitely feel that after learning a lower level language like C and a higher language like python, other imperative languages are easier to learn on the fly.

andy profile image
Andy Zhao (he/him) Author

Like @mauricehayward said, interesting advice. Most folks nowadays learn a higher level language like Python, Ruby, JS, etc. first. Do you think that C/C++ are not as hard as people make it to be?

michaelgv profile image

The language itself isn’t hard in my opinion, but we, as developers, have put this barrier around it in a way and warded developers away, almost like an “elite” class

Thread Thread
pim profile image
Pim • Edited on

C++ was one of the first languages I used as well. Albeit only to a very introductory level during an enrichment program at a local university when I was in high school. I'm doubtful anything I learned then has actually helped me in my career. But you never know. I think the big issue with systems languages, like c++/c, is that it's difficult to produce something meaningful in the first little while. Considering most people are results driven, especially with respect to learning, I posit that this is the main reason most people use a higher-level language as their gateway drug.

pim profile image

In general, I don't like this idiom. You should learn the tool that enables you to accomplish what you want. If your goal is to make a simple web application. It hardly makes sense to start off learning C. Can you imagine how discouraging that would be for a new programmer? I'm a seasoned programmer at this point, and I still don't like much about it.

tam360 profile image

i started coding after my 1st semester in EE. My sister told me that programming as a skill is really important at professional level whether you're doing Electrical/Computer Engineering or Computer Science. She recommended MIT's Introduction to Computing with Python at Edx. That course hooked me instantly. Learning curve wasn't that steep in terms of programming language. However, it the logical thinking part of the whole course was really challenging but it was worth it!!

It really helped me in learning C++ later in my college life.

P.S python is love!

homerdalords profile image

early 90s, They were two french magazines hanging out at home. "Linux Planete" and "Login:" (previously Amiga Dream) and i could buy the previous month edition for 0.8$. bundled with distribution CD's (SUSE was like 7 CD's), programming tutorials and stuff.

What hooked me in were two game development tuts, one with Blitz Basic (meeh) and another one with Python/Tk/Pygame (Yeeh) that taught me basic OOP concepts.
that was the hook, then the internet came and finding resources wasn't that hard anymore.

andy profile image
Andy Zhao (he/him) Author

Awesome, good ol' internet bringing in the resources.

omawhite profile image
Omar White • Edited on

I first tried to learn java and JavaScript back in high school to no avail. Once I got to college I tried again, this time in actual CS classes and it finally stuck. I got started making web apps using Django and have recently been picking up some modern JavaScript stuff.

mauricehayward profile image
Maurice Hayward

I first started to code during an internship at NASA. My mentor was like I could either do I these hard physics calculations by hand or have the computer do them. I choose easier route and learned MATLAB. Honestly, during that internship, I learned just enough programming to get the job done. Later I learned the fundamentals of programming through a programming python course at Uni.

piotroxp profile image
Piotr Słupski • Edited on

Ha !

I first started programming having about 8 years if I recall correctly.

My father bought a computer and wanted me to play some games. Instead, I started hacking some marqueess in html.

I perhaps dissapointed him, but when he understood what I did he bought me books on visual basic, and later on I took over the book buying business on my own, spending most of kidcash on Wiley's.

Good times, good times...

mnivoliez profile image

My first Programming book was "Fortran". I switched to python soon after. I would simply said that I like to make stuff, and I love work well done. And I can't stand to not understand what's going on. So I wanted to do something, didn't work, searched why, makes it work, repeat. That was my course of action.
And today, well I learn mostly from others.
If I could give advice to new programmer it would be: don't close your mind, search for what your tool is design for and if it does not suit you, pick another one.
Again, the code isn't that important. The problem you are solving with it is. I should have learn that first.

danjconn profile image
Dan Conn • Edited on

On my 14th birthday, my great grandfather got shafted at a second hand store and got me an Amstrad PC1512 with an 8086 processor when 486s were the norm. The shop refused him a refund so we were stuck with it.

I soon learnt that nothing was really upgradeable. Some due to the age of the machine, others due to Amstrad design choices (power supply in the monitor etc).

I decided to try and write programs for it each week so I could say "look grandad this machine is really cool". I appreciated that he had spent a lot of money on it and I didn't want to come across as ungrateful.

I first learnt BASIC, then Turbo Pascal, then I even dabbled in Assembler.

I started writing simple games and utility programs. Then moved to writing my own word processor and more complex games. In the end I tried to overclock it by manually soldering direct to the motherboard.

This didn't work out and it set fire. And that was the end of that.

What I considered at the time to be the worst birthday present ever actually turned out to be the best and most useful one. If I got given a 486 that I could have just played Command and Conquer on, I doubt I would have gotten that deep into programming. And if I hadn't had done that, then there's no way I'd be doing what I do now! Thanks great grandad, you were an awesome role model.

andy profile image
Andy Zhao (he/him) Author

Awesome story dude!

danjconn profile image
Dan Conn • Edited on

Cheers dude!

nomadicvince profile image
Vincent Moore

I taught myself HTML while i was a sophomore in college in 1996. Over the years I picked up JavaScript, PHP, Python and GLSL. I love learning web technologies, so learning about anything and everything is fun for me.

jfrankcarr profile image
Frank Carr

I'm on the older side so personal computers weren't around when I was a kid in the 60's. However, this was during the middle of the Space Race and that excited me so much that I started learning trigonometry and other advanced-for-my-age math. To facilitate this my parents bought me a Pickett N600-ES slide rule, just like the ones that went to the moon. I also got into model rocketry and learned how to do my own telemetry using the very limited tools and budget I had at the time.

I guess I wish I had pursued it further as I moved on to college but various outside influences and distractions pushed me in other directions for a few years. When I got back around to computers it was during the initial PC boom so I learned BASIC, C and MASM.

mattlancaster81 profile image
Matt Lancaster

I started out in the most mundane way, Junior High School. We only played with QBasic, but it got me interested and propelled me to take anything that our High School offered.

Now, I'm 13 years into the industry and even obtained a Master's degree.

andy profile image
Andy Zhao (he/him) Author

Nice, did you learn on your own when your high school couldn't offer enough? That was the case with my high school, they had so few resources that only three or four comp sci classes offered, and led me to not want to try it.

buinauskas profile image
Evaldas Buinauskas

I started with my old mobile phone. I used to find mobile web pages (Wap, not Web) source and build something myself. Initially it was just wml, then php and later databases. Everything on a black and white mobile screen. 🙂

imastee profile image

I started loving programming when i was like 12 years old.

I was on an online forum platform called Forumfree where you can create a personal forum about whatever you want.
I started playing with html & css at first and probably I thought I was an hacker because with some little code I could change the background of a page! It was magic!

I started programming seriously when I started university where I learnt the basics of Java, Sql and something about Javascript but it was nothing compared to what I learnt now that coding is my job.

olal profile image
(ⓞⓛⓐⓛ 🇰🇪 II) • Edited on

With no real background on programming concepts or relatives familiar with computers leave alone how to code, I learnt how to program from a roommate in the university. I am not even doing a CS; but a B.A in communication and media,so I found it a bit hard and strange to grasp the concepts...and guess what?!?😅 It was just HTML! I hadn't gotten into the real stuffs (I mean the likes of PHP,ES6, Java bla bla bla) but I was determined to know how to program. My roommate (he's currently a 4th year CS student at a local university here in Kenya) handed me an outdated PDF book on "Introduction to HTML and CSS, How to Build Websites", which in fact I wasn't aware that it was a bit outdated 😂😂😂 only to try to catch up with the reality which was 7years ahead of me😂😂😂.
I mastered html5 and css3 on my own as they were the building blocks. I downloaded many Pdf tutorial books, most of them free but not up to date, however, I still found them relevant. I introduced myself to PHP and JavaScript all by myself as they were also necessary. I joined github to learn and I still consider myself a novice with no single repo or contributions😂. I'm on twitter and from there I got to know ...
Actually all my programming I've learnt from freely downloadable PDF'S on the web. At the same time I make sure I catch up with any updates on the programming languages of my choice (in this case JavaScript and PHP).
I believe CS is not a prerequisite for knowing how to program. And I have been making tremendous progress to my belief...and life moves on 😁

domin profile image
Dominic Sears

I started by watching videos of C++ tutorials on YouTube. I didn't really understand it though, I was just typing whatever was on the screen. All I knew how to do was to get some text going on. Maybe I just didn't think too much about actually listening and trying to understand what was going on, or maybe the guy in the video didn't explain it very well.

I end up learning it in college. First with Java and then C++. I learned the basics about variables, concatenation, loops, conditional statements, and basic arithmetic. Throughout the courses, I started learning about object-oriented programming, containers, functions, and creating our own libraries.

Honestly, in the beginning, it was challenging, but now I look back at it like it's a piece of cake. Learning a new language is now all about the syntax and features for me.

lozadaomr profile image
Omar Lozada

I got started through university. Still going through uni didn't pave my way to being a dev.

Joined a startup had to learn a lot by existing examples -- we were both just out of college at that time.

Followed mostly YouTube videos and online tutorials.

Additionally I started attending local meetups/workshops Drupal, PHP. Which really helped me get out of my shell and ask others for help.

I'm still torn between what to tell my younger self, since right now I'm spread thin not really specializing on something specific.

  • Maybe don't stay so long at school, start joining local tech meetups early on.
  • Focus on making things work first. (Hard lesson when you're also trying to implement TDD right away)
inozex profile image
Tiago Marques • Edited on

I've started with about 16 years old, thourgh a PDF (translating) "The Hacker Bible", and at the end had an example of how to make a trojan (believe me, that piece of code was nothing as a trojan), in Delphi (Pascal OO for who doesn't know). I didn't did it right away, but it was enough for me to interest for real in programming (at that time I already knowd a bit of HTML and CSS, because HI5 🤣 social network, and Blogger [Blogspot] sites).
The first programs that I made, I've used AHK Autohotkey, it's more like a scripting language, developed with C++ if I remember.
And then, I started with Delphi, and I made lot of programs with it.
Nowadays, and since some time, I'm more in web technologies (last 6years)

mbritton profile image
Mike Britton

English major 20 years ago saw a cool hover effect in a browser, and discovered it was done with "JavaScript". Began playing with JavaScript and applying it to both fun experiments and clients' business problems. Found out the syntax was similar to other languages, so I branched out to middle tier and backend coding. Now I've come full circle, and it's JavaScript on the backend.

mathur_anurag profile image
Anurag Mathur 

This is the typical situation in India for many of us, YMMW.

I started programming as a mandatory subject in my 10th std of ICSE board curriculum in India. Learnt Basic programming. Then moved to Cobol and Fortran for 11th and 12th ISCE board curriculum. In my Engineering course for Computer Science, had C as the language from 1st semester. I used to swear by a book called as "Let us C" by Yashwant Kanitkar then.

This was all 15 years back. Courses and curriculum have been revised and new students following the same path would be learning entirely different languages, and curriculum.

Professionally, I started on C++ during my first employment with a start-up, and then moved to further lower level languages C and Assembly as time progressed there. C++ wasn't easy to learn and use initially, but the code so beautifully structured that it made life easy.

I still feel that learning an easier language (Basic) as the first language made Programming fun, interesting and concepts easy for me. Wish something similar could have happened professionally as well.

cess11 profile image

In the nineties I started out with C64 BASIC and a bit of Comal80, since this was what the machine my parents gave me required.

This was a good introduction to some low level concepts, like manipulating memory directly or deciding program flow by using a small memory space as an extra stack or hackish let-environment.

Next was C, HTML, C++, QBasic, Java, JavaScript and SQL, at -00 and the years after. It took quite some time before I discovered lisp languages and the rest of the functional family, with Haskell and OCaml being the ones I dabbled most in before Clojure showed up.

Somewhere along the way there was some python and other languages too, mostly the ASP web development stacks (classical as well as .NET) but also VB, C# and .BAT scripting.

If I could give eighteen year old me a tip it would be to stick to C++ and Common Lisp, and start working as a programmer as quickly as possible instead of trying out all the other things I've done.

dageci profile image
Davor Geci

It was 20 years ago, so I don't think that it would help your friend. ;-)

But, with 20+ years of programming and 15+ of building companies I would suggest this approach:

Learn and work on your reputation at the same time.

I have spent a lot of money on books, seminars, Udemy courses and a lot time on free resources.


My time is precious to me and yours to you too.

If you invest in your knowledge and yourself $30 per month and get a world-recognized certificate that you could also place in your resume and LinkedIn profile, recognized in the business world, that would mean you're doing both things at the same time.

So, learn from online courses that give you at the end this certificate.

Work on your LinkedIn profile from day 1.

But be careful with connection requests, not to be banned. Few of them per day is ok. And definitely include a connection request message.

Fill all the sections in your LinkedIn profile.

When someone accepts your LinkedIn connection request rate him for his skills in hope that he will also rate you.

How to find potential connections on LinkedIn?

Do not waste your connection requests on everyone.

Join the LinkedIn groups from your niche. And look for those people who post and comment and who are doing it recently.

Because some open LinkedIn profiles and rarely or never come again.

Clean up your connection invitations from time to time.

I have an article on certifications and online courses, you can read it here:

The Secret to Mastering Programming Language & Obtaining Employment Benefits: A CEO & Programmer's Perspective 2018

Hope this will help your friend.


jrohatiner profile image

When I got my MIS in 1989 there were not a lot of women in tech. I ended up dropping out and raising 2 beautiful daughters for 15 yrs and when I returned I took every online course I could take to catch up. Since then I have learned js, html5, css, node, php, ruby, a little python, aws and electrical engineering online. If you really want to code it’s there for you. I used Front End Masters,, pluralsite, stackoverflow, edex, tutsplus, codepen, and on and on! Now I pay it forward with my own site. I give newbies free tutorials in every language I know! Bless the day! Namaste!

chrisvasqm profile image
Christian Vasquez • Edited on

Started by checking W3School, YouTube tutorials and Codecademy. Nowadays, I normally tend to check courses on Udemy and Udacity.

andy profile image
Andy Zhao (he/him) Author

Udemy is a huge hit or miss for me. How do you figure out a course is worth the money?