Skip to content

How I Discovered Programming and Formed a Passion

Learn to learn code faster, using techniques honed by years of study, neatly packaged into one book: How to Learn Code

It is always interesting to hear how people learned to code.

We each have different paths to the same end and different things that worked for us.

You might be able to glean some insight into programming from my story, if you have the desire to read it.

My story specifically, I assume is unique.

Though it proves natural talent is not the end all to being a programmer.

Good old fashion grit, passion, love and a little bit of luck goes a very long way.

Anywho, here is my story on programming:

Ages 0–19

In my youth, I was a bit different than the other kids. At these ages I had a sort of slowness to my learning.

Like the rest of the kids I was given an IQ test. I remember them saying it was a bit low, but I was not given a number.

They wanted me to go back a grade but my mother fought instead to put me in advanced placement. 

It was a strange thing. In the summers I had extra classes and my family would tell me to write (with a pencil) down math problems and do math with me. It was a wonderful thing and I passed every grade in advanced placement.

Its quite interesting how that paralleled my life later. 

Photo by Claude Gabriel

At 13 I discovered music. There was a girl I wanted to impress, so I thought Piano was the way for winning over that girl.

I ended up spending 6–8 hours a day practicing technique, reading music theory books and sight reading an extraordinary number of pages of music over the years while going to school.

It is amazing how music can teach a young kid the result of discipline and dedication. 

I forgot about the girl and by 19 I had become a very good pianist.

For the rest of my life I tended to display a natural discipline for things that interested me or were important. 

I always attribute my current discipline to school and music during my teenage years.

Ages 19–25

From 19–20 I went to university for Computer Engineering.

Photo by Terren Hurst

I had a very difficult time keeping up with the other students.

They seemed so much smarter than me.

In my degree plan there was a requirement to take programming fundamentals 3 and that is it.

You can skip 1 and 2, that means if I took 1 & 2 I would have to pay extra and it wouldn’t count as credits.

I thought, “Oh that’s fine ill take programming fundamentals 3”.

Boy was I wrong. They were talking about algorithms & data structures. I didn’t even know how variables worked.

I failed the class and concluded, “I am not smart enough to learn programming.”

I ended up failing 2 or 3 classes during this time; physics 1, programming 3 & circuitry 2. But I retook those and did complete Physics 2, Calculus 4 & Chemistry 2, which was nice.

My GPA was 2.3, I was struggling so I was thinking of dropping out.

At the time I lived on scholarships & grants which of course depended on that GPA…

Well, I lost them.

I was constantly out of money. Often I would not have food to eat so I ended up getting lanky skinny. I thought I looked good though. 😉

I ended up getting a summer job as Helpdesk at my university. 

On the way to work, toward the end of Summer, I got into a terrible truck accident.

Essentially I hit my head in the accident and since then experienced a loss of intelligence, an inability to imagine words from text, blackouts and severe headaches.

I went to a hospital months later to get checked out. My family was gathered around me and I had no idea what was happening.

“He will never be the same, he likely will not make a recovery, say good bye to your son”

At these times it was very difficult to let go of school and my memory is quite a blur.

Photo by Héctor Emilio Gonzalez

I dropped out and for 5 years I struggled just to get to the next day. I took odd jobs, worked in my fathers construction company, fast food, etc. etc.

Ages 25–31

My family saw my struggle and said “why not go back to university? We will pay for it”.

I responded with, “Guys, I have a hard time just reading a page on a book. How the hell will I survive in university?”

But of course, they convinced me.

I quit my job at McDonalds and took Art Appreciation 1 as my first class. Just one class, well see how it goes.

I chose business administration as my major as I thought it would be an easy associates.

On the bus to class, I would try to read a variety of books, mostly “learning to learn”, John Maxwell’s leadership books & the Bible.

I started off with a goal of reading 1 page every day.

I did this for 2 years while getting an associates and slowly my intellect recovered.

By the end of my associates I was reading 5 pages per day and getting As and Bs part-time, two classes a semester.

Photo by Emmanuel Offei

I remember walking on stage for that associates degree.

For the average person, that is nothing. An associates doesn’t mean much.

But for me, it was proof that maybe, just maybe I can succeed at school.

I continued reading every day on the bus and started going to the gym to weight lift by recommendation of a doctor.

In my bachelors program, there was a requirement to take programming fundamentals 1 & 2.

I thought it was odd as a requirement for business. 

I absolutely dreaded the concept of a programming class, as I believed, “I am not smart like the other students”.

But, I had to do what needed to be done.

I took programming fundamentals 1 and decided I would just try to “pass”.

Introduced to programming

This was my first introduction to programming.

Photo by Zach Graves

The teacher spoke to us as if we knew nothing about Computer Science or programming.

We started with the basics, “what is software, why do we need code for it?”, “What is a programming language”, “What is a variable, condition & loop”, things like that.

At the time it was really nice to finally have something I could actually understand. Like, really nice. Really really nice. 😉

So nice in fact, when going home from class I decided to read books on programming on my own.

I started to practice programming.

I actually “got something” that I thought was impossible.

In the first two weeks we had quizzes and simple programming exercises to turn in.

I got a 100 on them and was thoroughly proud of myself.

Photo by CDC

My neighboring students saw my grades and asked if I could tutor them on the programming exercises. 

They just wanted to “pass” and not really learn programming but they could use the extra help.

So, after every class I would explain the basics of programming as we did in class on a whiteboard.

I tutored 2 people after every lecture for the entire semester and studied on my own when I got home.

Programming fundamentals 2

I was very nervous about programming fundamentals 2. 

I got perfect scores in fundamentals 1. But what about 2?

Will it be too hard?

Well, I found myself ahead of the rest of the students, because I was studying on my own.

I was afraid to fail and struggle like I did when I was younger.

Thankfully the exact same thing happened in fundamentals 2 as the first class.

I got perfect scores and my neighboring students asked for tutoring.

I tutored in the same fashion as the first class.

By the way, at the time I was 26 for these two semesters.

I wondered if I was too old but decided to put that aside and not worry about it.

There were other requirements for my degree, including cloud, computer networks and databases.

Photo by Sigmund

I guess you need these things as a business major, I don’t know.

I took them and realized I actually love Computer Science. 

For some reason, people like when I talk about it, I love talking about it and I love coding.

My awesome teacher

During this time, I had one teacher for 5 semesters in a row.

He said he absolutely loved my enthusiasm, but I need something a little more.

He told me I needed to work with other developers.

“Find an open-source project, Jesse. You need it. To become very strong you must work with others.” Arabic is his first language, so imagine a middle eastern accent with that.

I searched for an open-source project yet could not find one.

On the side I was re-programming a Runescape clone independently, as it was always my favorite video game.

I spent 6+ hours a day programming the Runescape clone while doing homework and taking classes.

One day I found a Runescape remake community.

Photo by Daniel Livingstone

The source for their remake was closed-source and only trusted developers were allowed access to it.

I hung out with the developers of the project over Discord voice and showed my clone.

They helped me create my own for many months, answering questions about networking, Java and programming the game assets server side.

One day, the players of their remake asked if their developers could pump out more content. “It is rather slow”.

Long story short they said they would need new developers and there is no one they could trust.

I joined a coding project

“What about Jesse?” one of the players asked. The guy has been working on a Runescape clone for 8 months. He works hard and seems honest.

Photo of Darkan’s Discord

“@Jesse, what do you think?” that same player asked.

I said I would love to but the project is closed-source and that is that.

The owner sent me a direct message and asked, “Can I trust you with the code?”

I said, “I would do my best not to push or share it to anyone outside the dev team.”

I joined the project and committed many monolithic updates from quests to engine changes(many of which were not approved).

As I reached the end of my bachelors, I was extremely happy about my recovery from the truck accident.

I was reading 10–20 pages a day on very difficult non-fiction books, practicing programming with Darkan, class assignments & self-imposed learning projects.

Often after my coding sessions I was actually more energized, more intellectual and generally happier than right before the session.

Masters in Computer Science

At this point I debated about whether or not to go to graduate school. 

My GPA was high enough. I had straight As for my bachelors.


Maybe I should do social work? I am not smart enough for Computer Science.

I can do social work. They accept business credits to the program.

Many people in my life said software engineering was probably better for me.

Photo by LinkedIn Sales Solutions

What convinced me was when my rather successful uncle told me in business I would need to have a natural talent for public speaking and leading organizations to truly be successful. You can practice and train, but nothing beats natural talent in business.

If you dedicate yourself, mijo (he is Hispanic), “maybe you can actually do it. Programming is one of those things that effort rewards, more than something like business (politics) or social work. Most social workers I know are unhappy due to a lack of money too”.

Those conversations convinced me and I applied for a graduate program at my same school.

I applied

Well, yea I applied. And waited…

I waited two months and received a denial.

This was my last semester in the bachelors program and fortunately my teacher for my last class was also the director, the director who gave me the denial.

At the end of the lecture of our class I asked if we could chat privately.

I asked why he denied me and if there is anything I could do to get in?

“Jesse, other students with bachelor’s in Computer Science are failing this program. Because of this we also created a 2 year work experience requirement in software engineering or tech. You only have a few Computer Science courses.

I am sorry but people in your situation just fail too much.”

I went home, cried a bit and accepted my fate.

However, some way, some how, a family member of mine called the supervisor of that director. 

To this day I don’t know what was said or done.

But I got an acceptance letter a week later, 1 month before the start of the next Master’s program year.

They accepted me into the program on the condition that I take 4 extra Computer Science classes to “catch up” to the other students.

I got very serious at that point.

Perhaps if I prepare….

“Perhaps if I just prepare, maybe I can make it.”

Photo by Krishna Pandey

That old teenage discipline came out and I began writing code 6+ hours a day while doing these 4 extra programming classes, part-time, two per semester.

Each class was difficult enough for the majority of the students to do this and take only 2 classes.

I switched languages & frameworks according to my class and got the syllabus ahead of time to study for the class.

I had to take an introduction to Machine Learning course.

3/4s of the students could not complete the homework.

Funnily enough there was a curve which kept passing students who were actually failing. And I was always at the top of the curve, very nice.

But, later I discovered the professors made a practice of curving students. But I had no idea as I was always #1 or #2.

I never knew! I actually put a butt load of effort learning and completing coding assignments thoroughly while the other students often did not!

There were many classes like this, where 1/2 the students fail or so and I was ignorant of the curve.

I am in the program

Then, after the 4 filler classes I was officially in the program.

Photo by Kenny Eliason

The total number of classes I needed to take was 10 courses at 3 credit hours each to pass the program.

I had to do it within 5 years from start to finish.

Eventually, during the program I had to take classes with that same director.

For some reason, he did not seem to like me.

He also seemed to expect me to fail, I felt it in our conversations during his office hours as he was a bit dismissive.

However, in his class he had created a bonus assignment where we use a script to create a mini-internet of 100 tiny virtual Linux instances all connected in a typical pattern like in real life.

He wanted us to create a worm in Python for extra credit if we could find a way to do it, using a known exploit.

I wrote a worm for it from scratch, made a YouTube video of the thing and turned it in.

I did things like this over and over again, hard assignments where I was the only one doing it.

I had finally won his respect and turned around the relationship from believing I would fail to respecting me as a programmer and student.

Toward the end of the program I had a choice. Either I create a two semester thesis or I take two regular classes.

The director recommended to take thesis.

I wondered which was better or easier.

He convinced me to do thesis and pick 3 professors who I want to publish research papers with.

I spoke to other students who did thesis in the past and came up with a top 3 professors based on their experiences.

The first was, of course, the director. And, the other an awesome new professor.

Our goal was to publish 3 papers and write a 50 page thesis.

Well, we published 6 papers, got a grant for one of them and finished thesis on time.

You can see my Google Scholar with all my research papers there.

For the entirety of the program I was #1/#2 grade-wise. I did every coding assignment with gusto, took no shortcuts and 3 years later it was over..

Photo by Charles DeLoye

I graduated with a masters, taking fourteen 3 credit hour classes for the degree.

Take a look:

It was very difficult, I got all As at above a 95 and graduated top of my class.


Today I am a recent grad. In late 2023 my focus I am mostly doing LeetCode and interviewing. I am 3/4 done with the Grind169. I have done most of them.

I may or may not apply for a doctorate.

I am trying to eventually find work as a Software Engineer.

I decided to write about Computer Science, because well, it is extremely fun. I often find myself writing for 3–4 hours and wonder where the time went!

Anywho, I hope this story can provide some insight…

Happy coding!


The fundamentals of coding:

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Posts

Learn to learn code faster, using techniques honed by years of study, neatly packaged into one book: How to Learn Code