DEV Community

Cover image for A journey to yourself (and to a web development)
Andrey K.
Andrey K.

Posted on • Updated on

A journey to yourself (and to a web development)

Exactly a year ago, in March of 2020 I’ve decided to become a web developer. At the time of that decision, I was 37, I didn’t have a tech degree or a commercial experience in that field and I didn’t have any friends in tech (I’m a photojournalist by education actually). I had years of experience as an IT specialist at a job I wasn’t happy with (it was mostly fixing stuff), but it took a while to finally begin to code.

The dawn of time

I can say I had some interest in programming since I was a child. During the first post-soviet years (early 90’s) my parents bought me a simple Russian-made computer which used Basic and stored data on cassette tapes (48kb RAM, 16KB GPU 😎). I’ve tried some first loops and conditionals, tried to break games, but all of that didn’t last long.

Russian computer

Several years later my classmate invited me to join the computer club, where I studied Basic again, then switched to Turbo Pascal. By the end of the year, I’ve managed to win the 1st prize at the programming competition by building a platformer game concept (the first two game screens with movable character and monsters). At the second year we switched to C++, but its complexity and documentation in English scared me (it was before the internet and even before PCs itself became widespread in Russia).

Millennium bug aftermath

My second attempt at programming was a bit more successful. In early 00’s my friend and I build our first website to showcase our art projects. We were working with Dreamweaver, a visual editor, building was fun, and after that I’ve also built a few anime-related fan websites. You might have heard of table layouts – this was exactly it, many people built that way back then, but the brave ones already tried CSS floats.

Old anime website in Russian

After a while, I got more curious, and I’ve started to attend HTML, CSS, JavaScript & PHP on-site courses at one of our Universities. Even before flexbox and grid, CSS seemed a very promising tech, so I got the basics quickly, and it became the foundation of what I know today. But for JavaScript… I didn’t see at all how powerful it can become (if only I knew), so it just ended with alert windows and snowflakes effect for me. As for PHP, I didn’t master it, and I didn’t understand some of its concepts (OOP, specifically), but later I’ve built a couple of websites with it, one for the company I was working for. Unfortunately, in the following years, I’ve forgotten everything I knew about it.

The long dark

In 2006 a tragedy happened in my life, from which I never fully recovered. For many years after that it was only a mist, I lived by myself, I went to work, but rarely contacted or connected with anyone, didn’t try to get any help, just went with the flow, not planning anything, not aiming for anything, not feeling any joy. Eventually, I have managed to pull myself together to start living again. I’m glad that during those hard times I haven’t forsaken CSS, I continued to use it from time to time, did some templates for a gaming community. In 2016 I got pretty interested in new CSS features, so I’ve built my Deus Ex Pad in pure CSS.

Gaming community templates screenshot

A new beginning

By 2020 things got to a sad state. A company I was with for 16 years slowly continued to disintegrate, I did not become a real expert in anything (IT, servers, technical editing, photography, video editing – all of those weren’t at enough level to find a decent job), and my soft skills were awful. After the pandemic started, I was left with a small income and a big amount of free time, so I’ve decided to try something new.

First, I’ve started with The Web Developer Bootcamp course by Colt Steele which I spontaneously bought a year before that. I always thought it was too late for me to become a developer, seeing all those people in their 20s becoming seniors, tech leads and SEOs. I also wasn’t confident in my ability to learn again. But, as I was learning, I began to notice it’s not as hard as it seems, which gave me hope. I didn’t finish the course (sorry, Colt), but it gave me a good understanding of the current state of frontend (and backend also) and of what I should do next. By the way, the course was rebuilt last year to the modern standards – I recommend to check it out for beginners.

In spring I’ve made my biggest decision that year - I’ve joined Yandex Practicum Web Developer program, kind of a mix between a bootcamp and online courses. I paid for the program using some rainy-day savings I had, but I never regretted it. I know that you can learn everything by yourself today using all of the free resources offered around. But I wanted more, something closer to a real job environment – a mentorship, a feedback on my code, a plan, a guidance, a team. For 9 months there spending 10-15 hours every week I’ve learned a lot, I’ve met great people, and finally got myself ready for a career change.

News Explorer Project

The second important decision last year for me was joining the tech Twitter. I’ve found the most wonderful, supporting and friendly community. I’ve learned along the others following the same path, I’ve shared my achievements and hardships, tech-related and not tech-related, became friends with some people, and continue to gain morale boosts every day, seeing developers all over the world exploring, inventing and building every day! Inspired by Twitter CSS artists I’ve created my most famous work so far – a pure CSS realistic calculator with a JavaScript logic.

What happened next?

My job hunt began shortly after I’ve finished the program. Actually, the first invitation came from another student of our group, who happened to be a Product owner in a finance company. I’ve been noticed because I was helping others, I shared my knowledge, and I was not a toxic person. My first developer interview was pretty nervous, I forgot a couple of basic things, but I got a good feedback, as I learned later. Unfortunately, I had to decline the offer because some conditions didn’t suit me.

After that, a demotivating month began. I’ve sent 32 applications, almost all of them were ignored (they didn’t even reject me). Finding a frontend developer job without a real experience isn’t easy today at all, even if your CV and LinkedIn page are good. The best chances to get invited to an interview is through a personal contact with a company representative – make contacts and connections, as I said earlier. Another way to raise your value is to gain a real experience by building websites (the easiest way is to offer your services to some local businesses), doing freelance jobs, participating in hackathons & open source (the latter is especially valued, but I had a hard time finding a serious project for my skill lever to contribute to). There is also an option of paid/unpaid internship – it can be also great (depending on the company).

GitHub Screenshot

My next chance came through a graduates program at Practicum. A small team wanted a junior frontend developer from our students who knew TypeScript, they gave a test assignment. I usually feel negative about test assignments, because you can lose a few days doing it for nothing, but this time I tried. Knowing nothing about TS, I quickly watched basics and React section from Understanding TypeScript I linked below and then did it in 1.5 days (also learned React-Bootstrap along the way). I did good, they pointed out my clean code and attention to details and invited me to an interview. This time it was more casual, I was more confident, in a couple of days I received an offer.

My learning resources

One of the most useful resources that helped me with studies is, of course, freeCodeCamp. It does not exactly teach you, but it tests you, your knowledge, your logical thinking – the lack of theory is compensated by interesting, sometimes challenging assignments. You should start with HTML/CSS chapter (Responsive Web Design) early, it’s pretty easy compared to the next JavaScript chapter.

The most efficient learning format for me, apart from the main program, was video tutorials. I used Udemy for that (but there are also many great videos on YouTube). My favorite instructor is Maximilian Schwarzmüller, I’ve completed one of his courses and currently finishing two more:

The best practice is not to just watch the course, but pause it to try to code fragments before the instructor. I can also recommend Stephen Grider and Andrei Neagoie - it’s best to find the instructor you’re most comfortable with.

If you’re looking for non-Udemy video sources – you may check out courses by Wes Bos, especially his amazing CSS Grid Course (it’s free). Also, don’t miss Brad Traversy’s YouTube channel. Since practice is the most important part of your journey, there are platforms to help you with that, such as Frontend Mentor and The Odin Project. Codewars and LeetCode can help you with algorithms when you are done with basics, they are also great for preparing to the interview.

To get a better picture of your possible path, look at this Roadmap (there are ones for other specialties, too). There is also a detailed visual list with links on learning possibilities.

Developer Skills list

My path looked approximately like this:

  • HTML/CSS – 1.5 months
  • JavaScript – 3.5 months
  • React – 2 months
  • Node/Express – 2 months
  • Graduation work ~ 1 month

Then I continued with React, Redux, TypeScript. Continuing to learn JS every day, and I love it.

My advices to those who’s on this journey:

  • Stay consistent, try to code or to learn every day.
  • Don’t overwork yourself, but also don’t take too long breaks – some topics are easily forgotten without practice. Set a plan for yourself, what you want to learn with approximate time – and stick to it.
  • Take short breaks at least every hour, do workouts regularly.
  • Take notes. I’m using Notion for it, I put theory bits and code examples there by tech and by topics.
  • Don’t learn everything at once, choose what you need wisely, don’t spend your time on tech you won’t be using in the nearest future.
  • Switch between your project/tasks, when what you’re doing now feels boring or overwhelming, you can return to it later.
  • Make contacts, try to engage with other developers who’s learning, or with professionals, ask questions. Don’t focus on yourself, try to help others too.
  • Do your side projects, not only tutorial projects. Don’t build weather apps like everyone else, take ideas from life – what would you use yourself?

On a side note, check out my Working Faster in VSCode article, which may increase your productivity a bit.

Thank you for reading this, I hope it was a little bit informative or useful!
If you have any questions – be sure to ask.
You can find me at Twitter as @cat__logic

Photo by Robert Stemler on Unsplash

Top comments (12)

raphael_jambalos profile image
Raphael Jambalos

Hi Andrew! I read your post and I want to say that I'm proud of you for pulling through your plan to shift to the tech world. Learning how to code can be quite intimidating, especially at first. There's so much to learn! I think your decision to pay for the Yandex practicum program is really the game-changing decision you made.

Without a mentor, it would be hard to know what to study next or how long you should study for a single piece of tech. Aside from that, I think investing actual money for something makes it legit, which helps you stick to it. Paying for something, you also get great content because the authors are actually compensated for it.

I do want to add to your list of advice. For me, it's important to set aside time for a playful handson of the technology I'm trying out. After learning enough concepts, I design my own handson exercise and implement it. It helps me to not be bored abot what I'm studying since I can get my feet wet right away on the topic I'm studying.

Kudos to you Andrew!

catlogic profile image
Andrey K.

Thank you for your encouraging words, Raphael!

Mentorship and feedback really help, without it I could have learned twice as longer. I agree that it's okay to compensate people who helps you. In the end, you're still learning by yourself, but you're better organized, topics are better structured and you're much more motivated when you have to do assignments on time.

A helpful advice! Good luck in your projects!

mrothe570 profile image

This is awesome. I started learning with freeCodeCamp back in May of last year. I have to say that, disappointingly for myself, I didn't engage with it through the rest of the year. It was me dipping my toes in for a few months.

Now, I am back on that path and learning with a few different resources. I have a github set up and code within VSCode instead of CodePen. And I know more about things like the Box Model, cascade, specificity. And I'm finally on to JavaScript.

It's been fun learning but I also try to keep myself sharp with projects and definitely has been a good resource for engaging with other developers and keeping myself accountable. Loved reading about your journey.

catlogic profile image
Andrey K.

Thanks, Michael!
Good luck on your learning path!

aleksacodes profile image

This article right here is probably the best starting point for any developer just starting, all the listed resources are real quality ones. After doing all the research myself(don't have a mentor sadly), I am on a very similar path.

My final goals after TypeScript are to learn Next.js(like a better create-react-app + SSG/SSR) and NestJS which I heard great things about and they both support TS out of the box. But I'm nowhere near the end, still trying to get a better grasp of JavaScript and React/Node.js first.

Really great article Andrey, and congrats on all the accomplishments so far!

catlogic profile image
Andrey K.

Thanks, Aleksa!
I worked with Next for a little bit, it make life of a React developer much easier in some aspects 🙂

aalphaindia profile image
Pawan Pawar

Good one!

mikedev profile image

Really interesting read, ima take some if not all of your advice as a beginner myself

damionm101 profile image

Thank you for this.

I'm 48 (49 next month) getting started in this. It's good not to feel alone in your path.

catlogic profile image
Andrey K.

I also met a few people in their 40's and 50's who started at the same time as me, it gave me hope, too 🙂

emabytes profile image

What an incredible journey, Andrey! Bravo 👏
I can see so many similarities in our paths, even in our timelines 😀

Good luck on your new job! 🍀

catlogic profile image
Andrey K.

Thank you, Ema! 😄