Hey, my name is Ernst Stolz and as of February of this year I work as a web developer at a local company in Germany. I want to share with you my story of how I got there.
I’ve known about freeCodeCamp for almost 2 years now, but this is the first time I dare to share my experiences with the platform and the profession of web development itself.
I studied Computer Science and English linguistics at the University of Osnabrück, Germany. Of course, Germans call it “Informatics” rather than “Computer Science”. I’m not sure why, it’s the same thing behind the name. It’s about programming and the principles of it.
A lot of principles.
When I had graduated in 2016 I knew a lot about those principles, like the MVC paradigm, object-oriented programming, observer-observable pattern, I knew about the theory of colors and about Bezier curves, I knew about the Quine-McCluskey algorithm and the big O notation. That’s right, I wish it meant something else too.
I knew all these things, but one thing I didn’t know – how to code.
Yep, that’s some graduate with a master’s degree right there.
I should add that I always had an agnostic disposition towards programming. I never liked it. I studied it because at no point in time did I feel like it’s difficult enough to quit on it. So, I just stuck with it instead. For eight years.
I did well. But I never once encountered anything related to web development during my studies. Not one thing. And that’s fine, I guess. You can’t know everything. But I felt like I knew nothing to do with the little I do know. There I was with my diploma and my knowledge, and with no actual coding skills.
I felt like a scam. Here I am with a degree in Computer Science and nothing to show for it. Nobody would hire me. I sure wouldn’t.
Back in my apartment I thought, What would an actual programmer with some self-respect do in my situation?
My fingers began looking for the keyboard as if drawn to it. Shift-T for a new tab in my browser, “g” for auto completion of Google, finger stroke after finger stroke the search began to read “how to web development”.
Now you know how I got to freeCodeCamp.
Let me fast forward a bit.
By the time I had completed 250-ish challenges on FCC I got an offer to work as a Junior Web Developer. But don’t you trust me when I say it like that! I’m lying to you. The truth is, there is no causal effect between the time I invested into FCC and the job I was offered. Germany is all about licenses and certificates and grades.
I got invited to an interview not due to the things I learned at FCC but due to my diploma and the good grades. At least my effort paid off.
I succeed in the interview and was accepted not due to my expertise from uni (lol to that) but due to my personality. I was straight up honest about the non-existence of any coding skills.
And I want to thank you for that.
freeCodeCamp is a good place to be. You learn to understand coding enough to be able to help yourself when you don’t know how to overcome an obstacle. After all, coding is not a regurgitation of your knowledge but a way of thinking. You’ve hit a dead end? Congratulations, you’re a coder! Now apply yourself.
I don’t mean to mislead you, though, when I say that freeCodeCamp was a major resource for me getting a job in web development. When I was applying for jobs I put FCC on my resume and I can tell you with certainty that FCC didn’t factually matter at all. Nobody knew what it was. Nobody cared to ask.
It was me who had to mention FCC during interviews and the reaction was either plain indifference or bewilderment about the fact that I’d give credit to some unknown platform after having graduated in Computer Science. What weird guy is that?
So, don’t fool yourself into thinking that companies are going to value non-traditional paths of acquiring skills. Yes, it’s sad. You’ll just have to go the extra mile and draw attention to the awesome character that you are going off into the world wild web like that to learn how to be a real “man”.replace(“man”, “coder”);
Before I go, let me share a tiny bit of my work experience from those few months to give you an unobstructed view into the job.
For the first four weeks I was an intern. I didn’t get a contract right away because they wanted to check me out first, what am I really like, how do I get along with the team, how fast can I learn, all that good stuff.
In those four weeks I checked them out as well.
I played with my phone and surfed websites when the senior developer and team leader came in to talk to me. I forgot meetings I was booked for and the department head had to come and get me. I was having a nap every day after lunch sitting in my chair.
And they kept me.
What I wanted to make sure for myself is whether or not I can feel like myself at my workplace. Can I freely behave and function like I would at home? The answer was a resounding “yes” and so I agreed to stay on as a junior developer.
I am horrible at coding. I’m slow. I’m struggling with things like how to pass an additional parameter onto the anonymous function within the forEach loop. I’m scratching my head when I don’t get prototypical inheritance. These things may be obvious or they may not be, but the point is that I’m not a good programmer. Ye, I can get stuff done, but don’t you put a deadline on it if you want to avoid disappointment.
Whenever I talk to the senior developer, the amount of information that comes my way from one single conversation with him is insane. I don’t even as much as try to retain all of the information. I focus on following his train of thought so I can understand what he is talking about, and I intently focus on not looking stupid. And by that I mean I try not to drool out of the corner of my mouth because that’s the metaphorical difference between a junior and senior developer. I’m a caveman with blunt tools compared to the fine art he makes coding look like.
He’s the flashlight in my otherwise sunless train of thought. This is true for me at least. I don’t mean to project my shortcomings onto the role of a junior developer as a whole. There are certainly coders who are more capable than I am.
But there are also those who pride themselves on their coding ability as if the lines they produce were intellectual property of their stream of consciousness. As a result, it becomes very difficult to talk to them about their code. Worse, those coders can’t even properly discuss ideas. The senior presents an idea and the uppity coder interrupts him at every step with an “Ye, ye, ye, I know, I know” or with an “No, I get it, ye, ye, ye”, as if trying to assert his intellectual prowess.
From what I understand, ideas and code is not about me. It’s about how to best implement a solution to a problem. And my contribution starts with sharing ideas, sharing my mind, having a conversation. If I can’t do that, I deliberately exclude myself from the team. And coding is team work. No team work, no more coding for me in the long run. And I may have to make room for a more collaborative mind.
I get that, you know. Programming is operating very close to the mind. Criticism is like a knife to the brain in this profession. And nobody enjoys brain surgery. This is why it’s vital to keep an open mind. Take off those glasses that interpret everything as a critique on your mental faculty and open yourself up to discussing highly conceptual ideas. Because that’s what coding is.
Majoring in Computer Science means nothing if you don’t apply yourself. And I for one didn’t apply myself for eight long years.
Your personality is as important as your skills or your potential to develop skills. Nobody wants to work with a jerk.
freeCodeCamp is not a warrant that gives you the authority to work as a web developer; it’s a resource that lets you have a foot in the door. You still have to knock politely.
May the flashlight be with you.