Blog ui mentoring

Tips on learning web development

Part of “The UI Development Mentoring Program” series:

A couple of years ago, I wrote an article about called “The essential skill of a developer”. That particular skill is learning or the need to continue learning new things. Some people noted this is not a revolutionary conclusion or a breakthrough. It isn’t, indeed, but I do believe learning is the essential skill for every developer.

If you are a beginner, where would you begin these days? Would you learn backend, frontend, PHP, NodeJS, React, JavaScript, CSS, Sass? Would you watch courses, read books or articles, would you take classes or go to boot camps?

There are so many choices these days, and I believe some people might be overwhelmed and discouraged at the beginning. I got some ideas about how to start and where to begin, especially if you are interested in the frontend user interface development.

Learn the basics

I noticed a lot of people are confused about the basics: the servers, the databases, the client, the browsers. As a web developer, your responsibility is:

  • to know where the data is stored,
  • how to fetch it,
  • how to bring it to the browser, and
  • how to optimize asset delivery.

Take your time and learn how the Internet works. Don’t skip steps; try to understand everything from DNS to browser engines. You don’t have to know every detail, though, stick to the basics.

Without this knowledge, you might be in a situation when you node your head during the conversation but you don’t understand the half of it. That might lead to missing the vital part of the interview or a meeting.

Stick to the plan

Choosing the right path might be a difficult task, especially when starting. If you are good with math, you might want to solve problems with backend technologies. If you are more of an esthetic type, you might want to create layouts and templates with frontend technologies. That is the major development divide, but the modern development path has so many options, so it is up to you to discover what you enjoy the most.

If you look at the Developer Roadmap, you might be overwhelmed at first. I suggest you take a long look at these graphs and try to figure out what attracts you the most. Once you decide which way to go, try to stick with it. At least, try not to roam outside of that area to much.

Master the skill

When you start learning, you might be quite overwhelmed by the number of new terminologies. That might lead to major loss of track, but that is something that you would fight with all the time anyway. I still find myself reading the fifth article when I only wanted to read one.

You might want to make a list or a plan or a schedule to avoid wasting time as much as possible. A simple schedule or Trello board could help you focus on getting there, especially if you set up deadlines for yourself.

A whiteboard with project structure.

Following courses or tutorials is a challenge, but writing code alongside might be even more challenging. You might be tempted to copy-paste the code, but that could turn out to be a devastating decision. If you copy-paste the code, you won’t learn anything. Even worse, you might not even understand how it works. That might have severe consequences in the future, like overpromise and providing incorrect estimates to your client or boss, which might affect your reputation or even a job.

The best way to learn is to type every word. Understanding every line and getting familiar with the code is useful not only to make the code work but also for finding bugs and fixing problems.

Stay focused

As I stated at the beginning of the article, learning is essential for every developer. It is ok to read about shiny new techniques and tools, but don’t immediately stick with it and try to implement it into your projects. Old, stable, well-documented systems should be your first choice, mostly. The new and shiny might be exciting, but it may be a problem to solve problems and bugs along the way.

However, if you want to implement new finding into your project, consider writing about it. You might even discover something new that might help others. Either way, it would be a good exercise for you, as you will learn a new thing, and for others, as they could use your knowledge to implement the same thing quickly.

Stay up-to-date

The above advice might seem contradictor to this one, but it is not. Reading about new and shiny things is an excellent way to find out about new possibilities to understand where the industry is heading. If you like to be more engaged with the community, you should consider sharing your thoughts by commenting on the posts or engaging on social networks. There are also a lot of closed communities, like Slack communities, where you might find a lot of interesting reads and bits of advice.

Think, organize, and then code

If you are a beginner, you might never see a specification or design for the project. You will probably immediately jump straight to coding. Before you do, you should learn about project management, and try to manage your projects like a professional.

Learn to use tools, try to break the project into phases and tasks, and try to define deadlines. You might be surprised how much easier it is to code when you predicted the problems at the beginning. These predictions would get better as you gain more experience.

One other thing: don’t feel guilty if you don’t follow the project tasks and deadlines strictly, especially if you are the only one on the project. Consider these rules as guidelines, not strict rules.

Find a tutor

If you could find a person, a mentor, who could guide you along your journey, you might skip a few steps. The mentor might give you career advice, help you with the project or guide you when you are in doubt.

Take advantage of this opportunity, and don’t hesitate to ask a lot of questions or talk about the problems and possible solutions. Every mentor likes thirsty mentees who wish to prove themselves.

Conclusion

If you want to learn or improve your Frontend or User Interface skills like HTML, CSS, or JavaScript, I might be able to guide you as I started The UI Development Mentoring Program this year. You could apply to become a mentee, or you could find useful resources and tips.

This post is available in the form of slides, too:

Happy coding!


This post is part of The UI Development Mentoring Program series: