While you are entirely free to choose your area of specialization based on what you need and your preferences, it is always useful to get the opinion of other specialists before making a decision. I will present below a consultation I had on Skype with a boy who wanted to take some IT courses. But the choice of direction and technologies for study concerned him:

9:57 PM

Hello, I understand that you want to take some courses on software development and want to know more about web programming.

Alex, 10:03 PM

Hello, yes, I've decided to take some IT courses, but I'd like to consult you on how to proceed.

10:04 PM

Web programmers can be divided into 3 categories:

1. Backend developers (those who develop the back/server-side)

2. Frontend developers (those who work on the interface side)

3. Full stack developers, those who work both back and front.

So as recommended technologies for a study, I would definitely mention the following: HTML, CSS, and JavaScript. There are front-end technologies that you should know at least to an intermediate level, even if you don't get to work on the front-end, you need to know what they refer to, what they consist of, and how it is used. It is a must, to understand the structure of web pages, how they are represented in a browser and how they work.

I would recommend the Python or C# language, and strictly necessary the SQL language (it's a query language used by databases), you need it specifically for the back-end part, for developing the server-side. But if you want to start as a back-end developer, you should also learn some architectures such as REST, MVC, as well as databases like MySQL (very popular at the moment, specifically used for web applications).

And if you learn all these mentioned technologies, you can already specialize as a full-stack web developer, having higher chances of being hired.

I also have to mention some JavaScript libraries used very often for web interfaces, such as jQuery, Ajax, ReactJS, VueJS, and AngularJS. With their help, you can build multifunctional interfaces of high complexity. Also as an alternative to back-end programming, I can suggest the PHP language - it's very popular, especially for web programming. Based on the PHP language, socalled CMS were developed, which allow users to quickly create web pages using templates. I can mention some of them: WordPress, Joomla, Drupal.

There are programmers who specialize only in CMS, knowing at a certain level (but of course not too advanced) some PHP, HTML and CSS. But they work stable and earn quite well. You can often find a lot of job offers like WordPress Developers, Joomla Developers, etc.

So according to the level of complexity from simple to advanced, I can recommend the following technologies:

  • WordPress is the most popular CMS at the moment, which supports many integrations, or you can learn any other CMS like Joomla, Drupal, OpenCart, Magento, etc. And it would be helpful to gain some knowledge of PHP, HTML, CSS.
  • Python or PHP up to a more advanced level including reading something about API development and of course the basics: JavaScript, HTML, CSS. You could study after some JavaScript libraries like: ReactJS or VueJS or Angular. You can study only back-end technologies, but start with databases, and I recommend MySQL. Or you can study only front-end technologies and HTML+CSS, JavaScript, TypeScript and Angular would be enough. Angular is a framework written in TypeScript and JavaScript languages. It is quite popular and often used for the development of web interfaces.
  • The C# language and technologies from the .NET/.NET Core platform such as: ASP.NET MVC, WebAPI, ASP.NET MVC Core. Including MSSQL (Microsoft SQL Server) databases.
  • The Java language and frameworks such as Spring MVC. Including Oracle and/or PostgreSQL databases.

First and foremost start studying how the Internet works and how web applications work. It is important that you become familiar with these concepts like the HTTP and HTTPS protocols, DNS, routing, SSL certificates, domains, hosting, requests, and responses. You need to understand how the mechanisms behind and in the interface work. You need to understand how the page is rendered in the browser and how user interaction is carried out, so that you can already start working on the technologies.

To learn them, I recommend starting with HTML and CSS courses, and then JavaScript at least until intermediate level.

In addition I can mention the fact that there are some people who specialize only in HTML and CSS, the so-called web designers, or they are also called layouters. They create the page structure and design. And as a skilled web designer you can also earn well and build a career.

So study all these technologies gradually, first HTML, CSS, JavaScript, then choose a suite from those recommended above. You will do some personal work, some web design, small applications, accumulate a portfolio, put all this on your CV and you will be ready to apply for job offers. This is what I can recommend to you regarding web development.

Alex, 10:24 PM

Okay, I found some courses, but the price seems too high. The fee for the 15 weeks of learning web development is 15000$, but I also found cheaper courses, and there are many free courses on Youtube, from people who teach programming in all languages. And now I'm thinking about how to learn programming without spending a lot of money?

10:26 PM

Yes, their offer is expensive, when you could learn everything for free or for $100 only. See first how you manage on your own for a month or two, see how you understand and what you can do afterwards. You can sign up for free courses on Youtube or Udemy.

And then decide if more investment is needed. Start with less and then move on to more. In any case, you can learn many things for free. Ultimately, it all comes down to your diligence and interest.

Alex, 10:29 PM

Okay, thanks. Tomorrow I will do more detailed research on where and how to learn, and if I have any questions can I call you?

10:30 PM

Of course. But better leave me a Skype or email message. We can also have a Skype call, if I'm available at that time.

10:37 PM

It's good for a start, you don't need powerful development machines for studies. Now coding lessons can also be practiced in online editors without the need to install anything on your local machine.

Alex, 10:40 PM

Okay, thank you very much for the consultation. I will decide soon which course to follow. I'll write to you if I have more questions.

Regards.

10:43 PM

Regards.

***

Any person who is just starting out and wants to enter the IT world is welcome to request such consultations. Before taking any steps, consult with already trained IT professionals regarding the direction you wish to take. Listen to everyone's opinion and form your own.

Finally, I would like to mention that HTML, CSS, JavaScript are technologies that enable the development of websites, mobile applications, and desktop applications, including games. The only thing you'll need to do is choose a framework that suits your needs, even from those mentioned in the previous chapter. And you can master it gradually by building your own small applications and using practical examples.

When I was starting out, I had a predilection for the C# programming language, and I don’t regret it. Today it is widely used for desktop, web, and mobile application development in conjunction with .NET Framework technologies, it is also widely used for developing games on the Unity platform.

The choice is yours. I can only consult, you decide for yourself. Just remember that you don't have to throw away a lot of money when you can study free tutorials, you can find free or cheap online books, also you can apply for free online courses, or buy promotional ones for $10. There are plenty of courses on Udemy, Pluralsight, LinkedIn, Tutorialspoint and Youtube.

SUBSCRIBE

Get product updates, launch announcements, and more by joining our newsletter.

Many people enjoy learning from books. You can also achieve technical skills and knowledge by trying our featured e-books.
Study Point is a project designed to bring you useful and enjoyable learning material, accessible to everyone.
Follow us by subscribing to our newsletter.

*If you'll encounter any problem please contact us on contact@study-point.info