I don't have a CS "degree", but having taken some CS before dropping the major I certainly learned enough about code before quitting and rediscovering the craft later.

I was just thinking about how much my self-taught time was really just online teachers I didn't know personally.

Kevin Skoglund's Lynda.com courses and Ryan Bates' Railscasts were basically my teacher.

My true origin story is Geocities in 7th grade. There were a couple other kids with their own websites at the time and a friend of mine started a site for his band. I thought it was the coolest thing ever.

I didn't consistently have access to a home computer growing up or else I might have stuck with this stuff instead of falling in and out until I was an adult.


Around the start of 2017 I started to grow quite weary with my job in commercial and social research. It just so happens at this time a mate from school was looking to improve his mentoring and coaching skills for programming. He was trying to find someone to serve as his humble guinea pig, and given my circumstances, I was happy to oblige. Pair programming and TDD via Codewars katas was therefore my entrypoint into the world.

I think what first struck me was how fun and accessible it all was. Beyond general IT classes, there wasn't a great emphasis on programming in the UK curriculum when I was at school; as a result I'd often considered it an esoteric career that only an exclusive few could do. So enjoyment in mind, I decided to carry on with the mentoring - largely consisting of weekly pair programming sessions after work over a few beers. Shortly after, I handed in my notice and, with some trepidation in April 2017, quit my job in research to focus on learning to code full-time.

At that point I had developed an interest in web development and was primarily working on mini projects, FreeCodeCamp and YouTube tutorials in tandem with the mentoring. I also went to meetups in and around London. There's a great community in the city, and I found it immensely helpful being able to bounce thoughts off people and listen to devs share their experiences.

I got into a rhythm of these activities and in late 2017, after sending a few applications out, I was offered a position as a junior frontend developer for a startup based in the city. That's where I'm currently based; it's all good fun, and with a great community of devs nearby, I feel comfortable working in programming. Definitely feel vindicated having taken the leap!


there wasn't a great emphasis on programming in the UK curriculum when I was at school; as a result I'd often considered it an esoteric career that only an exclusive few could do

its insane how widespread this ridiculous misconception is globally.


Its quite unbelievable.

Fate, honestly. I applied in University for two things, Teaching and Computer Science (honestly because those two words sounded cool together). Got accepted for both but there were complications with teaching enrollments during registration so I took CS.

Before then, I knew only FL Studio and Virtual DJ. This was 2014.

First semester felt ridiculous. After most classes I'd say to myself "I know we're just being introduced to programming but Microsoft Word doesn't look like it was made by an array sorting algorithm"

Right when my grades were at their worst, I looked at reapplying for mechanical engineering somewhere else, then there was an event organized by a students' society where a lecturer gave a talk on Android programming and Software Engineering. My life changed right there and then. I wanted to learn everything! Of course at first that didn't help me academically as I was overwhelmed by information available on the web. At the start of the following year, I reregistered Computer Science with a different second major (calculus showed me flames, I had to ditch it) and by the middle of the year I had taught myself enough to host my own Android and Web dev tutorial classes for my peers. Varsity came with theoretical knowledge that was easy to consume as I would have probably implemented it somewhere following an online tutorial i.e. while studying design patterns the MVP made sense then, after I've been struggling with its existence and use in AngularJS.

I'm currently finishing up on my second major to complete my degree.


First semester felt ridiculous. After most classes I'd say to myself "I know we're just being introduced to programming but Microsoft Word doesn't look like it was made by an array sorting algorithm"

Right when my grades were at their worst, I looked at reapplying for mechanical engineering somewhere else, then there was an event organized by a students' society where a lecturer gave a talk on Android programming and Software Engineering. My life changed right there and then. I wanted to learn everything! Of course at first that didn't help me academically as I was overwhelmed by information available on the web.

Sounds a lot like how I had felt at the time, but I didn't really discover my place until after I'd dropped CS. My school offered very little in practical software development. Only CS and Math.

I had already changed majors out of computer science. I had gotten into tech entrepreneurship but thought it was going to be someone else's job to actually make the stuff. I'd do the marketing. Along the way I stumbled across Ruby on Rails and finally found a platform that empowered my creativity.


I also almost dropped out for the very same reasons but I only held on because my first attempt in freelancing and a startup failed, (great learning experience). Went back to the drawing board, and class. I've learned so much more from then, I'm just waiting for my eureka moment now.


I'm "self-taught," meaning that I learned from the community of developers around me and on the internet. I learned largely from sites like The Odin Project and FreeCodeCamp.

My first software engineering job came through a recruiter who contacted me because I networked my way into a handful of internships that gave me real-world experience.


I was around 11 or 12 years old when I got into doing dolling pixel art, bunch of girls teaching other girls how to do websites to showcase our dolls hahahaha it was my first experience with web development even though it was very basic html and css. Funky chicken was my main resource site ~

Later on I wanted to study graphic design but in the end decided to study computer engineering, my first real programming experience was with pascal. Had lots of fun during my studies. Had my I gotcha moment in structures & algorithms 2. I don't know how I managed to pass my subjects before, but that's when I finally understood how to program.

I still want to study graphic design (or take an art course) in the future since it's a bit difficult for me right now, so I just look, get inspired and drool with everything designers and illustrators showcase in sites like dribbble, instagram and uplabs. :3



Man, what a blast from the past ๐Ÿ˜‚ I was a big fan of that site as well! Thanks for sharing your story.


what if I told you...


it's still alive!!

I was huge fan too, it was my favorite resource site when I was a kid :D


I started programming as a sophomore in high school, trying to code a text-based RPG on my TI-83+. It was a horrible morass of ifs and gotos, since I didn't know how loops worked =P

I then took some C++ and Java classes my junior and senior year, and majored in CS in college. I did a lot of hacking on open source stuff during college too, which really helped fill in some of the gaps the more academically-oriented cirriculum had in it.


A text based RPG on a calculator, that sounds fantastic!


Trying to code a text-based RPG on my TI-83+

Youre hired.


I grew up around popular science and sci-fi magazines and always loved reading about tech from a very early age. When I was 7 I came home from "vacation" to find my father had purchased a Tandy from Radio Shack. This was shocking to me, we didn't have any money for this. I spent hours and hours on it learning how to do things. Eventually, I pirated a very early version of Visual Basic and used the IDE to learn what things did what. This lead to creating some applications, websites, and even helping family members who were already in engineering positions within a few years. I never looked back and have known what I wanted to do since the day I wrote my first VB application.


Tandy was fun! My friend and I were able to get free Tandy parts that people were throwing away (this was in the days of windows 95, so Tandy was obsolete pretty much), and we loved messing with them :)


I am a cs major, but a self taught programmer. I learnt all the theoretical concepts without enough practical work in school. All I can saying is that teaching myself to code via a small community of friends and materials through the internet has helped me understand and get a better grasp of what I was being taught in college


At first I blamed school for this. I later realized that if they actually taught us more tech stacks and frameworks, a degree would be outdated even before graduation.


I wrote my first program on a Commodore 64 sitting on display in the center of a mall at Christmas time. My mother had left me to wait for her while she went shopping and when she got back there was a small crowd around me and a multicoloured "My name is..." rolling up the screen infinitely. It was the 80s equivalent of "Hello World". A year later they bought me my own Commodore 64 and I began typing games in "BASIC" from a book I bought called something like "38 Games You Can Program Yourself".

When I graduated high school I taught myself dBase IV/Clipper and later learned C/C++ which got me my first gig in telecommunications. That's all there was in Canada in those days. Eventually, I found my way back to my first love - games.


My C-64 programming progress was :

10 PRINT "Hello"
20 GOTO 10

Then to make it fill the whole screen using a trailing ';' :

10 PRINT "Hello ";
20 GOTO 10

Then realised putting the GOTO on the same line made it run much faster :

10 PRINT "Hello "; GOTO 10

It's all been downhill since then.... ;-)


Cool, I had the exact same experience.
That single semi-colon (on a TRS-80) changed my life... 40 years ago.

CS degree, developing Internet applications since Gopher days.

Occasionally get the same ';' feeling with new JavaScript features.

Now take what Uglify creates for me as a starting point,
and make JS code faster and tinier


First week of community college at a Computer Information Systems class. No actual coding is involved actually since the class is to learn Microsoft Office (I was bamboozled)... But professor actually taught another CS class and announced an event called Global Game Jam (A 48-hour coding sesh just like Hackathon, but focuses on creating games).

I decided to go even without any prior coding experience besides writing "Hello World" from YouTube the night before. I was put on a team and since I had a background with music and can't really code, I was in charge of making SFX and music.

Long story short, despite not coding at all in the event, I fell in love with the process of working with a team to create something completely messy, buggy, yet wonderful.


Hah! I found the one OTHER "how'd you get started" post that mentions music... Here's the second:

I went to college to earn my Bachelor's in Viola Performance. Yes. You read that correctly.

However, the music school at my university shared the same campus as the Engineering school. Technical skills started dribbling in by osmosis.

I wasn't really coding until a few years later though. I spent the years after college working for a typographic media services company where I learned the craft of typography and book and journal layout. This experience led me down the street to a startup (this was the mid-90's BTW) who were looking for people who could write automated typographic "stylesheets" for their very industrial SGML-based authoring/publishing solutions. It made more sense to teach a typographer programming than to go the other way around. CSS anyone? Yeah. Stylesheet languages have never been functional, although the results of what stylesheets do have often been based on the ability to test conditionals or a function return value.

Then the XML years happened. I got my database feet under me during this time. I wrote more stylesheets and XML Schemas and configured lots of XML-based software solutions while dabbling in ebooks and WordPress just because.

Ebook and ebook production workflow architecture became a full-time job in 2012. I spent some time working with various standards committees and publishing accessibility groups like the IDPF, DAISY, and the W3. I occasionally debugged EPUBs running on various devices and reading apps. Which meant reading JavaScript and understanding the concept of frameworks. I stayed in ebooks until just last year when I made the leap back over to software by joining Deque as a technical writer who is just technical enough to be dangerous. I'm leveling up my JavaScript, Node, and other stuff these days. Especially github. Which is not as easy as everyone says it is when you've worked in CVS, SVN, Clearcase, and other version control systems. Git moves terminology around and re-orders the workflow enough to confuse people with old school version control backgrounds.

I'm also refamiliarizing myself with CLI's which I haven't had to use since the early oughties when I had a Unix terminal to work with instead of a laptop...

Any specific learning was done as needed, on the fly, and very occasionally, through a course or self-study. Lynda, Pluralsight, Frontend Masters, and the others didn't come along until very recently in my timeline. I was a beta Safari Books Online subscriber and a paying subscriber up through the first quarter of 2016.

Bottom line, growing up in a university library (my mom was the circulation lady) has its advantages. You learn how to find stuff. Growing up two doors from the computer geek family on the street (the dad was the first Computer Science PhD to graduate in my state) provided the advantage of knowing what a computer was outside of school. Macs were just becoming a thing when I started high school and my dad insisted I learn to type in case the viola thing didn't work out...

tl;dr: violist, typographer, learned to code on the fly as required, when required. Didn't have to live with mom & dad. I still play viola though. Mostly chamber music these days. I haven't decided if I want to pursue the "code by day, orchestra by night" lifestyle again.


"Code by day, orchestra by night" sounds like an epic introduction! Thank you for sharing your story! Very unique start and definitely memorable.

Thanks for reading! It is one of those stories that no one saw coming and canโ€™t be made up!


My first exposure to programming was during my junior year in high school. They were offering a "Computer Science" class and that sounded kind of interesting to me. We learned how to program on Macintosh computers using Apple Basic.

When it came time to pick a major in college about a year later, I couldn't think of anything except Computer Science. So I jumped in the CS water and almost immediately started to drown! And this was just "Computer Science I" learning Pascal.

I'd say by the end of that first semester I finally had my light-bulb moment (regarding specifically what, I can't remember). From that near-desperate moment on, I have been involved in programming for a living (after I got out of college, of course).

I got stuck in the dying world of X-Base programming right away (FoxPro) even though I was supposed to be a COBOL programmer. I'm kind of glad they had me learn FoxPro, but I definitely overstayed my welcome in that language. I've been pretty much a .NET developer for the last 10 years, fortunately!


I took a BASIC class for a week around 2~3rd grade and stopped as I didn't understand English (back in Korea because of RUN command.) ๐Ÿ˜….

I was going for an EE (Electrical Engineering) degree in college, which required taking a programming course (Modula-3).

I couldn't stand 4 hour-long EE labs but found myself writing programs for hours and overnight. That's when I thought that it was what I wanted to do.

So I went for a CS degree ๐Ÿ™‚.

My first job was a help desk position but a programmer at the company left abruptly so I volunteered to take his position and been programming since then.


My first actual exposure to code would have been Geocities. It wasn't anything but editing some HTML, but it got me interested. Years later I took a class on it in high school, and several years after that I went through a boot camp. Since then it's just been a ton of self-teaching (thank god for Udemy).


I am a computer kid of the 80ies with a not so straightforward relationship to my current job as a software developer.

One day, my brother brought a machine into our living room, plugged it into the TV and started typing. After some hours he was done and proud of what he did. What was it, that made him proud? He typed the sourcecode (known at the time as a listing) into the machine and the result was: you could move an X which was your "player's characacter" and make it "jump" over "O"s which were supposed to be "Barrels". This was around 81/82 and I was about 6 or 7 at the time and the machine was a ZX81. This got me hooked. Short after that, I wrote my first BASIC program ("number guessing")

Then I made a travel across the computing landscape of the 80ies. The next machine was the successor ZX Spectrum which had a color display. Later: Instead of a C64, I bought the C128 (the "serious" machine) together with my brother. He used it for typing his business letters, I used it mostly for gaming. My friend too bought such a machine and we wrote our first textadventure (a bloody mess of print, input, if and goto). I was always hypnotized by the beautiful creations of "cracker intros" which is some kind of tech-demo and which evolved into what is nowadays an art form in the "demoscene". But to have a smooth scrolling text on the screen, you had to know how to program a thing called raster interrupt. In order to program this, you had to learn assembly language - which I mastered to a certain degree but was not really successful.

The peak was, when in the late 80ies the Commodore Amiga arrived - a machine, which blew my mind: It not only had great graphics and sound, it too had a graphical user interface ("intuition"). There I too did some steps in programming and made contact with the C language and with a meditating guru inside my box. But programming the Amiga seemed harder. Paradigms had shifted: object oriented programming slowly arrived.

With the rise of the PC in the 90ies and Microsoft swallowing the market, the AMIGA market and my interest in computing and programming declined.

When I finished highschool, I found another interesting field of interest: humanities, resp. philsopophy. So I went to college to study philosophy and german studies. But the latter was rather uninteresting, so I dropped out and got my first real job as a bookseller.

Selling books is a hard job which in turn resulted in me having several phases of unemployment in my CV. Somehow in the early 2000's I rediscovered my interest in IT. But I got my first job not until 2010. Till then, I used my spare time, reading books, learning things on the internet (tutorials, videos, blogs), listening to podcasts etc.

Since 2010 I am a professional software developer. And I am 99% self taught.

Do I want to add a degree to my CV?

I have to admit: I am too lazy for that :D


Your story sounds a lot like mine although I went the TRS-80 route after my zx81 instead.


I graduated with a CS degree after changing my major 120 times.

Learned some HTML in high school.. didn't associate it with coding, didn't know what coding was. My idea of coding was something like code.org teaches today. I was always good with computers in general, but when it came to choosing a major in college for whatever reason it did not cross my mind as a feasible option.

Decided to pursue Chiropractic - learned Chiropractors have to work on cadavers and changed to a Ultra-sound Technician route. Took one class related to that, and repulsed, I changed to a Math major. Pursued that for about a year and half, then ended up accidentally taking an intro to programming class. I really enjoyed it and had some conversations with the professor, did some research on CS careers and never looked back after that.

I was way out of my element in the CS department.. never removed a virus (only downloaded them lol) or could even tell you the internal parts of a computer, but it all came the more I immersed myself into it.

Primary benefit I feel I gained from my degree is "learning how to learn" for myself. Other than that, on the job experience has been a way more powerful learning tool.


I was always interested in making a modular phone. That's what drove me to learn how an operating system works, and made me dive into programming. I did this in 7th grade, with limited equipment (a PC with Java installed). It's always been my interest in creating AI that'll save lives and help the world solve it's current problems, so I started looking into machine learning a while back and now here I am, 19 years old, no CS degree, with lots of projects to fall back on. What's yours?


When I started at my new school in the second half of 0th grade, there was this program on the computers called Fortรฆl.Nu (Danish for Tell.Now), where you could add backgrounds, objects, characters, text boxes and dialogs. You could link things up so they would happen after each other. An example could be:

Make Man say "Hello!".
Hide Man.
Show Walking Man. (Where Man was of course)
Move Walking Man to here.
Hide Walking Man.
Show Man. (Same as before)
Make Man say "Now I'm here.".

Now, you wouldn't write this out, but rather you would set an action for 1 or more things, and then either go to the next frame and, or drag an arrow from it to to whatever was gonna happen next (Mostly for interactive stuff, I'll get to that).

But, the most amazing thing was (At least for 6 year old me) the ability to trigger the action of something when it was clicked. Now, this doesn't really sound like much to most people here, but to 6 year old me, this was the coolest thing ever. I mean, it wasn't Turing-complete, but it didn't need to be. Programming is programming whether you type out commands, drag blocks around and place them together, or just specify stuff that a computer should do.


My dad was a programmer, so I was always around computers growing up. I did some basic stuff as a kid (very basic BASIC, and modifications to autoexec.bat and config.sys)

As a senior in high school (2003), I took my first C++ course. At the same time, I discovered PHP, which I felt was very similar to C++. From then on, I taught myself PHP, MySQL, and began building websites for myself, friends, and local businesses.

Afterwards, I took a few more C++ courses, as well as some assembly courses, while working on a bachelors in electronic engineering. Despite focusing my studies in that direction, my heart was always more into software than hardware.

Late 2009, I got my first iPhone and became intrigued with the iOS ecosystem. While I dabbled with Objective-C a little at the time, I didn't fully dive into it until 2012. I released my first app in 2014. Got my first professional iOS developer position in spring 2016 (still there).

So, for a lot of what I've done, and everything related to iOS and my current profession, as well as anything that's made me money in the past, has been self taught.


I started out reading the BASIC manual for a TI-99/4A computer that my uncle gave me when I was in the 4th or 5th grade. I devoured them and several small magazines that had examples on the last couple of pages (3,2,1..Contact, for example).

When I was in the 5th grade I figured out you could view the source code for most Apple ][ software by pressing Ctrl+Reset. My friends and I poured over the code for Karateka and Oregon Trail, as well as the school's grading software (all in BASIC).

When I hit junior high, I learned C and C++. I wrote a few small, text-based games which I no longer have.

I didn't get a formal education in programming until my senior year of high school. And then it was in Pascal. They started a C++ class, but due to scheduling I couldn't take it. It wasn't until my sophomore year that I got my first PC to play with. Until then I had to use my friends' computers or my TI if I wanted to do any programming. I would write out code on paper at home and then run to their houses, type it in really quick and see what happened.

After that, I took several C++, networking classes and OS classes throughout college and earned by B.S. in CS. I also took a single Java class as Java was still fairly new.

During college I got a job as a Delphi developer for a small company. It was something a man in my neighborhood had started up. Unfortunately, he died unexpectedly six weeks later, making me the primary developer for the company. Thankfully, the Pascal class paid off.

It was during this time that I got started with mobile development. I created my own site using PHP. I had to rewrite it about a week later because my site got hammered the first weekend I opened and it couldn't handle the load.

Now, I work for a much bigger company using ColdFusion (the old codebase), Java, Angular and sometimes React. 19 years later, I'm still going strong and learning new things (like Vue and Ruby).

I still run that mobile software company, though I haven't put out an update to my software for a few years now. I'm nearly ready for a major update with a brand new site and a complete rewrite of my apps.

I couldn't imagine what I would be doing if my uncle hadn't given me that computer. I probably would have pursued my other dream of being an astronaut or something ๐Ÿ˜.


How to become a developer according to Niorad:

๐Ÿ‘ถ๐Ÿป๐ŸŒฑ Get a DOS-PC at age 8 and do the MS-Works-Tutorial a thousand times

๐Ÿ“บ๐Ÿ‘ฆ๐Ÿป Discover QBasic at age 11 on your old 486/DX50

๐Ÿ“ฐ๐Ÿ’ก Find an HTML-Tutorial in a german Games-Magazine and start making small, useless websites

๐Ÿงฎ๐Ÿ›‘ Get discouraged to pursue tech-career due to being bad at math

๐ŸฆโŒ›๏ธ After school waste three years in an apprenticeship at a bank

๐Ÿฆ๐ŸŽจ Start drawing during the courses there

๐Ÿง”๐Ÿป.oO(I seem to be not so bad at drawing)

๐ŸŽจ๐Ÿซ Attend a secondary school with an art-focus

๐ŸŽจ๐ŸŽ“ Study communications-design (BA) in Munich, with focus on interaction-design

โ˜•๏ธ๐ŸŽจ Learn Java (Processing) and modern HTML/CSS at uni-projects

๐ŸŽจ๐Ÿ“ˆ Get design-internship at agency thanks to a band-website you made for a friend

๐Ÿ“ˆ๐Ÿง”๐Ÿผ<==(Wait, you can also do front-end? Welcome on board!)

๐ŸŽจ๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป๐ŸŽจ๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป๐ŸŽจ๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป๐ŸŽจ๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป Do mostly coding at design-internship

๐ŸŽ“=>๐Ÿ“ˆ Get hired full-time (2012 - now) after uni and learn necessary coding/cs/tech-topics on the job


It was the famous WinAmp MP3 Player for me that opened the doors to "coding".

It was a Pentium III running Windows 98. I was exploring WinAmp's installation folder and found a few XML files (didn't know what was that). I discovered that those files are used to configure the color and theme of WinAmp skins. I got curious, and played a lot with the XML, restart WinAmp to see the changes.

Then there was a famous HTML file that comes with Flash games, which simulates earthquake by shaking the Internet Explorer window. Somehow I discovered the "View Source Code" menu and discovered HTML and Javascript. I didn't understand that either, but I tried changing the numbers and seeing the results.

We got a super slow dial-up connection in 2000. I started looking at the source codes of websites, and started learning HTML. "Coding" looked very cool at that time, and I started investing time in learning how to "code" things up.

My first programming course was C++ in my school during 2003. That was the first time I saw an "IDE" --- a Borland Turbo C++ 1992 version on MS-DOS.

Later I self-taught Visual Basic 6 on my Pentium III machine, and later tried to learn Visual C++ with MFC but failed to understand the concepts.

Later in college we had 8086 Assembly and C. Assembly got my attention and tried some x86 assembly using NASM. Writing Operating Systems was a trend in online communities at that time.

The website "planet-source-code.com" has a major role in improving my skills in writing code. That was the times when PHP was so popular, and Macromedia Flash was the best way to build an interactive website.

Time flies.

Later in 2010 for my daily job I chose to stay with Java/Android, and now moved to Kotlin/Android.


> Hey can you learn a bit of HTML to help us translate our website to English better?

> Hey since you already know the basics of HTML, how about you help us renew our website?

> Oh hey we're about to build a new product from scratch and need more people working on it, since you know some HTML and CSS, how about you take care of building the UI for us? (it was a React project)

Fast forward two years and I'm working as a React dev, but I'm comfortable with working in Vue, making integrations/microservices in Node, and a whole bunch of devops related stuff


I'm just about old enough to have started out coding BASIC on an 8-bit home computer, but after that there was a long hiatus of nearly two decades when I didn't write a line of code.

Fast forward to 2006 and I was working for an insurance company in a customer service role. I'd bought a laptop with the vague notion of writing science fiction, but that petered out after a year or two. Instead I had a voucher for money off one of those Dummies books, so got one about Linux and started playing around with Ubuntu.

Within a few months I'd decided that web development was the field I really wanted to go into, so I started a correspondence course.

A few years later, I left the insurance company to start my first web dev job. That role didn't work out for a number or reasons, but the next role I took lasted over four years and saw me learning Django, Laravel and Phonegap, and working on some very varied and interesting projects.

My early fumblings with BASIC probably helped me out a bit as they gave me an early introduction to the principles of programming, even if I never got very far.


Well, I'm a International Relations BA. Since the beggining of my carreer, I was in love with electronic government, a subject which I learned more and more and when I found bitcoin. With this, I fall in love, first not because the tech part but what in economy represented a decentralized currency. My friends told me that the real power of bitcoin was the tech part, so I looked that part and I was lost ๐Ÿ˜ฑ

When I say lost, I say that I have no a single f%ck1ng clue about what is going on. Lots of .c files running with .cpp and having some pull request to make a better currency? I was like:


So, without any doubt I started my path to learn how to code, which I'm almost 5 years now. My main problem is that I don't have friends who code, so I have to do my own way. Right now, I'm finished a certification from FreeCodeCamp and looking foward to help in a project.

So, cheers!


Mine is pretty boring. When I was 6yo, back in the early 80s, my dad bought himself a Sharp PC-1500. The wikipedia page doesn't do it justice. Neither does. pc1500.com.

All I know is that he showed me that you give it commands, and it does what you said. From that point I was hooked. It was text only, although sometimes I'd plug it into the printer and send that some commands too. Mostly I liked to write stupid programs like:


When I went off to college, I started off in an EE program, but decided I hated it and went into CS.


Punchcards, mainframe once a week for two hours and zero documentation made my start exciting and entertaining.

Sidenote: I wonder how come thatโ€™s the first occurrence of the word โ€œpunchcardโ€ on the page :)


... punchcards were last used in FidoNet.

I would probably drop after such start and never get back.


I started off with Java and Visual Basics in a trade school that offers IT courses. For students who are bad with academics to work with our hands to become a computer technician or programmer after 2 years.

After multiple trials and challenges, I was able to get into a university that offers a 2 years degree due to my background using both my IT diploma and my IT technical cert from my trade school.

But I constantly wanted to drop out of my university. As my curriculum focuses on theory instead of practical knowledge of becoming a developer. I nearly gave up on becoming a developer by judging myself to be talentless in becoming a developer due my grades were really bad at the university.

It's only when I started to be exposed through a Python Conference that you can actually find a job as a python developer that leads me becoming a Django developer as a full stack developer for a local tech startup I'm currently in.

Overall I love the journey and would not think of any other way looking back to what I had accomplished to date.


My first encounter with programming was way back in 1995. I've had IBM 8086. I was sooo into computers and my parents friend was construction engineer that "knew computers" :D

I went to his home as a kid (13 years old at the time) and he taught me GW Basic. You know:

10 GOTO 20
20 IF ....

I was so excited about programming I've made an some sort of calendar app. Where you input date and the app would give you day of week ... and that sort of apps.

Then few years after, I've got my first PC (Intel Pentium 233MMX) which could run Adobe Photoshop and Corel Draw etc. and I started doing more design stuff and much much less coding.

In high school I learned Pascal which was very similar to Basic so I made lot's of simple apps.

Also I've explored Dreamweaver (read HTML3 and FRAMES :D), tripod.com and those were the cool things. Also made some Multimedia CD-s where you can click and explore around it. :)

Then when I was to apply for college I was in dilemma. Should I go for design or programming ... I was lazy and chose design ... But it was full of useless history stuff and such ... so I started learning 3Ds Max and it's scripting language etc.

I started working as graphic designer, then switched to web design and then I met my now wife. She was at CS studies and she teached me basics of OOP, but first I learned CSS and JavaScript for my personal projects. Then I entered the world of PHP, Java etc. and now I'm almost 10 years completely in programming.

So yeah, self taught if you don't count the "first teacher" and my wife :D

Thanks to Google, StackOverflow and my English teacher I'm now where I am :P


I started off as an international developmment student at Denver University (2012) and worked a non-techincal corporate admin position for about 3 1/2 not so great years.

I kept looking for ways to use my degree until that position let me go, advising me that "something in technology" might appeal to me more. So I accepted id have to do something in tech to pay off my over 100k in student loans... then hopefully go back to gradschool and be happy when I was about 40.

But God works in mysterious ways. At my first tech meetup I met a guy that ran an international non-profit who encouraged me to dive into programming if I really liked it, and turns out I really did. I SLAVEDDD at a tech support job for about a year and a half and coded every minute I wasn't at work (buring out a few times naturally). Thanks to a lot of peeps on here and around the community I kind of stopped sucking horridly at the whole thing and found a start up looking for a hard worker that was willing to learn.

If my education taught me anything its that data is extremely powerful. So Im trying to walk the line between Developer and Data Scientist for as long as I can until they put a gun to my head and make me choose. I want to use data to completely end poverty and save the world.


I graduated from university in the UK with a computer science degree.

However, when I get asked this question, I can't stress enough how much your own development experience is worth than the degree itself.

I feel that university taught me the fundamentals of computing and programming, but my own open source projects and work experience have really taught me the most.

I'm now a software engineer, primarily focused on application development, with about 8 years of experience.


My story is a bit odd.

I began "learning" programming at what I believe was 6th grade at school. At that time, my IT teacher introduced me to Pascal when the rest of the class were learning word/paint/powerpoint or something along those lines. "Learning" because it was pretty much rewriting old book of Pascal to make colorful circles on screen without understanding it ๐Ÿ˜ but I was amazed at that point.

After that class I forgot about programming for quite some time.

When I was around 13-14 years old, I went shopping with my mum, and accidentally discovered IT magazine with a link to codecademy.com. This is where I was introduced to JS.

I got stuck at for loop at that time ๐Ÿ˜ it was (and still is) the most unintuitive name for programming concept :D

So I lost interest in programming for a year or so. Again ๐Ÿ˜

Later on, I went into some IT summer camp for children. At that time I was writing a HTML/JS/PHP game which was my and my best friend's made up fantasy game. At first it was stick fighting in the small park near our homes, then we decided to put it onto the web. It was at that camp I got a domain for the game which I was able to show to my friends later on.

That is pretty much when I got hooked onto programming for real.

Here I am, roughly 9 years after my initial encounter to code, still programming, still learning ๐Ÿ˜Š my current specialty is C#


I started programming on a TRS-80 my family bought from Radio Shack. It didn't have a monitor; instead, you plugged it into a TV. The only way to save programs you had written was by saving them to an audio cassette. It was lots of fun!

After that< I stopped writing code for a long time. Eventually, I went to university and finished a business degree. When I graduated, I applied for jobs with the federal government. Their hiring process takes forever, so while I was waiting I did a few colleges courses in programming and CS.

While I was doing that, I was also working on side projects and going to lots of tech meetups. At one of those meetups, I met the CTO of a local startup. We talked for a bit, and I ended up applying for a job at the company. I met the CTO and CEO, and talked about the projects I had been working on. Based on that, they offered me a job, and I've now been working as a developer for nearly 10 years.


"I started programming on a TRS-80 my family bought from Radio Shack. It didn't have a monitor; instead, you plugged it into a TV. The only way to save programs you had written was by saving them to an audio cassette. It was lots of fun!"
Sounds exactly like it was on my TI. No disk drive, no color monitor (only a black and white TV). Best coding time of my life.


I started multiple times.

First I had a C64 where I played around with BASIC, I was in third grade so I only did basic arithmetic.

When I was 13 I did some Half-Life scripting to map behavior to keys and played around with Flash.

When I was 15 I did a website for my band in HTML.

At 16 I went to special high-school for IT where I learned C and assembler, this went until I was 19.

I didn't do anything programming related until I was 21, when I went to university (computer science and media degree) where I learned C++, Java and PHP. I also worked as a PHP/Web-developer besides my university time.

At 26 I started learning JavaScript to build fancier web front-ends.

At 28 I did a sabattical and went to university again, where I almost did a masters degree in computer science, I just didn't find the time to write my thesis hehe. I did many things with Ember.js.

At 29 I started freelancing and learn React.

At 32 I started to add back-end to my skill-set to become a full-stack developer. Did AWS certificates and learned everything about serverless I could find.


First contact with coding happened at the school. It was the beautiful C language that I learnt first, then C++ next year. Later on I tought myself Java and Android while I was in college getting my Bachelor's degree. Now I'm a professional Android developer in Pune, Maharashtra.


In my freshman year of high school (14 years old) our neighbor hosted a foreign exchange student. He showed me how to write HTML on GeoCities.

My first page was black background with a list of things I liked, each item separated by an <hr />. I distinctly remember a picture of Wolverine from the X-Men being on that page...

From there I grabbed and (I think illegally?) installed a copy of Visual Studio 6 and learned the basics of structs & classes.

My school had a computer programming elective track where the 1st class was VB, the 2nd was C++, and the 3rd was for AP classes to get Computer Science credits for college.

When I got to college, I forwent doing a CS degree, but was able to get a job (thanks to a friend) working for the school's web development department. I loved that job. It learned so much about JavaScript and HTML (and PHP) in a real-world environment.

But my degree was in Political Science and I was ready to graduate. I had to apply to graduate and couldn't do it. Being a lawyer just didn't feel right. So I took on more debt, finished the CS degree in a year, and have never regretted the decision.

My first job out of school was working for the US Dept of the Navy. I wasn't doing real programming and hated that job. I made the jump to a DoD contractor in 2013 and moved to a commercial (non-defense) company in 2017.

All along I've been learning and learning. There is no profession that is more perfect for me than this. It's a passion that I get to make money doing!


I was a Geology major and graduated with a BS degree in '95, so primarily self-taught from the git-go. First "real" job out of college was working for an Environmental Consulting company doing emissions testing at power plants, which led me into technical report writing, which led me to finding all kind of inefficiencies with the process. I was all about making things more efficient.

An aside, there was one guy doing all IT-related things there and we were on Windows 3.1 and had just converted to Windows 95. Lotus Notes was leveraged. We even had a single computer in the Library (yes, there was dedicated room with a bunch of industry-related books in it) that connected to the internet using a company AOL account. We connected through dial-up. Think about all those old-school modem ring tones you used to love. I digress, but oh, the memories...

During that time, Excel worksheets would be used to log test results, which were created "new" every time. Just think of all the time wasted...These results would be given to support staff (me) and I would create reports from the data, then pass that off to data entry staff to pretty everything up.

I learned about Excel VBA Macros from a co-worker who was also tinkering on his own at the time, and knew a heck of a lot more than me. I was fortunate enough to have him there able and willing to guide me along. He taught me a lot. I discovered that if I just record macros, that the code could repeat everything I just did manually. Woah, this is powerful stuff, Awesome! I then learned that I could manipulate this code to make it do different things. I studied the code the macros output and this is how I learned how to code. I did this for about a year and consumed about 50% of my job. At that point, I realized that this is really what I wanted to do, so I looked for full-time opportunities of being a programmer, which was in 1998, put my resume on Monster.com and was hired 1-week later by a consulting company. As they say, the rest is history...


Self-taught all the way. Currently in college for Software Engineering degree and taking classes that show nothing new and I have no idea what I'm here when I know this. Its just the first 2 quarters so I guess the hard stuff is going to get to me in the Bachelor part.

First I wanted to make a website for my dad when I was 15 so I started learning HTML. Learned it, learned a little bit of CSS, and everything looked ugly so I thought I am worthless and stopped. Year and a half later something kicked in and I started learning back again in extremely intense tempo. Learned JavaScript, and Jade, Scss and all other possible derivatives of CSS and HTML. Later on I discovered the beauty of Docs and tortured myself with using only Vanilla for 2 years because "the website is lighter that way (and faster)". Discovered Mithril.js and became really proficient with it.


I think I started programming since grade 6 with HTML, I even thought it is programming language. Now looking back, I feel a bit funny. However, it seems a good start to me.

After not so long, I kept learning CSS. I learnt both of them from w3schools site. And if you ask why. It's simple. At that time, I have no idea about web, coding, or anything relates it. And w3schools offers me a codeground to play with, so I became one of her learners. Moreover! w3schools is FREE! FREE! FREE!

A (static) website seems a bit nice after few months but I still felt dissatisfied. Then I kept learning JS. To be honest, it was a huge challenge to me at that time. I could not understand how JS works even though I did learn a bit of programming fundamental in Computer Science class in Middle school. So many things I don't about it like its function, its object, various operators, etc.

I thought, "I'm so dumb" or "I will never become a good programmer not even amateur". So I gave up for a while. But the love for computer of mine didn't seem to back down on it. I was back and kept learning JS. Surprisingly! Now I understand a bit of every parts in JS, bit by bit, better every days.

At that time, makin' blog became a trend in my country. I did it too. I means there were so many tutorial and why should I not give it a shot? The result is no properly blog was made but a whole new area was discovered, Server-side v Client-side. And trust me, this story was way better than Batman v Superman 'cause there is no Martha in it. (LOL)

With the open path to server-side, I started to understand more about JS, what's its role, its capability and how its working. In addition, PHP is also discovered too. Obviously, with so many things to learn and not a single mentor to lead my way, I soon lost my way.

Not only not knowing what to learn, the fact of lacking asset (which is computer) also gave me a long pause time. My family isn't a wealthy one so putting effort into a computer was too much at the time. One computer with two kids. You have no idea how shitty that time was. And if you have crappy bro set password on compy, you may understand what I went through. What's a glorious time.

I passed my high school years with not much programming achievement. That's time, I's starting to learn C++ as a way to understand the fundamental of Computer Science. I thought doing so could make me a professional. Be honest, I don't even understand how makefile works. (LOL)

My hands kept itchy when I went to college. The same motif happened, I got better at some old skills and discovered something new. But there is one thing that the motif doesn't have: your, the reader's, boredom. (LOL)

My origin story still have a short way to go to nowadays, but that is another story for another time. What important is I have been much better and no sign of stopping. And I hope if anyone ever meet a similar circumstance like could be encouraged a bit and don't back down on your passion for programming. About me? I doubt about that.

Thanks Kelly for open a valuable topic like this. It remind me how bad I was and how awesome I am. Thank you very much.

P/s: I also love other devs' origin story too. I think I've learnt a bit from you guys, thanks 'lot.


Like Ben, I built some web sites as a kid. I wrote HTML in Homesite back in the 90's well before Macromedia bought it. I got an associate's degree in computer science and proceeded to do nothing with it for many years.

I worked at Walmart as a cashier for a few years. Made $6.50 an hour. Went from there to Comcast where I worked in a call center for about 3 years doing support for their internet service. Then I worked in IT for a public school system for about 7 years propping up Windows 98 computers deep into the 2000s.

I left the school system and started a premium email newsletter for educators to teach them how to better utilize their technology. Refreshed my knowledge of web development and built a site for the project. I wrote that newsletter for a full year for a single paying subscriber.

I shut down the newsletter and decided to utilize my web development refresh to build for others. Got my first client on Reddit in the forhire subreddit. Then, I realized it's much easier to find work in-person. I built up a freelancing practice from there, and I now teach others how to do the same.


When I was younger, I was introduced to Python in primary school, but I never really cared to pay attention because I was too busy figuring out how game emulators and media sharing services worked on computers. I was always curious about how computers worked.

I started getting into the idea of programming when I saw people making modified Pokemon games such as Pokemon Chaos Black. I started to learn how interesting game development was to me and I always enjoyed playing video games growing up. This lead me to later wanting to major in Game Programming and move to Seattle.

Flash forward a couple years, I went to the local community college and decided to major in Computer Science. My first semester, I took an Intro to Computer Science class, and I left not pleased enough. I was eager to learn how to develop web and mobile apps. I also started getting interested in data science and data analysis.

Now, I have been learning and interacting with the areas of data analysis and software development for 3+ years. It has been a fun time!


I am 16 and still learning! But how I got started is quite interesting I think.
I love Minecraft, it's pretty much my favorite game, back in 2012 it wasn't as big
but I loved it.

There were these things called "Mods" which at modifications to the game.
In Minecraft pocket edition you had to use Javascript to make them. So that's how I got started.

After not succeeding in Javascript I said, well maybe C++ is easier (I didn't know much about programming languages as you can tell). Strangely enough, I learned the core of programming with C++. Functions, Memory etc...

So after 2 years I returned to Javascript and became pretty good at it.
1 Year after I found Rust.
I love it so much, rust is amazing. I wish it was my first language.


As a career, I started with an internship with a small (~6 employees) consulting company in my hometown of ~10k people, which turned into employment and so on.

As to learning, it started when I weas ~12 and diagnosed with a learning disability related to my handwriting, which was slow (I drew my letter forms rather than writing them, it turns out these are different parts of the brain) and resulting in my performing well below my tested aptitude. My parents put me through a brief summer school typing class, and borrowed an Apple ][ from the local school system. With a Apple programming book borrowed from the local librarian (not libaray), my father walked me through the book and I quickly took to programming. Later we got a PC and I switched to GW Basic, then went to National Computer Camp over the summer and learned C (which I proceeded to not use, but I used the learning from that to learn Pascal on my own, with Turbo Pascal 5), and then x86 Assembler the following year. At this point I was entering High School and enrolled in the algorithms class as the local college, and really, at this point I was deep in programming as a hobby. I wrote software on paper in my notebooks in classes that bored me. I also did a lot of a friend's college C homework for them and as a result finally properly learned C. Eventually I dropped out of high school (it was a bad time, a very bad time) and got a GED and then landed the aforesaid internship...

At that internship, I had to learn a language called Clipper (a dBase III derivative) from reference manuals before moving to a full position. None of that carried on to my career however. The skill set that actually led to my real career came after, learning HTML, JS and Perl on my own time from experimentation and extremely crappy reference material. (I didn't know about the Llama book, nor did I realize that Perl's man pages were as extensive as they were.)

So ... a university CS class was involved? Also some other direct instruction? Does that count as self taught still? Mostly my learning was self directed, but also not exclusively.


As a young teen i first discovered coding by making these batch files in windows that make popups, or shutdown your pc after a set amount of time. Funny stuff.

After that, i quickly discovered Visual Studio with .net making these drag&drop forms and learning .net to create some (pretty malicious xs) programs.

Loved what i could do, sticked with it, and now i'm working as a fulltime backend dev for webapps ๐Ÿ˜„


When I was younger, used to try and program Spectrums and c64s and loved it. Didn't do computer science in school?
Fast forward to full time job at newspaper doing design work in quark/photoshop/illustrator, married with young child, realised I wanted to be a dev so I started my degree part time while working full time.
After only two years of studying, we started a internet dept at the paper and I asked I could start working as the dev and we built our first site. My background in design tools helped the transition to websites and had to do everything from DB design, SQL management, back end code, html, css, images, etc. It was all new stuff to me but all the web team were new too.
Did a few years there and a few years deving at Uni and build up some good contacts. Everyone wanted web systems doing. Got my degree, some masters, worked for a startup, ran my own, now working again for someone else doing Xamarin. Just turned 50 and hope to continue dev.
My age means that I have been involved in everything from database design/manage, server management, website design, css, js, images, c# (plus countless others), search engines, e-commerce, cloud. Due to the range of stuff, I can never claim to be a master of anything but very good at lots of things. This might be seen as a weakness and modern dev jobs are more specialised - but it also means I can start projects knowing what I want from myself or my team.


I was in the gifted program in high school, and they made a class called 'gifted studies' available to us as an elective. It was a free-form class, where each student chose a project every semester, and had to set goals for whatever we wanted to learn โ€ฆ basically, designing our own curriculum. The first few semesters were mostly squandered ("taught" my friend guitar (ie. an excuse to bring my guitar to school and play around), "learned" the Japanese hiragana alphabet (ie. an excuse for an anime nerd to play around), etc.)

One day I looked over, and my friend Chris was working on his project โ€ฆ a Zelda-like video game. Like, literally, a video game that you could play, and he was making it all on his own. I was blown away. From the next semester on through to the end of high school, every project was about learning to write software. I dabbled with C++ (what Chris was using), and eventually settled on HTML/JavaScript.

By the time I graduated, I had a couple of small time website clients that eventually led to full time employment writing actual code. I am so incredibly grateful for that class, which let me "play around" until lightning struck and changed my life forever.


I completed a two-year technical college diploma for programmer/systems analyst. Graduated around Y2K when nobody had the budget to hire junior programmers so I wound up making websites using self-taught skills. It's been web development ever since!


I'd gotten my Bachelor of Fine Arts in Communication Advertising Design, and then promptly went to work at the mall. Started into desktop publishing, then administrative assistant, then doing Power Point presentations for a fast-growing management consulting firm...for a living. Got instantly bored with the Power Point stuff and ended up taking on computer support/network admin. At one point I took down the East Coast WAN due to a mistake in routing tables. Good times.

Moved "up" into "corporate IT support" and found that move up meant less hands-on, and more counting software licenses in a spreadsheet compiled from IT people around the globe.

Misery ensued.

I asked if we could have a database created to track the licenses. CIO told me "No. Go learn it." Um...OK. Took my first class in databases and relational design. LOVED IT Put my little Filemaker Pro database on the intranet with something called Lasso. LOVED IT Turned weeks of compiling spreadsheets into pressing a report button once a quarter. Got bored again and learned about something called ColdFusion that could do the same with SQL. Took that class and introduced it to our engineering group, that was stuck developing with Oracle Web Tools. THEY LOVED IT TOO Asked CIO if I could move into engineering. Was told "You don't have a CS degree...LOL...go back to spreadsheets".

So I found a job in a web agency doing development full-time in about 3 days. This was before web-based tutorials and Stackoverflow. So I learned everything else either from reading the %#&@-ing manual, asking lots of questions, or failing a lot. Data structures. Algorithms. Good coding styles. Just kept learning. Did a ton of SQL and back-end work over the years. Ultimately moved into Javascript, NoSQL and front-end frameworks. Still learning everyday.

After all this time, I've proven that there's little out there that I couldn't learn to do.

Except white-board coding interviews. shudders


My mom got me a TRS-80, one of the first desktop computers ever made. Saved programs on cassettes, like the kind you would listen to.

Came with nothing but a C:\ prompt and a green book that taught BASIC. I started writing programs on how to take over the world.


I didn't own a computer until I was well into my 20s. I knew immediately I wanted to do something professionally with them once I had one. I tried and failed several times to get an IT support job.

A friend of mine started taking programming classes at the UCSD extension thing, and he said I'd probably enjoy it, so I started taking classes at a community college. I fell in love. I could type out some instructions and the computer would do what I told it to!

I started automating parts of my boring data analyst job via scripting tools and VBA in Excel spreadsheets. I made web portals for teams at work. I tried to get into the app dev team there, but they didn't think I was qualified, so I went out and found a Jr. Web Dev job.


I was big into Star Trek gaming in the old online services (HEAT.net etc) and was involved in "fleets". I started by creating websites for the ones I was in, including forms for signing up, with Perl CGI-BIN handlers etc.

Took BASIC/Visual BASIC, and then C++ in high school in lieu of math classes during sophomore and junior years.

Decided to go to Drexel for Computer Science and graduated there with a BS in CS. Mostly have been doing web application development (backend and frontend) with some sysop stuff (Chef, Docker, etc).

Classic DEV Post from Jan 31

Functional programming is not a paradigm

Or; functional and object-oriented are members of two different classes. ...

Entrepreneur, agency owner, frontend developer