In the following article I want to relate how I started in the programming and web development industry, how I learned to code and build websites from scratch. Why did I write this you may ask? So I don’t forget. Time makes you forget things. My 28th birthday was close and I wanted to keep track of my professional development so I could read about it in the future. If you have ever kept a diary, you probably know how amazing it is to read your own stories as you grow up. Life has the tendency to move things around, but writing about it is the best way to keep everything almost intact for your future self. Anyway, lets get started!
Replacing the old 486
An unknown guy, with a smart look, glasses, rang the bell and was welcomed inside the house. He started to pull out some boxes outside of his car. I had no idea what it was, I thought it was one of the engineers working with my dad in his air conditioning company. Some boxes were bigger than others. Strange parts, like mechanical pieces with no apparent relationship between them. He unboxed everything, there were chips here and there, big green plastic pieces with black squares everywhere. Putting it all together looked complicated, very complicated indeed. Eventually, it all became clear, it was a new computer being assembled, a Pentium machine replacing our old 486. I never imagined that this piece of clockwork would change my life the way it did.
I was a 10-year old kid, who used to ride his bicycle every single day and play outside with friends until late. The best piece of machinery you could get your hands on at the time was maybe a classic Nintendo, which you weren’t allowed to play during the week because of the school. Looking at some expert assembling a new computer stroke me as something marvelous. The CD-ROM drive (8x by the way) was a new addition to my knowledge. The difference between the interfaces of Windows 3.11 and Windows 95 were incredible. When it all was finished and the technician left the house, I was allowed to play with it for a while. The guy even left some games installed for me to play. Fiddling with the new computer that night made me realize something: I really liked what it felt to be in front of a highly advanced machine, controlling it, telling it what to do. That’s when it all started.
Gotta Catch ‘Em All!
Pokemon was a huge hit at the time. It was everywhere, in the TV, in the radio, in the kiosks, in the newspaper, your friends talked about it all day, toys, games, clothes, collectibles, albums; seriously, Pokemon was in every corner of the planet. Using a 56kbps dial-up modem, I used to browse tons of Pokemon websites, getting tips, memorizing the name and abilities of the 151 toons and finding hidden information about the TV show. There was however, this particular website, with so much information that eventually made me stop browsing other sites. All I wanted was there. Every single detail about Pokemon laying in a single portal. It was so perfect, lots of sections, mini-games, tricks for the GameBoy games, lots of stuff. Out of curiosity, wondering who was the mastermind behind that encyclopedia, I realized that the signature at the footer of the website said “made by Item”. Finding out it was made by a regular human being (you just had this idea that websites were built by gods and angels), it all became clear, I had to make a website like that, but how?
I didn’t even know what HTML was. Some night when my parents had gone out to a party, I started looking in Yahoo! for some tool to make websites. Magically, after browsing dozens of pages and giving out my email address in tons of sign-up forms, I found Homestead. It was pretty basic, you filled up some forms, and for free you had an array of tools to build a basic website in minutes. That was it, I could finally compete with Item and his Pokemon portal. I named it PokeGround, and its old domain was “pokeground.homestead.com”.
Hours, days and weeks were spent building that website until one day it finally had all the information I wanted. I bragged about it at school the next morning. It was such an achievement! my first website. Although nobody really cared at school, my 12-year-old mind knew it was something beautiful that none of my friends couldn’t even remotely think of building. PokeGround was my hobby, my loved hobby. A hobby that someday would turn into a way of living and a passion.
The answer was in the address bar
As Item and I became competitors, I used to go to his website to check if he had something new that I didn’t. Trust me, updating a website made in HTML only was painful. Changing one section took hours if not days, but Item, somehow, managed to keep his portal tidy, fresh, with new information every single day of the week. “How did he do that?” I asked my self several times. It was hard to keep up with Item, just too much information. A new season of Pokemon was airing; 300 toons to document, to screenshot, to explain. I didn’t know at the time, but the answer to his efficiency was in the URL, actually, the very end of it, it ended in “.php”.
Why were my URLs ending in .html when his were ending in .php? What’s PHP? I started my research. I found out it was a server language that would kind of allow me to optimize my web updating process. That’s what Item had been doing all this time, he cheated using PHP to keep his website constantly updated. But he wasn’t cheating, it wasn’t that easy actually. It was a whole new language, a way of thinking that I had to learn from the ground up if I wanted to keep up. What’s an algorithm? What’s an if, while? What’s a function?
Looking for answers I found this beginner PHP tutorial that changed my way of thinking. It was so confusing at the beginning. The way it was worded, how they tried to put our daily life logic into streams of text that made a program. That was programming, the real programming. I wanted to learn quick, I had Item on my back with his Pokemon website, I had to compete. Finally after 3 long weeks of reading and following the exercises I found myself quite confident about the coding. It was time to do something with that knowledge.
Spain had a nice web development industry by then. They were pioneers in a lot of things and had some interesting services and tools for those interested in getting into web programming. I was in the new continent, so getting in touch with those people wasn’t easy.
MetropoliGlobal, previously called Metropoli2000, was a Spanish developer community that motivated programmers to build PHP websites with good content. In exchange, they would give you free quality hosting with unlimited space and bandwidth. We are talking about the times when hosting was expensive. A domain would cost you $50USD/year easy, so MetropoliGlobal was a good alternative for developers (or kids) who usually didn’t have a dime to spare. It turned out, that Item was one of these developers, and his website was hosted in MetropoliGlobal.
I sent them my PokeGround link, but they rejected it several times. At the time, it seemed like they had around 15 Pokemon websites already hosted, and they weren’t looking for any extra. Besides, my website was an HTML website, basic stuff, complex, huge, but technically basic. They wanted more, they wanted complexity and good content.
CPUZone was born
By that time my knowledge of computer hardware was quite good. My mother had bought me some good books related to computer assembly, microchip theory and all that technical stuff that by then was quite advanced and not many people seemed to know. Considering this knowledge, I thought I could write everything down, set up a website and organize the information so people could find it online. A new idea was born, a new website called CPUZone would find its way to MetropoliGlobal.
And it did. CPUZone was immediately accepted and the visits started flowing. Even though PokeGround was practically dead because the competition had became fierce, CPUZone was the perfect opportunity to make a new PHP website, with a basic structure but based on a server side language, using MySQL databases for the content and HTML4 for its layout. It was technically beautiful and it allowed me to finally get into the developer community. Finally I moved CPUZone to PHPNuke, were it lived for a couple of years until I decided to close it down due to a more serious project.
Algorithms for teenagers
By my 16th birthday, I was in high school, studying Data Processing 8 hours a week. I saw algorithms everywhere. I felt like I could turn everything in life into an algorithm. It was interesting, beautiful, amazing. As my education was becoming more serious (yeah.. high school), also were my projects. I decided to monetize my knowledge, feeling confident that somehow building websites I could make money for my teenager expenses. So I started researching for companies that made websites in my country, looking for ideas, how they managed the business, how to find clients and more importantly, how to build a corporate website that would serve as a front.
Cyberline was born. A full website made in PHP, using my somehow primitive graphic design abilities passed to me by my mother when she was studying architecture in the university. I also made a partnership with Liderweb.net, a local hosting company. The deal was supposed to be like this: I send them web hosting clients and they would send me web development clients. It actually worked out quite well for a couple of ecommerce sites. This was basically my personal firm that would later develop into a full agency.
I needed to find clients, but how? I was just a 16 year-old kid. Nobody would take me seriously if I visited them personally. I had to keep my client relationship virtual, and by the time, email was the solution. Anyway, I took the yellow pages and using an OCR software I scanned about 200 pages which were turned into just plain text. That text contained a lot of email addresses that companies had posted in their ads. Using some regular expressions and PHP, I made a simple script that would scan large portions of text and extract email addresses, then store those addresses in a MySQL database. That was all I needed, a large portion of emails of companies possibly interested in my services. So I prepared an HTML email template offering corporate websites for about $200 USD and spammed all this database. I got a hit, one interested company called me and it became my first virtual client: a freelance job for the afternoons and weekends that would compliment my school knowledge.
Who wants to be a millionaire?
By the second year of high school we were developing this Visual Basic 6 project that we needed to show in order to graduate. The TV show “Who wants to be a millionaire?” was a hit by then. Interesting, lots of questions, 4 possible answers. I didn’t know a thing about arrays, but I would definitely need that knowledge to build a game like that in VB6. I approached my teacher, and after listening to my idea of building a “Who wants to be a millionaire?” game, she decided to give me a thick book in VB6 advanced programming. It turned out to be one of the best gifts I have ever received. Finally I built the game and by the end of the year I was presenting the best VB6 project that school has ever had, “Men Enricher”; a full version of the game, with graphics and Flash animations, fake voices recorded by me and a genuine array of a hundred questions and 400 possible answers stored in an Access DB. I graduated with honors thanks to that project, which I later heard was being used by my teacher as an example for her classes.
Logos and ringtones for Nokia phones
I started a Bachelor in Mechanical Engineering at my local university. At home, in my free time I built another web site called G-media, a web service that offered ringtones and logos for Nokia phones. It was a hit. Initially, Venezuelan mobile carriers weren’t offering this service, so G-media filled the gap. I was just a guy with a 3310 wired permanently to a PC using an special setup and wiring, it was just a matter of time before the big guys would take a hit on me. About 6 months later, Digitel, the most respectable mobile carrier by the time, launched its own tones and logos service with advertising on TV, web, radio, etc. It was impossible for me to compete with them. By April 22, 2004, I was forced to shut down G-media for good, and decided to focus fully on Cyberline.
Ingeniarte.com was the name I needed
A random day, the name Cyberline struck me as something coming out of the Terminator movies. I wanted a more serious brand and after looking a lot of available dot com names, Ingeniarte.com was my favorite option. I registered the domain for about $30 USD/year and acquired a web hosting service from a Mexican friend who was starting his hosting business as well. By the second quarter of 2004, Ingeniarte.com was up and running, with a design that still nowadays surprises me. To be honest, I have no idea how I pulled that design out of my head. Check out the Archive.org snapshot here.
A disappointing teacher
A year later, I dropped out of college, and started another Bachelor in Electrical Engineering at a different university. One day, I was in this “Computer Programming” class and the teacher, and old lady in her 50s, started to explain the history of modern computing and how computers were built. She said, and I can quote her literately: “computers used to be built using vacuum-tubes, before we had the transistors. A vacuum-tube did the same as a light-bulb, it emitted light when a positive current passed through it”. I spent the next year ignoring her classes and making websites for the university. They hired me to build a couple of portals for projects expositions and a jury voting system. A couple of months after that, I quit the university and moved to something more productive, something that could really help my business: Graphic Design.
Working for a real agency
By the time I started my Graphic Design major, I was looking on how to improve my company. I needed to learn more about the business, but mostly, how the market was moving and what kind of structure I had to follow with my clients. My parents were also exerting some pressure for me to try to find a part-time job in order to help with the university expenses. With already a good portfolio, I joined a small development agency in Venezuela called SMG, which was of great help for the development of my career. It was an immediate hire. The next Monday I started as a webmaster, with some PHP projects in queue, including Fashmatch.
Fashmatch was a headache. You had different clothes from different brands and the user could join them together to “assemble” a full set. It was great for the ladies, and it was a hit. But naturally, the development and maintenance of this website was painful. Working on it I learned ajax and asynchronous applications. The company was later acquired by other american clothing company and recently, its owner joined the Facebook team. Later, I also had the opportunity to participate in several large projects like Pepsi, British American Tobacco and so on.
After 7 years
I spent 7 years working at SMG. Initially as a developer, then as a project manager and finally as a web development manager. It was an excellent experience that allowed me to meet great people in the industry. I worked side by side with about a dozen developers, designers, project managers and even directly with the CEO in several projects. In parallel, I formally registered Ingeniarte.com in Venezuela as a tax-paying business.
During the last couple of years Ingeniarte allowed me and my fiancée to buy a car, an apartment and travel quite frequently. Currently, we are in Ireland, finishing an English course and looking for opportunities to keep growing our careers. But that’s another story to write about in a few years…
As for Item, I never knew the guy, he never knew me. I never even exchanged a written word with him. In fact, the competition was one sided, he didn’t even know I existed. I knew he was Spanish, and by the time I was 12, he was in his 20s. And boy, he was a great PHP developer.