Today I would like to rewind time to roughly 10 years ago. I was 16 years old, just finished middle school with about average grades, and was about to go to college in the Netherlands. Exciting times I thought, leaving behind the broad spectrum of subjects for a well-defined focused set of IT subjects. My goal at college was to learn as much as I could and potentially become a system admin or just a computer expert in general.
With my mind set to achieve this goal I started college. This education would take 3 years and had 3 major branches to choose from, network management, application development, and media development. The entire first year would be an "orientation year". It was split into trimesters, each would cover one of the 3 branches and at the end we would choose one and take a test to see whether we could pass to the next year.
Before we started with these trimesters however, we would first get a "warm up" assignment which would take about 2 weeks. I remember this very fondly because it was actually about building a website! However, I had no experience with doing such a thing at all, I remember that I was scrambling to just make something, anything, in order to pass this assignment.
It wasn't just a disaster for me though, a lot of folks were struggling with this task as basically nobody in our class had any prior experience with building a website. At a certain point of desperation I found this tool called Microsoft Frontpage with which I was eventually able to create a "passable" website.
My god that thing was ugly, even if I still had the project or an image of it I'd still be ashamed of showing it. At least it met the minimum criteria so I didn't start the year on a bad note, I was happy with that! This very assignment also confirmed for me that there was no way in hell I would ever become a web developer. Too tricky I thought, and I didn't even have to write any code to create this website.
So with that part done and the programmer chapter forever closed we continued orientation. I don't really remember much from the first year aside from the things that really spoke to me, I remember that for network management we ended up building or diagnosing a computer, which even today I still think is fun to do, but I actually have no idea what I did for application development 😅
This leads me to the last trimester of this orientation year which was media development. I still had nightmares about surviving that first monstrosity of a "website" that I had built and was nervous about what was to come to say the very least.
There was a notable difference however, instead of being thrown in the deep with the sharks and
no armbands to keep me afloat, we actually got taught how to build a website from scratch.
This included learning the very basics of HTML and CSS. I still remember having to learn
that HTML works with tags, that tags can contain other tags, and that each tag had some sort of
meaning to it, like
<div> stands for "division" which just means "a part of a web page".
At this stage I also learned about the different ways one could go about adding styling to
make a page look a bit better, such as using a
<style> tag vs
<link rel="stylesheet" href="style.css" />, which was actually very cool. I didn't know if I
was any good but I found this to be very interesting nonetheless. This also happens to be the point
where my perspective of "never becoming a programmer" changes.
One time while we were all building our pages with some HTML and CSS for an assignment, a classmate walks behind me, looks at my screen, and utters this magical sentence:
Hey man, that code looks good, You should keep at it!
— Egbert Verhage
Egbert Verhage was a classmate of mine who had already programmed in PHP for a few years prior to joining this college and knew a thing or two, he also admitted he was not really good at front-end development as it was all basically a mess of browser inconsistencies, yet he did like how my code looked.
Him saying that about my "code" completely shattered my mind. Immediately I forgot about how terrible the very first 2 weeks were and I thought to myself in that very moment "wait, I can actually do this?!". For me this was very inspiring actually. That one sentence ended up changing my path to the future.
My previous goal of "just doing anything with computers" was off the board and I set myself a new goal to become a web developer. This is not where this post ends however, this really is the beginning of what would end up becoming my career. It all started with...
At this point in time I did not have any internet bundle on my phone, and my bus ride home took a whopping one and a half hours. I didn't want to spend all that time doing nothing while there was so much to learn though, so I got creative and saved all kinds of tutorials and buffered full youtube videos so I could watch and code on the bus using my laptop. This was significant because it gave me a full uninterrupted 3 hours each day to practise HTML and CSS.
I actually still remember one of the very first things I wanted to learn, it wasn't about building layouts or all kinds of cool effects with CSS at all. Instead I was intrigued with CSS-only dropdown menus, I'm about 90% sure I followed these tutorials back in the day:
I didn't just do this once either, but multiple times, and this worked out better
than expected since it taught me a lot of things about how
position: relative vs
work in CSS and how to use them properly. It also showed me the difference between
which often confuses beginners.
My time in the bus was probably the most productive learning experience I've ever had up to this very day. I literally steamrolled HTML and CSS because I was so excited about being capable of becoming an actual web developer!
With all this knowledge I had gathered and all the bus practise I noticed that I was creating solid web pages which would work reasonably across all major browsers at the time. This was comforting since the orientation year was almost over, which meant we had to make a choice between the 3 branches and would have to take a final test to be able to get in. Of course I picked media development since I was convinced I had a chance.
This is where things got a little bit worrying though, as the first time we took the test, we were supplied with Windows XP machines that ran Internet Explorer 6 🤦♂️. The machines were set up so poorly that IE would literally crash preventing us from downloading another browser. This alone caused many of us to fail the test, I scored a 5.5 out of 10 which meant I also had to retake the test.
Not passing this test was not an option however, but the second time around we got dealt another bad hand... fortunately for me though I managed to get a 6 out of 10 this time as I was able to finish more than last time. So my education would be about media development 🎉
The first half of the second year was all about media development. Lots of exciting things were taught during this time. Since the year was 2012 / 2013 these new things called HTML5 and CSS3 were popping up all the time and responsive web design also became a thing. Of course being as excited as I was about HTML and CSS I pounced on these topics to study them as well.
While studying HTML5 and CSS3, mostly in the bus, we also got around to learning what back-end development was about. We learned about relational databases such as MySQL and how to create dynamic webpages using PHP. During this time I also became friends with Egbert, who chose application development and was doing C#. Egbert also provided useful insights about PHP which helped a lot, and he was also supporting my efforts on becoming better at front-end development by cheering me on.
Back on the topic of media development, each "category" would be tested during the first half of the second year, I remember achieving the following scores for each category:
|HTML5 + CSS3||PHP||Databases|
|9 / 10||8 / 10||6 / 10|
The 9 / 10 for HTML5 + CSS3 didn't surprise me much since I poured so much effort into it that the score simply had to be good. I actually ended up scoring the highest of my class in that area. my 8 / 10 on PHP was also quite alright, I don't recall any of those questions being really difficult.
The surprise here was the 6 / 10 for databases, since my knowledge was really lacking in that area. I wasn't able to answer most the questions so ended up guessing a lot. The very last question involved writing a sub query, and I remember thinking "if I don't get this, I'm going to fail this" before trying to write it. When we got the test results back my guesses proved wrong most of the time, and I also noticed most of the others had failed to write the sub query but when I checked mine, it was correct! As a matter of fact it was the sub query that pushed me over the edge to a passing grade. With this out of the way it was time for our first internship.
During the second half of the second year we had to search for a full-time 40hr/week internship at a company. My mom told me it was best to be proactive here since otherwise all the good spots would be gone. Then at school I noticed a poster taped to a wall which mentioned "Looking for an internship? We're looking for a front-end developer at "DEX Online Services, call: ...".
The only thing I need to get off my chest is that we built our websites at 950px and the designs I received were always 980px, which meant some things always ended up looking slightly different 😅. Even after providing Sander with a PhotoShop template with 950px guides, he never got around to using it. Despite that I still managed, and during my time at DEX I built a fair few websites.
At this point we're at the end of my second year of media development at Radius. From the 12 students we had originally only 6 remained, the rest had all failed or decided to follow a different education. For me, having passed all tests and with a successful first internship I moved on to the final year.
Where we ended the second half of the second year with internship, in the third and final year we started with internship so that we could return for the second half of the third year to complete our final exams. My mentor and various other teachers told me it would be best to seek a different internship as that would perhaps show me a different part of web development.
I decided to ignore this advice though since Dave and I managed to get along quite well and I became a useful asset to DEX. My mentor did allow this for which I am definitely thankful. This second internship at DEX got even more interesting when Dave asked if I knew a PHP developer who could help out, since we were getting more clients with bigger needs.
Of course I did know a PHP developer, so I asked Egbert if he'd like to join me at DEX which he accepted. I was now working together with the person that changed my entire perspective on even becoming a programmer in the first place! Together we built more complex websites and Egbert also improved our method of managing code by applying SVN where we had previously only worked with FTPing files onto a server, good times 😂.
Together we went through some crazy times as well, at one point we were working on a website for onlinepakhuis.nl (fun fact: the CSS is no longer mine but the design is pretty much identical to what I built). There was a lot of logic to implement, and not enough time to implement it. The day before release both of us and Dave actually pulled a 15hr work day, definitely not something you want to do often! We had to postpone release by a day but we did get it done in the end.
When the time came to go back to school for final exams I got offered a part-time job as front-end developer for DEX. I would work my way towards successfully finishing school and after school hours I would head to DEX to work in the afternoon when possible.
So the time had finally come to put us through our final exam. This exam would be an 8 week long project in which students work in groups of 2 to build a project. The exam would be broken up into several stages, the first was focussed on documenting every aspect of your project, the second was actually building the thing, and the third was performing maintainance (I'm also missing a stage which I can't really remember anymore).
The only downside here was that no one actually properly learned how to do this, since during the past one and a half years we always just built it first, then documented it, and introduce a fake bug which we would then resolve. This was possible because our teachers basically never checked if a step was completed before being allowed to move on to the next step. This time however, we would be graded after each stage, so we couldn't cheat anymore which was quite unfortunate 😅.
Before this exam could take place however, we needed to find a buddy to team up with. Since we were with 6 in total there wasn't much choice but initially I thought I could actually take my pick since I was a bit ahead with regards to raw programming skill. This however, turned out not to be the case, everyone already picked their partner except me and one other person.
This other person was actually a nice guy, but he was never really there and his focus was not on becoming a web developer, he wanted to do things with 3D modelling instead 🤷. Stuck without a choice I figured it couldn't hurt to team up with him, but then my mentor and another teacher wanted to talk to me privately. They also knew he wasn't all that interested in web development and that perhaps, it could drag me down so they offered me the choice of going through the exam alone.
Thinking about this felt... strange, because if I didn't want to team up I'd basically just be a prick to him but on the other hand, I worked hard to get here and didn't want to "carry" anyone without them being serious about it either... The choice was tough but I ended up deciding to go solo. After this little chat the person I didn't want to team up with came to me about what it was about at which point I told him I was going solo.
He did understand, and I told him I'd give him some hints if he needed it because I did feel sorry for bailing on him. This concluded the preparations and we were now finally ready to take our final exam.
Going into this was quite exciting indeed, a lot was on the line and it wasn't going to be easy. Each group, or in my case just me, had to pick a project, everyone went with what they knew which was building a website, either using some MVC framework such as Laravel, or just a plain HTML + CSS + PHP website. My idea however, was a bit different.
The first stage was about documentation which should explain the idea and the plan for implementing it, this also included writing ERD diagrams. This wasn't too difficult though and I passed this stage quite easily, I even had the most "documentation" of all projects.
With the "boring" stuff out of the way I started developing my game, it was actually
more challenging than I thought, since it also needed to be realisticly playable
which definitely took some tweaking. Now since I'm making a game my database isn't very
complex, the idea I had to "make it fit the minimum criteria" was to have a table
score columns. A player could enter a username and submit their highscore.
I would then list these highscores on the page.
This was also reflected in my documentation of course, but after finalizing the game and presenting it they told me my database didn't show any relational behavior which meant they couldn't verify if I understood relational databases!
I mean... come on guys, you didn't read what I wrote in my documentation and are now complaining about it? What the hell! Of course this also meant I didn't pass the second stage but since they knew they #$%^&! up they gave me a grace period to modify my database so it would show how a relational database works.
This may seem simple, but if you only have one table with only two columns, it is kind of useless
to make it relational, yet that is what I needed to do. So in my new database design I split
this one table into two, one with just an
username column, and another with
score columns, just so I could show that I knew what a relation
After making this modification they did let me pass this second stage, so now only the maintainance stage to complete. For this I did actually have to introduce a fake bug because everything actually worked as intended. Then I had to write some documentation about how I found and fixed this issue and I was pretty much done!
I actually finished a day early with a total count of 210 pages of documentation of which most was actual text. After printing it all I walked up to my mentor and put my binder on his desk, I said "well, I'm done and I'm going home" at which point he advised me to deliver on the final day so I could still "check things".
He had the best intentions here but I was certain it was all good, and it was thursday and I didn't feel like wasting another 3 hours just to deliver this documentation on the final day since I needed more than 2 days of relaxation after all that.
After the exam results came in we were all curious to know whether we made it or not, and actually our entire class of 6 people made it! We all passed and I was officially a web developer now. I was also still employed part-time at DEX where I still performed my duties when I could.
It felt great to have passed this exam even though in my mind I did get scammed a bit, aside from my little hiccup we were also supposed to have an external examinator but that never actually happened so I'm wondering if I can even call my education "valid". Fortunately for me though it doesn't matter anymore, even if I lose my papers I now have real working experience and references to fall back on anyway.
This was a long post and if you managed to make it this far, kudos to you! This was my story about how I became a web developer. The biggest lesson I learned from this is that motivation and persistence are major forces. I went from thinking I couldn't ever be a developer to actually becoming one by being motivated and persistent. These are the key features to achieving what you want.
If you don't think you can become a web developer I would advise you to think again, as long as motivation, and persistence are present while you're practising the art of writing code, you will get there.
Thank you all for guiding me on my path, my appreciation for each of you is eternal.
Until next time.