Immediately make a reservation, this is all my personal opinion. Do not impose, just express.
Somewhere on the Web, a phrase ran through that a person masters every profession for 10 years at a __ level and the programmer is no exception. How hard it is to admit to yourself that you are still "chicken"! Especially after this project that has just ended. A person needs to be self-confident, and without this it is impossible to live.
')
“Go ahead to the horizon. When you get there, a new one will open. ”J.P. Morgan
Actually, in this quotation the answer to the question - how to be? Your abilities will always be limited by your outlook. The main task for the programmer is always a set of experience.
What would a programmer’s approximate trajectory look like?
At first, programming languages ​​and algorithms are of interest. Then you want something serious to crack and it turns out that there is such a thing: the operating system and it already has a lot of interesting things in it.
Further, the programmer usually matured to participate in a team project and learns to turn away from the computer and talk. This is a very important stage - teamwork.
The next step is usually associated with the vast world of existing application and system technologies. SQL, TCP, HTTP, XML, etc., etc. The programmer examines turnkey solutions. It is very important to understand why this technology appeared, what problems it solves, why it was suddenly invented by its people, etc.
A mandatory step is also the study of the user interface. Even if the programmer is not an interface developer, he still does something for himself. He should be aware of at least his needs as a user of his own developments.
Well, how much time has passed? Well, if not 10, but at least five years will pass! It turns out that the programmer must have minimal experience in various fields, which give __ decent solution:
- programming language;
- operating system;
- existing technologies: networks, databases, languages ​​of data representation, etc .;
- user interface;
- teamwork;
- testing and debugging;
This list is not complete, but for now let's leave it that way.
If we omit at least one of these points - “the rocket will not reach Mars”.
For example, everything is super, but teamwork is lame. A person will not be able to effectively interact with colleagues, misunderstanding, mistrust, lag, failure.
Or, ignorance of technology. It seems everything is perfect, the person is an enthusiast. Himself all riveted for three days. Alas, this is a dead end, albeit a longer and painful one. Forces will be spent not on developing a solution, but on creating related technologies. I say this from my own experience as the author of a database with SQL support, a browser with primitive rendering of HTML, viruses, several games and many other things. ;-)
And so on.
If a person did get to here, he usually already has some understanding. And above all, the understanding of your task, your mission. The world of technology is big and interesting, but it is impossible to embrace it. It would be nice to find questions for answers by this point:
How much do I want to earn the minimum per month this year?
How much do I want to earn in 2-3 years?
What can I do well and quickly?
What can I do not very well and not very quickly?
What are my strengths and weaknesses?
What technologies do I like, what technologies do I not?
Do I have the ability to lead people?
And so on. This is how a person can, without answering such questions, go to the forum and ask - “should I create a startup”?
I assure you, if you ask such a question - this is not for you! Otherwise, you would have tested your strength on something like that a long time ago.
It is best to gain experience in an experienced team. This is an axiom. Thus, the normal “flight” of the programmer looks like this:
1. training;
2. work in a serious project on small roles, a set of experience;
3. work in a serious project with a serious role;
4. free swimming.
A startup for a student assumes that you can exclude points 2. and 3. and immediately go to 4. If you do this, then you are a minority! You are extremely capable and hardworking, you are in the top 5%. Is this really true? You have already proved yourself in something and you are sure that _can_?
There is a very likely scenario of events, namely: participation in a disastrous startup without gaining __ experience. Spent time, energy, but experience - not increased. As a participant / leader of a fair number of projects I assure you: if you think that you understand the reason for the failure of failure, you are most likely mistaken.
I repeat once again: you most likely will not be able to understand the reason for the failure.
Imagine that right after driving school and putting on the right you take yourself a race car and get off the track. Of course, you will not reach the finish line. Can you understand why? Can you correctly analyze the errors? Enough knowledge?
There is a popular belief that “a bad experience is also an experience”. This is a half-truth. The truth is that if you can _verno_ analyze the cause of failure, you will get experience. You can not - do not get it.
Kill hope, eliminate the possibility of regression and work quietly.
And all will be well :)