Answer the question
In order to leave comments, you need to log in
How to become a professional web developer in 7 years?
Introduction
In the future I want to connect my life only with programming. I have 7 years to do all this.
I have not yet decided with which one - regular or web. But the usual will be taught at the university, so I have been studying the web for 5 months. So far, I am only 16 years old and I am one of the “smallest” on Habré, and therefore I ask for help from pros who know their business.
Problem
Today I know:
1. HTML (including the basics of version 5). I can make a simple layout;
2. Basics of CSS 2.1;
3. The very basics of JavaScript and jQuery;
4. PHP (including the basics of OOP). All I can do now is register and enter the site + guest book;
5. MySQL - the most basic.
+experience with WordPress and Joomla. English - basic, I tried to read excerpts from books o'reilly, I understand 70% of the text.
What's next is unclear. I want to go again, studying everything at a more professional level, but I don’t know how. Unfortunately, I do not have a familiar web developer who will tell me what and how. Help me in drawing up a "map" on which to move. That is: what languages and in what order to learn, what books to read, how to learn correctly, what to do in practice, and so on. Thanks in advance.
Answer the question
In order to leave comments, you need to log in
Garbage to you here advise. Freelancing alone won't teach you much. Most likely, you will pick up examples of shitty coding in the “correct the script” tasks and think that this is how it should be done.
You are not the youngest - I saw a 14-year-old guy here who writes cooler in C# than all the PHP and Python programmers I have seen. There is simply a huge difference between enterprise and home-page projects. Java and C# have more of an enterprise culture in them.
The best advice to you right now: read books. As many books as possible. Be sure to combine with practice. But not on freelance, but “our own bikes”, so that I could try to apply knowledge from books. While your parents are feeding you, this is the best opportunity to start your projects. Perhaps you now attach little importance to this, but it is so.
Learn existing frameworks.
Books and working with frameworks (including frameworks for unit testing) will give you a huge amount of knowledge, you can save many many many years that other programmers spend to comprehend everything their own way.
Read McConnell's Perfect Code, Robert Martin's Clean Code, E. Hunt, D. Thomas' The Pragmatic Programmer.
Learn Qt, Symfony, Visual Studio. Never think that you will stop at one language - you need to learn several languages in order to see several ways to solve problems.
When choosing a profession as a programmer, know that you will ALWAYS learn, and not the next 7 years. New technologies appear every year, the industry is very young and active - every year you will learn and try new things. It's a university with no graduation date :)
0.) English. You must know it at such a level that your mother understands your translation of a technical article. Everything else will be much easier with this paragraph.
1.) www.phptherightway.com/
2.) Read a lot of books (there are many collections on this on Habré)
3.) Start searching and collecting RSS developer blogs
3.) git (I don’t claim that this is the best SCM, but thanks to it, you will get access to github.com, and for a beginner this is very important)
4.) LAMP
5.) Start digging towards a good PHP framework (Symfony2, ZF2, etc. there is a list on the site in # 1)
6.) Learn to write a resume
7.) Break through as an intern on a half-time basis in a good local company in the 1-2 course
8.) Then it will go on knurled :)
7 years is not necessary for this, 1-2 is enough, depending on the desire and ability to learn.
PS In any case, you're doing well that at the age of 16 you are already thinking about a career :)
This insight came to me only at 21 :/
“I want to start again, learning everything at a more professional level, but I don’t know how.” - only in practice, otherwise nothing. Register on freelance exchanges, take projects of not very great complexity, but in which you don’t know everything, you will understand thoroughly during development (just don’t take what you can’t pull, you must calculate your strength to do everything on time and not ruin your reputation). And figure it out and get some money. You can also make several projects for yourself or for sale, along the way understanding something. For example, make scripts in Russian using modern technologies and sell them on plati.ru. I earned more than one thousand dollars there at one time, on quite mediocre scripts, they just had no analogues in Russian.
The map is simple - there must be a goal. Just learning a language is not the goal, come up with an idea for a website and try to make it on the technologies you want to learn. When you do several of these projects, you will get more experience than learning from books. Then you can take a couple of sensible books not for beginners, and supplement your knowledge base with some interesting points that you don’t know about yet. There is official documentation for PHP - most of it gives exhaustive information in a heap with comments below it, and that's enough. You can just look through it, remembering what features are there, and when you want to use them, it will not be difficult to find.
If you really want to build a stable career with a lot of income, then consider Enterprise. This includes the development of highly loaded distributed systems, database design, and the development of extensible architectural solutions. All these tasks have little to do with web programming and "languages" like PHP. Yes, it’s easy to build a site on pop-up and javascript, but such “developers” are now valued like the Chinese - you can throw it away and put the same one in its place. Such work is paid accordingly.
In an enterprise, it's more difficult. Much more difficult. But on the other hand, the feeling of such work cannot be compared with web programming: when you understand that your code works on a bunch of distributed servers and interacts with a dozen third-party services and hardware, processing several complex business processes in parallel, you understand that you will never settle for less :)
It may seem that this is difficult to learn. Actually, it is not. Come up with an interesting project for yourself, with some interesting and non-obvious thing. Projects that intersect with mathematics (artificial intelligence, for example) are doing well. Make your own implementation of the perceptron and teach it to recognize the captcha :) It's much easier than it seems at the beginning, and for this a school math course and average brains are enough.
I advise you not to get hung up on webdev. Now it seems cool to you, but when you are under 30, making websites for you may turn out to be too dull. While you are not many years old, it is better to practice with the base - study algorithms, low-level programming, study networks, wasps (for example, according to Tanenbaum). There you will see what you are really interested in. Choose a direction and get a job as an intern in a large office. In no case do not go into charades - they will teach you bad things. In a large company, the interns will not be required to practice law, but will require basic knowledge, good practice will be taught to you there.
I myself am not a cool developer, but I can advise what you need to learn.
If you want to profile on the frontend.
You definitely need to learn:
1) xml(xslt,xpath),
2) js both client-side and a bit server-side. Learn jQuery and its plugins well.
Learn templating like bootstrap, BEM. Love Nodejs =)
3) Be sure to learn regulars if you haven’t figured it out yet,
4) Completely transfer to Mac or Linux and constantly work with bash,
5) figure it out with json, everything is simple there (I wrote it in a separate paragraph, although you could throw it in the second )
If you decide to go to the web side, there are good video courses ^
PHP
JavaScript 1 or
JavaScript 2.1 JavaScript 2.2
CSS there are also higher levels.
This way you can raise your level at home. But still, the main thing is practice, take orders from friends on business card sites, small online stores. Understand the engines and in a year you will see a positive result.
I would like to begin by advising you to switch from PHP to another language. It is possible in C#, or Java, or Python (in this OOP language a little worse than the previous ones, but there are many other good ones) or whatever good they teach at your university. Not because PHP is terrible, but just to learn a good start. It will not be difficult to return to PHP (in a year or two, and you can immediately get an internship), but it will be useful to comprehend important programming ideas in a better language just for development (especially since PHP is gradually developing, and in my opinion in the right direction).
Write code. Miscellaneous: projects of different directions, in different languages, on different technologies, just small prototypes for running features. You can try to make friends with a more experienced developer and learn from him by helping in his projects. Perhaps this sounds pompous and naive, for the most part there is still little experience.
To begin with, you probably need to decide on the web or normal area. Based on this, already choose a language for learning. Then there is Google, which will help you find a tutorial. But you shouldn't immediately jump into OOP if you can only write registration and login. You need to be good at procedural programming to get started. Which languages? Now they will advise you on what they themselves are developing.
I will add a little about books and reading.
above recommended McConnell "Perfect Code", Robert Martin - "Clean Code", E. Hunt, D. Thomas - "Pragmatic Programmer". I would also add "Design Patterns: Elements of Reusable Object-Oriented Software" to them and remove Robert Martin. But these books are worth reading when you have at least a year and a half (or better - more) of pure programming experience, at an earlier stage, all these books are useless.
Reading textbooks is controversial. It helps someone to cope faster, someone does not, here you need to determine for yourself. but do not allow yourself to read the textbook for the reason that the language barrier prevents you from reading the official manual instead of the textbook. learn English, it's easier at your age.
read blogs. and not only in “your” languages and technologies.
in the direction of enterprise, and even more so java, do not even look at how they advise here. the enterprise suppresses everything good and kind in people and takes away the will. you can always go to the dark side if you want.
don't get hung up on a particular language. take any task and do it in several languages - php, python, ruby, js on a node. choose for yourself which is better, but it is better to know at least 3 of the named languages.
Well, how come no one wrote about open source. Try to join one: subscribe to the mailing list (even just read and you will discover tons of new knowledge by watching the debates and discussions of the best programmers), check the bug tracker (maybe something can be fixed). Recently there was an article on Habré about what can be done to become part of an open source project. Of course, this is not like getting 5-6k a month making websites - this is the feeling when your code works for people around the world, on thousands, tens of thousands of machines.
Unfortunately, I realized the buzz of this too late. Only after uni, I began to somehow participate in open source projects.
How serious are you.
The most effective way to learn is to work in a team of pros.
As you grow, move under the wing of more and more qualified and qualified pros.
Freelance - let it fit.
But the speed in it is 3 times less.
Knowledge is transferred through people much more effectively than through articles and the like.
I wrote about OOP specifically for PHP because there are OOP languages
Start doing something, and then it will go by itself.
Come up with an idea and implement it.
Reading literature and practice became my recipe. Set up a web server and try to write what you need there, while studying the literature. So you will not only learn, but also gain experience.
It's all very simple to go to a large company as a junior programmer, they will either kick you out or in 2-3 years they will make you a professional programmer.
7 years is enough just to be in the industry and work, you will love to become a professional developer, especially considering what you managed to master in 5 months.
I think it's best to browse the site first and find the ones you like. See the source code as they are made from the client side. Try to understand how they were made in general. Write to developers (not stupid letters, but try to get acquainted, for example, on Facebook with a person whose work is amazing). Ideally, you will be asked to work on this project for this person.
With age, ideas about life change ... If there is some kind of base, then you need to push from this, the rest will be attracted (fall away) by itself. It is important to move - and not tops.
What's wrong with creating websites if you like it? What good is it to drag yourself from the fact that half the world sits on your code ?? These half of the world will easily move to a new one on occasion, and then the puny ego...??
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question