table of
contents

On the minor Web

Photo of Rose Mulazada

Where to begin as we recap the past five or six months? It's been an incredible ride filled with amazing memories and valuable lessons. I'll do my best to capture it all.

Before I started this minor, before I ever signed up for it, I knew that it was undoubtedly the best opportunity to learn as a front-end developer. My passion had just recently ignited itself, especially following my experience at the minor Information Design on the Tech course, where I got my first taste of frameworks and API's, npm packages, libraries like D3.js and the like. Still, the assignment that we had wasn't your ordinary developer work. Besides, I barely understood what I was really doing. I needed more. I needed to get the real experience. I wanted to learn so, so much more than I knew then. And I knew that this was the right choice for achieving that.

As mentioned earlier, I had previously worked with tools like SvelteKit and npm, but I'll admit, I was still figuring things out. Understanding the foundational concepts—methods, variable types, the significance of terms like GET, POST, .env, and Git was crucial. I needed a solid grasp to progress. Thus, enrolling in the Web Design and Development minor became my next step.

I have to say, I was a bit nervous coming here, worried I might struggle to keep up. But that didn't dampen my excitement at all. When classes kicked off and we dove into APIs again, I was pumped! I'd tinkered with them before, so I figured I'd be good to go.

Web Apps from Scratch

Well, sort of. I quickly retrieved my data, drawing from past experiences in my previous minor. Building the interface felt smooth; it still looks cool to this day. I also learnt to work with branches and pull requests here. However, during my oral exam, I was taken aback when my teacher noted I'd used certain CSS units blindly, and my JavaScript scoping could have been better. Initially disheartened, I questioned my abilities. Was I cut out for this? Could I catch up in time to meet developer standards?

My teacher described this phenomemon among all developers as the Dunning-Kruger effect: "A cognitive bias where those with limited competence in a domain overestimate their abilities."

A graph visualizing the Dunning-Kruger effect.

Of course, he didn't mean or say it the way this illustration did, but I went home thinking about this a lot. I recognised that I knew less about development than my classmates. However, this critique ultimately spurred me on. Recognizing my gaps in knowledge didn't negate my passion; it fueled my determination. Even if sometimes I didn't just feel passionate, but passionately clueless. Badum tss.

And so, when the next subjects came around, I tried my best to adhere to the best practices and to learn. I won't be talking about all subjects, but all did teach me valuable lessons in their own right. This will not delve too much about what we did for each subject, but more about what it taught me.

I still finished this project with a great grade. Even the teacher that gave me the critique recognised that I was still learning, and I'm glad that he gave me this feedback. It taught me to be a lot more critical of my work, and try to better myself as a developer. I began to write my code more consciously.

A small side note: A critique on my website back then was that when you scaled it down, the text and other elements did not scale accordingly. I have to say that I'm pleased with the responsiveness of this blog!

What did you do?

I immersed myself in developer media, learning more about CSS and JavaScript through YouTubers like Kevin Powell and WebDev Simplified. I downloaded extensions like DailyDev, exposing me to new articles with every tab. I even built a to-do app—a cliché junior developer project, but a testament to my eagerness to learn. A certain subject then brought my first breakthrough.

Browser Technologies

In this subject, co-taught by Jeremy Keith, I tackled a problem involving scalable code that saves input values to localStorage. Jeremy emphasized writing scalable and semantic code. Our conversations, bordering on philosophical, made me realize I want to build robust websites that work well for years and for all users. This includes focusing on accessibility, scalable functions, and performance. I'm ecstatic to say that soon I'll be following a six month internship at De Voorhoede, experts in performance and accessibility, where I will learn exactly this.

He was also kind enough to help me to write said scalable code, and encouraged me not only to improve upon it and share it as a Gist, but to blog about it as well (which I was already considering doing, but especially now that he had told me!). (I'll either make a new blog or continue building off this one, we'll see, stay tuned).

As Communication and Multimedia Design students, we are taught from the very start to keep accessibility in mind and how to apply the best practices in design. This carries over in web development. It would truly be a shame to let my knowledge go to waste, especially considering there are not many developers like us who know so much about these things as juniors. It is something we can be proud of.

Browser Technologies emphasized the crucial importance of ensuring that anyone, regardless of their accessibility needs or device, can view and use a website. While we were aware of this concept, we truly grasped its significance when tasked with creating a tax inheritance form. Different contexts in which a website exists offer various challenges, but accessibility remains paramount.

You often don't need to make drastic changes to achieve website accessibility, and it won't cost you anything if you build it from the ground up with accessibility in mind. Making it accessible last is what can cost you.

At this point, I felt pretty good about where I was getting to be in the whole 'Dennis-Kruger' graph. I was a lot more knowledgeable than I was before and I could feel this in the way that I could read about something new on MDN or any other kind of docs and easily apply them. This meant my foundation was becoming a lot stronger.

Human Centred Design

Speaking of accessibility!

This was the accessibility subject next to Browser Tech. Here we got the amazing opportunity to develop an app for a disabled person, in my case I was appointed to the lovely Nicolette Besemer. Here's a snippet from my README from the project.

Nicolette Besemer is president at Onbeperkt West, among others, and has a passion for geochemistry: this she also graduated from Utrecht University in 1972 where she also taught. She has also taught migrants. She organizes a lot around accessibility for others in her neighborhood. She has also been a geologist by profession and enjoys visiting physical wonders, this comes from a passion for nature.

She has limited use of her limbs and relies on speech software and her drawing tablet to navigate the Web. This means she cannot use shortcuts, making certain actions difficult to perform, including cutting, pasting, selecting and generally navigating. This is our design challenge for her.

She has not always been limited, once she became neurologically ill and since then she has been using a wheelchair to get around. She was not always passionate about helping people with disabilities, because she found she had more important things to focus on than simply being disabled; but she describes herself as a people person to the core, so who is she not to help when people are in need? This is how she ended up getting involved in taking the first steps towards accessibility in the city, and she has achieved amazing things since then. Nicolette is a pioneer in accessibility in Amsterdam, and Amsterdammer of the Year in 2016 as well as Knight of the Order of Orange-Nassau, as dubbed by the King of the Netherlands himself!

Testing with her weekly and seeing her immense joy and gratitude was eye-opening. It highlighted the need for better web accessibility and the impact of even small changes. A little goes such a long way.

API & Meesterproef

API is the subject that truly resonated with me, igniting my passion for <JavaScript3 and <server-side development3. While I regularly practice with CSS and its latest technologies, nothing captivates me like JavaScript. The Meesterproef project illuminated the art of writing scalable and compact code using helper functions. I've been more consciously structuring my code as well as more consciously naming my variables, parameters and functions. I think about the scopes a lot before I write something.

Now, having worked not only with Express but also SvelteKit servers, I feel ready to take on even more challenges if anything! I've heard often that..

When you master JavaScript, you can write just about anything (JavaScript related).

.. and though I haven't mastered JavaScript just yet, I do feel that because of my newfound strong understanding of the foundation, I can take on a lot more challenges a lot more confidently, and understand new concepts a lot faster.

This excites me and I am eager to become an even stronger developer.

Weekly Nerd

You can read all about the valuable lessons the weekly nerds have taught me in my blogs. Something I wanted to mention was something I've learnt while looking more deeply into web developer standards.

I had only heard of this before but did not know it was possible in vanilla CSS; I experimented with using components in my CSS. This practice has enhanced my attention to detail and working this way is a lot more efficient than scrolling through thousands of lines of CSS trying to find a certain class. I'm especially fond of making 'components' like buttons or blockquotes and 'typography' files.

A code editor showing how I used components in CSS. I have my files on the side and the code on the right.

(If you spot that it's called 'weekly nerd redo', this is because I've re-designed this site multiple times out of sheer perfectionism).

My goals

As you can see under my goals, I have a few thing I wanted to get better at during this minor.

Challenging myself with JavaScript

There's not a doubt in my mind that I've achieved this. If you've read all of this so far, you'll know that I started from (roughly) zero when I came in here. I knew how to do things but that means little when your foundation is not strong. I have confidence in my foundation now as a developer more than ever, having worked with face-tracking libraries for Tumi Mundo as well as a complex database, having worked with Spotify oAuth to collect user data and display this in the browser. I also generated a playlist using this Spotify data to see what music you listen to most and what music would suit you according to the API. Funnily enough, this was a project I wanted to pursue during my time at the minor Information Design but as my understanding of the foundation was not sufficient I decided not to do this (I was still somewhat self aware.) When it comes to writing code I know what to look for and what to avoid to make the least mistakes and am able to debug quite swiftly when necessary (this of course is inevitable).

Even when I doubted my skills, I still managed to retrieve and display data from an API with little help, that's not nothing!

I've learned a lot, but that's not enough - I'm aiming for the stars.. 🌌

Learning to let things go

.. and in my process of shooting for the stars, there have been a lot of moments where I was overly critical of myself for what I didn't achieve. Say, there's some feature I wanted to implement but did not get to due to the time-frame or having to prioritize other things. I learnt during this minor that that is okay. Often times, looking back on my work now, I achieved a lot more than I had allowed myself to see and give myself credit for at the time. There's no need to undermine my Spotify oAuth application, especially considering this was something I wanted to do during Information Design but passed up in fear of it being too difficult for me (which to be fair, at the time, was sound judgment - it was definitely too difficult for me back then.)

Another thing I've learnt during the minor, namely towards the end of the minor during the Meesterproef, is that it is okay to take a break. "But I could use this time to fix that thing-" was what I would often tell myself, but I had already been working so hard at school. I've learnt that when I go home, it's time to breathe and to relax, and take things easy. There has to be a balance and I wasn't allowing myself this before.

Speaking like the professionals

This one is namely one that is applied when speaking to clients like we did during Tumi Mundo, but can really be applied anywhere. How do you navigate the way you communicate with someone when it comes to work, without sacrificing your own rest? Everybody I've communicated with has been more than kind but this is more of a personal thing. If someone I'm working with tells me to try something on a project, but I've just gotten home after a long day of working, it is absolutely okay to move this to the next day and let it be known that you're doing this. Why would that be improper, or impolite? Especially nobody would bat an eye if you told them this?

It isn't. And I've taught myself this during the minor. It helps that I've always been in close communication with amazing fellow students who related to this sentiment, which made me feel a lot more normal, which I'm thankful for because sometimes it could feel like it was just me that thought this way.

This goal is also about practicing finding the right words to communicate what you want to say in a way that is professional. That doesn't mean I ever wanted to be angry at somebody- but you understand what I mean! There is a certain way of phrasing things that is not the same as texting a friend.

Conclusion

Regarding the Dunning-Kruger effect, I’d would want to say that I'm on the Plateau of Sustainability because I've made significant progress and feel more confident in my abilities now, and I know that this is a very complex field. However, I think that I still have a lot to learn before I can say that. I'm comfortable acknowledging that I’m not there yet, and I shouldn’t expect to be either. I’ve come a long way from not knowing what fetch is or how to use Git to working with face-tracking libraries and implementing a database into a server-side in frameworks with ease.

I’m confident in my current knowledge and aware of the areas where I still have more to learn, and that’s perfectly okay. Rome wasn’t built in a day. I look back at my work from this minor with immense pride in myself and my teammates, in the progress I’ve made, and in the skills that have become second nature to me. I’m proud of discovering what I want to do in the future and what truly makes me happy. Seeing how much I’ve grown over the past months, I’m excited for what the future holds. I can’t wait to see where I’ll be next month, and I’m especially looking forward to the nine months ahead at the amazing companies Tweakers and De Voorhoede starting in September. I’m a fast and eager learner - that much has become incredibly clear over the past five months - and I’m ready for the challenges ahead.