Categories
About us Featured IT Consultants Podcast Interviews Tips for your daily life as a freelancer

How To Code Well: Taking Breaks and Other Pieces of Timeless Career Advice

Peter Fisher; freelance web developer and host of the popular “How To Code Well” podcast; discusses why he started teaching coding and some of the best career advice he has given.

🔊 Subscribe to the podcast


How to code well

How did you get into web development?

I never actually wanted to be a programmer. I actually started off from an arts background. So I did a lot of graphics design and a lot of 3D animation. We did a lot of flash animation and action script coding, so the coding came alongside the multimedia stuff.

When I was at school, I was building small little websites for myself and friends just to post images on. And I found it interesting that one could build something with really small feedback loops. All you had to do was write some HTML code and refresh the page and you had something.

And then when I got my first job in a web development agency, I discovered very quickly that I wasn’t actually a graphics designer as more of a coder. So, I was able to transfer my passion for design to a passion for designing and architecture.

You are the host and teacher of How To Code Well. A podcast and learning hub around web development and pursuing a web developer career. How did this adventure start?

I never started How To Cope Well with the intention of building a business from it or being a creator. It was a purely accidental thing that I got into. I always started blogging when I started learning because that was my way of keeping note. But I was writing to myself rather than to others.

After I finished university, I was in this ocean of developers who’ve just come out of university, and they were all looking for the same jobs. I was speaking to a lot of recruitment agents, and one of them, off the cuff, said “I wish there was a way I could show our clients how well you can code.” This was like 2006-2007, so YouTube was just coming out. And I thought: “You know, that’s something people is starting to use more, so I will video myself doing some code.” It was a very selfish decision. It was never intended to teach anyone how to code, it was just to show how I coded, so I could have called it How Well I Code rather than How To Code Well.

But then you decided to focus on helping others. What changed?

At first, I did about four videos and posted the links up onto my CV, but I very much doubted that anybody would actually see those videos from a job perspective. So, I forgot about it for a few years and didn’t bother logging back into YouTube.

Then one of my family members wanted to post or share a video for other family members. And I just thought “Oh yeah, I’ve got this YouTube account.” So, I logged in and, after several years of it being dormant, I noticed that there was a ton of comments and questions and feedback which were all very positive. I thought this was something I could run with, and it went from the very selfish decision of promoting myself to helping people out. People on YouTube were asking if I knew how to do other things, how to use other programming languages, where the next part of the course was. The funny thing is that I never thought it was a course when I did it. The driving force of How To Code Well is its community.

What was the most challenging part of starting to produce educational content on a regular basis?

I was a junior dev working a full-time job with freelance work on the side, and I was now teaching people to code, so time was and is a thing that is against me.

I’ve got a very strict rule of not doing it during working hours, so it’s evenings and weekends, and over several years I’ve managed to keep that going. But there’s a lot of sacrifices one has to make. For instance, if I live code on YouTube on Tuesdays after work, my working day is prolonged, and my downtime is shorter. If I live code on Twitch on Sundays, my Sunday afternoons are out of the water. And there’s a lot of preparation that you have to do before you do that. You need to think about what it is that you’re going to code and talk about.

What about impostor syndrome. Do you experience it yourself? How do you address it?

Impostor syndrome is something that is definitely real, and with the podcast that came through accident as well. I started doing long-form content where I was touching upon subjects that I didn’t know much about. It got to a point where I was getting to the limits of my knowledge, and I just decided to bring people on the show to learn from them. It’s always a learning journey, always knowing where my limitations are.

With every course I build, I think that I’ve done the wrong thing, if I’ve said the wrong technical thing. You know, if I’ve pronounced an acronym wrong. You’re constantly doubting yourself. It does get easier because you get used to that feeling and you can have a little word with yourself and say “It’s fine. It’s okay, you can publish it.”

You’ll never truly know how the audience is going to react until you publish it. So, every doubt that you’ve got in your mind is just your doubts. It’s not the doubts of others. I think that’s how I get through it.

Speaking to people on the podcast who know about the subject matter, I do come away feeling like I know nothing. I know what they’ve said because I’ve understood what they said, but it just makes me aware of how little I know of web development, which is another reason why web development is so good, because there is so much to know and so much to learn, it’s endless. You’ll never learn everything.

Join our community and find your next job in IT

In your experience, what makes a good web developer versus a great one?

From a technical standpoint, a good web developer knows the syntax and the processes. But a great developer understands the technical consequences of those processes and decisions, and they can lean upon past experiences.

Connect by Mindquest Newsletter

Also, a great developer is highly professional. They know when to say no and they have justifications of why they’re going to say no. They have testing, they know how long things are going to take, they have some experience behind what they’re doing. They’ve seen it from inception to deployment, and they’ve gone through the whole bug fixing cycle. But really, I think what boils it down is experience. You can’t just learn to be a great developer, you must embrace it and experience it.

Based on what you have seen through your courses, what are most developers struggling with these days?

Not understanding core programming concepts is something that I see a lot, so knowing the framework but not understanding the core principles of the programming language behind that. Learning the concepts of programming is a transferable skill. I’m not just talking about learning JavaScript or learning PHP or Python. It’s learning the operators, the logical flows, learning what a function is versus what a class is. All of those things you can take with you to the next programming language.

What I see a lot is people diving into frameworks and then getting stuck when they move to another position or another job, or when that framework changes. They are comfortable in that world, but they’re not comfortable in the world outside of that framework.

What’s the best web developer career advice you have given?

First of all

Take breaks. Take more breaks than you think you need to. Your brain works offline, so even if you’re not physically at your machine, you’re thinking about the work. I think about the work when I wake up and when I go to bed. I never switch off in terms of thinking about the bugs that I need to fix or the logical flows, but because I’m not staring at a screen, I’m not getting stressed about it. I’m processing this information in my brain in the background. And, when you come back to the code, it’s easier to identify the issue that you are in.

The second one

The second one is to keep asking questions. Web development is super hard and it’s going to get harder. You think you know it now, but, in two years’ time, you’ll know two years’ worth of it, and then you’ll discover another two years that you don’t know. There’s more stuff in web development that I don’t know than there is that I do know, and I’ve been in it for a long, long time. Don’t beat yourself up and if you don’t understand what you’re trying to achieve, then ask someone. And, if you don’t understand what that person is saying, ask someone else, because perhaps that person hasn’t talked about the answer in a way that you can absorb. Maybe you are more of a visual learner. Maybe they can show you on a whiteboard or take you through the process. Throwing acronyms at someone isn’t a very useful thing, is it?

Lastly

Lastly, technology comes and goes. At university, I studied visual basic and action script. Well, action script is for Flash. Flash is never used. And visual basic, I just wouldn’t even know. I did well in that course, but I’ve never used it. What I’m trying to say is that technology comes and goes, and whatever you learn now probably won’t be the thing that you will be learning in 10 years’ time or doing in 10 years’ time. So, what you need to do is accept that and embrace change, but don’t embrace change every five minutes.

And the only thing would add is to just enjoy it. Don’t get too stressed with it all. It’s a very challenging thing, and I find that, the more I get stressed, the more I dislike it. So, once you find that you’re actually getting stressed and frustrated with something, take a breather, take a couple of hours. The code will still be there tomorrow, so take an evening off.


Check out more of our interviews from our podcast episodes.


How To Code Well is a video podcast which is live on YouTube every Thursday at 20:00 BST. The audio version is released every Friday and is a week behind the live show. You can find it on iTunes, Spotify and most other podcast platforms.

You can follow How To Code Well through its website, on YouTube (Live every Tuesday @ 17:30 BST and Thursday @ 20:00 BST for the podcast) and on Twitch (live every Sunday @ 14:30 BST).

Categories
About us Featured Podcast Interviews

How to Grow as a Front-End Developer: Soft Skills and Keeping Things Simple

How does one grow as a front-end developer? We chat with Vasilika Klimova, senior front-end developer at Avaloq and founder of the SkillUp School in Luxembourg, about why soft skills and not over-engineering are key to advancing as a front-end dev and in your web developer carer.


🔊 Subscribe to the podcast


How to grow as a front-end developer

Why did you decide to go into web development? What’s your web developer career story?

Actually, web development wasn’t my first choice at all. I have been playing video games since I was three years old, and, at first, my idea was to become a game developer. I studied C and C++ at university. You can get into this industry through OpenGL and all this stuff but, in Tver, my city of origin in Russia, we didn’t have any jobs for students in this area. So, I found some web development vacancies and decided to try it, and by the fourth year of university I got my first job as a web developer as a Webmaster. So, I started from scratch.  

After working there for several years, I finished my university degree and moved Moscow. Then I had to decide if I wanted to go for back-end or front-end, as before I was full-stack. I was doing server code, business logic, all requests to the servers and database stuff, but also user interface. I did all of it. In Moscow there are bigger companies, and these usually have different web development teams, teams for front-end and teams for back-end. So, at this point I needed to decide: do I go as a back-end PHP developer, or as a JavaScript front-end developer? And I went for front-end because I’m a visual person. I need to see what I’m doing, and, when you work with a server, you usually look at the terminal and you see just code and not a lot of interfaces.

And what came next? You now live in Luxembourg. Why the change? What are you up to these days?

I’m actually in Luxembourg because of my previous job. I was a Front-End Team Lead at Artec 3D, a company that has offices in Moscow, Luxembourg, China and California, doing user interfaces and 3D-related tasks. After five years, I decided to switch and was approached by Avaloq’s HR department. They do banking software; it’s quite common to work in the banking industry in Luxembourg.

Avaloq is a much bigger company, and banking quite a regulated industry. Did you notice any differences as a front-end dev?

So, I went from a 200-people company to a 2,500 thousand one with 30 offices around the world. And some processes are not as fast.

Before, when I needed to ask someone within the company for something, I just went directly to them and asked them. But Avaloq has around 800 people at its main office in Switzerland. If you need some information, there are a lot of different teams, and you really need to investigate. For example, sometimes you are working on a project, and you need to find the people who wrote the code in the first place. And often, the only way to know who did this code is to look at who committed it. Coders and managers change, and the only way to find the author of the code is through the commit.

Join our community and find your next job in IT

And besides your job, you also work on some web projects, do consulting and give private lessons for adults and children. You are also the founder of SkillUp School, a school that teaches technical skills and how to advance your front-end web developer career. Tell us a bit more.

Yes. I started being a teacher and mentor for front-end development in 2015. I taught at schools in Russia, both online and offline. And after I had settled in Luxembourg and finally had some time in my hands, I decided to create SkillUp School, as I hadn’t seen that many schools like this in the country.

What we give to our students is this absolutely modern way of looking at front-end technologies, because as professional front-end developers, we are using them every day. We started in 2019. We don’t have too many students, and our main idea is to be very flexible for our students. People who want to change their career usually already have a job and not that much time to invest in their development. We only have two or three teams per year, so not big groups, and we are very flexible. It helps us take an individual approach to each student, and I often become even friends with them. After the course, I keep helping them grow and with any questions they have.

In your experience, what makes a good vs. a great web developer?

I think I started to think more about this when I became a team leader. Good developers can think from a technical standpoint, but a great developer, in addition to the technical aspect, knows how to take more of a business perspective. The main idea behind our job is to deliver something that makes our clients happy. You need to think about the business requirements, why you have these requirements, if there may be a more efficient way to create a feature that meets them and not overengineer. You need to ask yourself “Why?” several times.

Connect by Mindquest Newsletter

I know some genius developers, but sometimes they end up over-engineering because they want to make something ideal, something perfect. But the business doesn’t need that. You need something now, for this and for that purpose. And you always need to keep timing in mind. If development takes more time, then you can run into problems. It’s more of the developer’s time, which results in more money. Don’t over-engineer. Relax and just keep it simple.

As a senior developer, how can more junior specialists grow as front-end developers?

To work on their soft skills, on how to learn, how to behave, work in teams, etc. If one day you’d like to become a team leader, it’s important to work on your team skills, on how to negotiate with web designers. Often developers have issues with designers because we materialise their design and they are not happy with what we created. You really need to have a grasp of some psychology basics for this.

What do you enjoy doing in your free time?

I like scuba diving. I already have more than 100 dives on my back and am a rescue diver, so I could rescue someone from the water, I hope. It’s so calming and beautiful under the surface. But I don’t have enough money to do it too many times a year. Usually maximum twice per year, unfortunately. Covid-19 has made it particularly hard too.

I also like playing board games and having a nice time with friends. I still play computer and video games sometimes. Not to compete, but it’s just something that helps me relax. I am partial to games with and interesting and breath-taking plot.

Your favourite video game?

Mass Effect, the first and third ones.


Check out more of our interviews from our podcast episodes.


For more tips on how to advance your web developer career, make sure to check Vasilika’s website and follow her on Twitter, GitHub, and LinkedIn.

Categories
About us Featured Podcast Interviews

‘If it’s Useful for You, Then It’s Useful for Someone Else’: DevRel and Creating Content for Web Devs

What’s the secret to creating content for web devs? We continue our chat with Stefan Judis, developer relations lead at Contentful, blogger and front-end expert. Here is why and how he shares what he knows and learns with the community.


🔊 Subscribe to the podcast


Creating content for web devs

After building a career as a front-end developer, you’re now leading developer relationsfor Contentful. What does exactly the job involve? 

Developer relations is still a fairly new field. What we see over the last decade is that a lot of technology companies. And especially the developers using these technologies have a lot of decision power. We at Contentful are one of these software providers, a headless CMS (Content Management System) that you can put anywhere. And our developer relations team doesn’t work directly on the product. We have completely separated engineering teams that are building the APIs and the product itself.

And the DevRel team is there to spread the word about Contentful but also going into the communities and helping developers with whatever they’re struggling with. And this can be Contentful related, but very often it’s also just web development related. So, what we’re doing is that we are blogging, we are building code examples, etc. And whenever we are talking to users or customers or friends; we are basically the bridge between the product and the developer communities out there.

When someone has a problem with something, our team are usually the first people that they go back to. And we’re then feeding all these things back into the process and building this trust within the developer community. So, yeah, we are blogging, speaking, writing, and hanging out on our community Slack. To connect with the people, have a little bit of fun and build cool stuff. That’s what I do for a living.

But you also enjoy creating content for web devs in your free time, right? 

Yes. Since this year, so since 2021 and the pandemic and being stuck home, I’m writing a weekly newsletter. If people are interested in random web development stuff to read on a Monday morning over their coffee… It’s usually something around 10 resources, some GitHub repositories, some music, etc. And I’m writing that every Sunday. So if you’re up for some random good stuff I thought was good over the week, people can subscribe here. 

So where do you draw the line between your personal blogging and the one you do as part of your developer relations job?

Well, when you work in DevRel, the line is very, very blurry. Where does work start and where does it end? So I usually do a lot of things on the side. Right. So I do a lot of blogging on my own blog and occasionally I do something for the Contentful blog. Lately, I am leading the DevRel team, which means that I’m not hands-on with the content that much anymore. But I’m still around and the line is very, very blurry.

When you work in these semipublic roles, it’s usually like “Oh yeah, Stefan is the Contentful guy”. And when someone writes me DM on Twitter on a Saturday because they’re struggling with something, well, I’m the last person to say “Yeah, no, it’s the weekend, not going to help you right now”. So it’s very hard to tell where it starts and ends. But I’m just really into web development and I like to share all the things that I learn and that are exciting. And that’s just what I do.

Join our community and find your next job or expert in IT

What advice do you have for other IT pros who want to create content and share tips to help out others? How did you start creating content for web devs?

It’s hard for me to give advice, but I can say what I do. I made it a habit of writing something down or creating a video or some sort of content around things that I discover. I’m also reading a lot. I’m subscribed to a gazillion newsletters. So when on a Sunday morning, I read something and have this thought “Huh, I didn’t know that”, I put it somewhere. It could be on my own website, or it could be on Twitter. But just making this habit of constantly documenting what you’re learning helps with this whole idea that you don’t know anything about web development, because this fear is just so big.

Connect by Mindquest Newsletter

I have been doing this for three or four years. And what that comes down to is that I now have, I don’t know, 200, 300, 400 learnings on my own website. And these are primarily for me. So this is how it started. Because I wanted to come back a month later or six months later and look at it and say “Man. You got a lot smarter over the last six months”. But, after some time, more and more people discovered what I wrote. Because, if it’s useful for me, usually I’m not alone.

And that’s one piece of advice that I would give to people that want to start creating content or blogging. If it’s useful for you, you are usually not alone. And there is nothing like “Oh, beginner content is not useful” or “It has to be this 2,000-word, in-depth article with a lot of scientific, engineering knowledge”. That’s absolutely not the case. We have so many people joining the industry. And whenever you learn something or when someone learns something, I think it’s a very good habit to just write it down.

And then you have the greatest feeling in the world. When some people write me an email or send me a tweet tell me “Hey, Stefan, I just learned this thing. You learned that three months ago and now there’s two of us.” And that’s just beautiful because you can kind of connect the two things, helping people but also documenting your journey.

And you have even built some tools to help you and others in the learning journey, Tiny Helpers and Random MDN. Can you tell us a bit about them?

Tiny Helpers is a very simple website that I created around Christmas one and a half years ago. There are so many self-built or quick build tools that you usually cannot Google. For example, there are a lot of people that build tools for accessibility or tools for defining font sizes, but when you Google them, you will never, ever find them because they are not SEO optimised. There are not a lot of words in them. If you find them and don’t bookmark them, you will always lose them. So, I just built this little resource collection that is Tiny Helpers, and I put it online because that’s what I do.

I thought, “Well, if it’s useful for you, then it’s probably useful for someone else.” And the whole thing is open for contributions. I think I have had over 100 contributions. And there are quite a few people that just come in and say “Oh, that’s useful. I should add that to Tiny Helpers because that’s where I go to find little online tools.” And, when I’m looking for a very specific tool that I’ve seen online, I’m going there as well and it’s the same thing. If it’s useful for me, it’s usually useful for someone else.

The other project that you mentioned, Random MDN is a quick and easy Twitter bot that I built to support my learning journey. So MDN is the developer resource for Mozilla, and it is huge. There is so much knowledge in there and I just had this random thought: “Hey, it would be kind of cool if there was something that tweeted out random MDN pages. It tweets six times a day. It just grabs the sitemap from MDN, picks a random page and tweets it out. And I learn new things just because of it. Sometimes I see a tweet and I am like “Huh, I didn’t know that.” And very often this me to blogging about it, just because my own bot taught me something about web development.


Check out more of our interviews from our podcast episodes.


Follow Stefan through his blog, Twitter, GitHub, and LinkedIn.

Also discover our article: A Data Centre Migration Is About Technology and People

Categories
About us Featured Podcast Interviews

What Makes a Successful Web Dev: Stefan Judis, Front-End Dev Expert

What makes a successful web dev? We interview Berlin-based front-end expert Stefan Judis. Stefan works for the content management platform Contentful leading developer relations. Whether it is by tweeting, writing, or streaming, he loves sharing his web development expertise with the broader community. He also helps maintain Tiny helpers and Random MDN.



🔊 Subscribe to the podcast

Let’s start from the beginning. How did you get started in technology?

I started working in a completely different field after school. I was working as a sound engineer, and I worked in German television. So, what I did for a couple of years was mixing stuff mainly for sports TV shows. But then I figured out that I didn’t want to do that my whole life, that that wasn’t going to fly going forward. So, I thought, well, you’ve been always good with computers.

Then I started studying here in Berlin, where I learned to program stuff. So, it all began with a little bit of C++ and Java and these kinds of things that you learn at university. Berlin is a very start-up-heavy city, so I landed an internship working with Magento and PHP – not real front-end stuff like we do these days; that was not really a thing yet back then. But yeah, I took my first internship and from then I just jump from company to company and learned that I love the web and love writing and creating content around web technologies.

What made you fall in love with web development?

I’ve always liked the visual aspect of it. When I started, I was really into the Magento stack and I thought it was kind of cool, but I always liked the whole visual animation part of doing web development. And when I started, it was still the early days. Then, you know, slide up, slide down, fade in, fade out, all of these tiny functions. But II found these incredibly appealing. And then slowly but surely, front-end development became a real thing. Then more complexity got into that, and I was completely hooked by all this new technology that was coming out. Then I found out that building for the web is fun. And since then, I tried to build the best stuff possible.

Join our community and find your next job in IT

What was the hardest part of your transition into tech?

Well, especially in web development, learning is difficult. I have been doing web dev for 10 years, and when I started, I was incredibly impressed with what people were doing there. So, I remember I was sitting next to a colleague, and they opened their terminal, and they were doing some fancy stuff in this black window and I was like, “holy moly this is a completely different world.”

I think it was rather challenging to figure out what exactly I had to know. What should I know how to do? But also building a career around that. I think it’s also important to figure out what you actually like.

So, even though now I say that I specialise in front-end technologies, that took me quite a while. Then, I would say that it took me two or three years to figure it out and get a clearer picture of what is actually out there. And it’s only getting worse, especially in the front-end sphere, because there’s just so much technology out there. A lot of people keep asking me: “Hey Stefan, what should I learn?” And I’m like, “well, good luck figuring that one out.” So, I think that is definitely a challenge that we have at the individual level, but also at the industry level, because there’s just so much stuff happening these days.

Given how many open fronts there are these days, what would you recommend to those who don’t know what to focus on?

For people who are just entering the industry: do whatever is fun and useful, really, because there’s so much stuff to learn and it feels very, very overwhelming. Build your website, get it off the ground and do whatever is fun and useful. But what I usually recommend to people is: don’t forget to be curious about the technology when doing so.

Connect by Mindquest - Newsletter

What we see right now is that there are a lot of people just learning a framework when they enter the industry. And, while that is great to get a product off the ground, I think it’s very important to understand what is actually going on. I’m a big fan of the pillars of the web, HTML, CSS and JavaScript, and I think it’s still important to have a very good fundamental knowledge of these technologies. And these are huge areas by themselves. You cannot be an expert in all three areas, especially when you have frameworks on top and that and maybe something on top of the frameworks. But I think curiosity and having this drive to say: “Ok, I’m using that. But how does it actually work?” — I think that’s very important to become a good web developer.

In your experience, what separates a good web dev from a great one? Is it soft skills, or is it more about hard skills? What make a successful web dev?

I think there are two areas. Soft skills are usually a very underrated thing when we speak about software developers. Being a team player in general, I think this is definitely a crucial part of a solid career. Being humble, being helpful, all the kinds of things that make you a good team player. That’s something, for example, that probably should have been taught at university when I studied. Good or great teams or developers really depend on soft skills. And I would love to have the industry focus a little bit more around that.

And speaking from the technology side of things, I think a great web developer is someone who always puts the user first. What happens in web development right now is that we have a lot of technology fatigue. We’re using the latest and greatest just because it is the latest and greatest or just because everybody is doing it. So, what I see very often are overengineered sites and products where something simpler would have done the job.

There’s nothing wrong with building something with the latest and greatest when you’re playing around and you’re building your own blog. But when you’re building a commercial product, I think it’s very important to take a step back and think: “Hey, did that make the whole thing slower, or is it now more inaccessible or is it less robust just because we wanted to use the latest and greatest technology?” I think great developers keep the bigger picture in mind and think about the user to build the best possible product. Because at the end of the day, that’s what we’re paid for. We’re not paid for playing with tech. We are paid for building something great.

What would you say are the top three soft skills a successful web dev should have?

I would say it’s the usual things, from being helpful to being humble. Putting yourself into the shoes of your colleagues and customers, I think that is a very underrated skill. Very often it always feels like everything is on fire and everybody wants something. But very often, and I’m guilty of that myself, it’s necessary to take a deep breath and think about where the other person is coming from. I think this is very valuable when it comes to building a career or working together in teams.

One piece of advice that I received a few years ago and that I now keep close to my heart is that when you’re working it can get quite stressful, always under pressure. And very often, what happened to me is that I had this kind of “anti-” mode. I was like, “everything is too much.” And I just ranted a lot to other people. And I once ranted in a situation where the person was in front of me. They went like: “Stefan, I feel you, I empathise with you, but what’s the solution?” And I didn’t have one. I just wanted to rant.

Since then, when I really had the feeling that something had to change or something was really going on with my nerves. Try to think about the solution first and then propose that to colleagues, your bosses, your mates or whoever is around you, because very often ranting doesn’t solve the problem. And it’s very easy to rant instead of changing something. And that’s something that I learned and that I have kept with me for a couple of years now. And it’s definitely helpful.


Check out more of our interviews from our podcast episodes.


Follow Stefan through his blog, Twitter, GitHub, and LinkedIn.