I started working as a developer a few months ago, before that I did not finish and did not study at technical universities. In fact, I had been keen on programming since high school: from 6th grade I programmed on Turbo Pascal, took part in district and regional Olympiads (thanks to my computer science teacher who was working with me) and was already sure that I would enroll in some IT -shny specialty.
But at the end of school, I realized that I was very interested in economics, and it was time for painful thoughts about where to go to study. I myself have been inquisitive since childhood, which I was not interested in and did not do, and it was terrible that the desire to know the economy would be just another desire to learn something new.
Contrary to the warnings of my parents and friends, I entered the University of Economics. It happened quite spontaneously, before the month of April I was preparing to take physics, not English. He entered and did not regret: economic theory, macroeconomics, microeconomics, finance - all these subjects were very interesting. But as it turned out, before the third course. Then began the subjects in my specialty “economics and enterprise management”, which required more knowledge of legal norms and so on. Began to understand that, most likely, it is not mine. He transferred on his own accord to the correspondence department and decided to return to the sources: he took up self-education in the field of information technologies.
')
I remembered what it was like: to think and look for approaches to solving a specific problem, then find a solution and get satisfaction from it. At first it was hard, because it was not clear where to start, but since I already had the foundation from school. Familiar programmer advised to look towards databases and Java. When I started to study, I realized that this is it, this is what interests me. On reading English-language books and resources, I pulled up English quite well. Among the books were:
- Horstmann, first volume
- Ekkel
- Buch
- Head first java
- Head First Design Patterns
- Effective Java
- Java Concurrency in Practice
And online, of course,
stackoverflow ,
JavaTalks ,
coderanch ,
habrahabr and many other resources. I grabbed pretty quickly, devoured greedily and was pleased with it.
I was very afraid of the bydlokod: how can I understand that something is wrong, who will say this? This self-study lasted about one and a half years. He wrote small programs to consolidate knowledge.
Later, began to look towards enterprise development. The first thing I started reading on this topic is
Head First Servlets and JSP . Wrote a small web application with tables, selections, searches, etc. Then I thought it was time to look for a job. It was morally difficult to start a search: I don’t have a piece of paper that I studied somewhere. Overcoming this feeling, I began to send out a resume. True, in a couple of companies and there was no answer. I decided not to worry, to throw my resume on one site (they say, it may be lucky) and continue learning.
The next day after placing the resume, they called me and invited me for an interview at one large company. I was very happy, but without excitement, of course, pleasant, it did not go off. I passed the interview without any problems, everything is standard: databases, speaking in English about the programming language, questions, etc. I was accepted, it was a great happiness.
Two months was a trial period: I was developing a web application with the same team of newbies. It tried a lot: JDBC, Spring, Hibernate, Struts, GWT, and more.
And recently, I'm on a real project. To be honest, I expected that "spaceships will surf the universe." The project is internal for one very well-known IT company, but this is just a bydlokod basket: JDBC DAO with business logic for 10,000 lines, service level under EJB, all methods of which simply delegate a call to DAO, of this type:
public HashMap<String, String> getSomething() { return fooDao.doJob(); }
stupid decisions, a lot of if-blocks that are well replaced by polymorphism, huge methods for 500 lines and, as a result, a terrible workflow.
Each new requirement is solved by adding a specific if-block to a definitely convenient place. All this is very sad, especially when I see how it can all be refactored beautifully. But unfortunately, no one is going to do this yet: the project is already a couple of years old, we got it the way it is. But the fact remains: it becomes terribly difficult to maintain and expand, and it is felt that things will get worse.
Despite this, I realized that the work of the developer is mine, although I hope that not all projects are written that way, that itching to rewrite.
I am going to accumulate experience, get new knowledge, I really want to get a fundamental education, I try to read more. I want to develop and become a specialist. So far everything is complicated by the fact that I have half a year left at my university, and now the most difficult time is the last session, the writing and defense of the diploma. And, of course, no connection of my education with work. I hope all this will pass quickly and successfully, and then I will be able to plunge into IT.
Actually, I finish the story and I want to say to those who are really interested in information technology, but do not have a university in this area - dare! If your - it will immediately become clear. Just remember: money is not an incentive to choose this profession. Stimulus is your enthusiasm and desire to learn new things.