How I Got Into Web Development

I’ve been meaning to document my journey into web development for quite some time. Recently, I was asked to share some fun facts about myself as I’m about to be inducted into the Meteor ambassador program. It felt like the perfect moment to finally write this down.

I took some time to dig through my old accounts and gather whatever data I could find to help tell this story.

Act 1: The Adventures of Fancy Pants

The Adventures of Fancy Pants

The Adventures of Fancy Pants - Where it all began

It all began with a teenage version of me yearning for financial independence. Growing up with somewhat restrictive parents, I lacked the social connections that typically help teenagers land their first jobs like waiting tables or working at fast food restaurants. My arsenal consisted of a humble 2GB RAM computer (which would freeze if you dared open more than three tabs) and a 512 kbps internet connection that crawled along at 30-50 kbps during downloads.

Being a young kid whose world revolved around video games, I somehow arrived at what seemed like a brilliant conclusion - I could create and sell my own game! This was during the golden age of Flash games, when developers could earn money from advertisements displayed during game loading screens. In my young mind, I wouldn’t even need to sell the game - I could make it free, monetize it with ads, and watch the money roll in. Flash games were revolutionary because they ran in browsers without demanding specific computer specifications. I was no stranger to them either, having spent countless hours on sites like Miniclip and g9g during elementary school.

My programming journey began with Unity. One of my first actions was confirming whether Unity would allow me to publish games - a question I still have documented on their forums. Fortunately, Unity permitted free game development if your earnings stayed under $100,000.

First question on Unity forums

My first steps into game development on Unity forums

I chose to learn “UnityScript,” a JavaScript variant. Unity offered an excellent tutorial for building a 2D space shooter game. I vividly remember my first Stack Overflow-style answer. Looking back, I’m proud of my younger self for taking the criticism constructively. I wonder if that respondent knew they were talking to a 16-year-old non-native English speaker juggling both programming concepts and communication in a foreign language.

Stackoverflow answer on Unity forums

My first encounter with Stack Overflow-style feedback

Unity’s interface was remarkably intuitive. After completing the tutorial, I gained a basic understanding of game development, but also realized its complexity. Creating a game involves much more than just coding - you need sound effects, background music, assets, visuals, and a compelling story. The coding is just a small piece of the puzzle.

Facing these realities, I scaled down my ambitions. I designed a simple puzzle game where players rotated the edges of a rectangle to guide a cube to a specific location. I created about 20 levels and cobbled together a working prototype using some code I found online. The programming was minimal - just handling 90-degree rotations based on keystrokes and detecting when the cube reached its goal.

I thought I had struck gold - the game was simple enough to create without needing extensive audio or visual assets, and it could potentially be ported to mobile phones where puzzle games were thriving.

Newgrounds

Newgrounds - One of the popular Flash game platforms

Kongregate

Kongregate - Another major Flash gaming platform

Reality hit hard when I tried publishing on Kongregate and Newgrounds. Turns out, you earn mere cents per thousand views!

$0.30 per 1000 views

The harsh reality of Flash game monetization

The harsh truth came after months of learning and development - I wish I’d researched the monetization aspect earlier. This marked the end of my game development dreams. Creating games demands far more than coding skills, and doing it solo is nearly impossible, especially for someone still learning to code. Between mastering programming, art, music composition, and game design - it was overwhelming. I hope this helps you appreciate the immense effort that goes into video game creation.

Act 2: The Trifecta: Codecademy, Khan Academy and freeCodeCamp

Green and yellow freeCodeCamp

The distinctive early days of freeCodeCamp

I persevered with coding and discovered Codecademy. Their HTML course made me feel like a genius - until I learned HTML was just a markup language. Oh, the innocence! I gradually learned about JavaScript and web development basics.

Then came a pivotal moment - while searching for free web development resources, I found a Quora answer recommending “freeCodeCamp.”

A Quora answer recommending freeCodeCamp

Thank you random Quora stranger!

The old freeCodeCamp had this distinctive yellow and green color scheme - an eyesore, but memorable in the best way.

I also completed the JavaScript courses on Khan Academy.

While all three platforms were excellent, freeCodeCamp stood out. The web is full of scattered courses, but freeCodeCamp provided a clear learning path. I spent countless hours on their official Gitter channel collecting those precious “brownies.” I even found an old chat where I helped another student.

Helping out a fellow student

Well yes, I’m an expert programmer, How did you know?

You can still find all my Codepen projects here. I’ll admit - I sometimes looked up answers for algorithm challenges online. To this day, I haven’t completed all the challenges.

freecodecamp algorithm challenges

The not so complete algorithm challenges

This period marked my greatest skill development. I also switched to Linux to improve my computer’s performance, which proved beneficial later.

During my freeCodeCamp phase, I was preparing for “Thanaweya Amma” - Egypt’s standardized tests similar to the SAT in the US. My parents, believing the internet would distract me from studying, cut off our connection. I resorted to studying at internet cafes to continue my freeCodeCamp journey. While I understand they wanted the best for me, it felt harsh at the time.

My test scores were average, and unlike my brother, I didn’t qualify for medical school. I suspect this disappointed my parents.

Act 3: Wuzzuf: The Last Stand

Egypt #1 Online Recruiting Platform

Egypt #1 Online Recruiting Platform

I’d been working through freeCodeCamp during my last years of high school and first year of university. According to online advice, I needed at least the “Front End Development Libraries” certification. While I was comfortable with HTML, CSS & jQuery, React proved challenging. After getting caught in analysis paralysis, I tried switching to Vue. Going nowhere and feeling parental pressure, I decided to create a Wuzzuf account and start job hunting instead of waiting for perfect skills.

Gotta catch 'em all!

I had to attain all these certificates

I applied to seven companies. The first rejected me as underqualified, confirming my self-doubts, but I had no choice but to persist.

Wuzzuf attempts #1

Early job application attempts

Wuzzuf attempts #2

My application to Fixed Solutions

ES6, NPM, Webpack. I clearly had it all

Then came an email requesting me to convert a PSD design into a working HTML website.

An image of the website I had to create

A new challenger approaches

My submission was accepted, leading to an interview with a man in his thirties - the perfect age to connect with young energy while having substantial experience. This man, Maher Samir, became my first boss. I was fortunate that he recognized my backend potential.

During our conversation, he asked directly if I needed money. “Of course not! I’m here because I love it!” I couldn’t admit I wasn’t one of those programming prodigies who code for fun. I hoped he wouldn’t discover my aversion to math - I felt like an impostor!

He reviewed my task but questioned my table implementation. When I explained my thought process and mentioned using GIMP on Linux/Ubuntu, he seemed impressed. He asked me to experiment with some Meteor packages.

I dove into development at home, following his recommendation to learn Meteor through meteortips. I decided to create a URL shortener - you can find the repository here.

He sent me study material

The study materials from my future boss

I faced two challenges: downloading Meteor CLI was painfully slow, and running it would freeze my computer. Years later, I discovered why - Meteor downloads a SQL file containing all database information.

Meteor packages database

Couple megabytes wouldn’t be a problem, right?

I found a workaround using Cloud9 as a remote development environment (pre-Amazon acquisition) - I even have a directory screenshot to prove it! My first forum posts were about building this application (1, 2, 3). Special thanks to Rob Fallows and Kelly Copley!

I completed the project on time and sent it to Maher. When I told my mother, she was skeptical - surely they wouldn’t hire someone so young.

Congratulations!

The email that started my professional career

Act 4: The Happy Ending: Fixed Solutions

Your partner in success

Fixed Solutions - My first tech home

Fixed Solutions became my perfect first workplace. Their culture emphasized learning and nurturing talent, welcoming newcomers to technology and tolerating mistakes. I knew many others who got their start there.

Having an environment that not only welcomed beginners but also accepted mistakes was crucial for someone starting their career.

Balancing college and work was challenging, but that’s a story for another time.

At Fixed Solutions, I got my first real taste of software development ecosystem - how various roles beyond developers contribute to the process: System Administration, DevOps, Cyber Security, Network Engineering, Product Ownership, and Product Management. I realized there were multiple paths into tech beyond coding!

This isn’t a sob story or self-aggrandizement - I believe in documenting journeys to help others learn.

I acknowledge my privileges: despite restrictive circumstances, I had good English skills thanks to my father, a working laptop (albeit slow), internet access, and time to experiment. Luck played a huge role too. And yes, as cliché as it sounds, you can make it too.

I faced moments of inadequacy and discouragement - being told you need “passion” to succeed, feeling disadvantaged because I wasn’t naturally good at math, believing lack of innate talent meant inevitable failure. But I persevered, and so can you.