What does it mean to be a junior developer
Author of the photo: Maxim Zolotukhin
Hello Habr! I want to tell you about a small community of junior developers in Almaty and my path as a junior developer on the Kazakhstani web.
First, I’ll tell you some dry data about Almaty. Almaty - on the scale of Kazakhstan, is a very large city, numbering 1.5-2 million people. There are not so many technical universities, especially in which they normally try to teach programming. A lot of small web studios. There are also large software companies that focus more on banks and enterprises. There is no Yandex office in the city, but there is an official representative. There are two coworking centers and sloppy 4G internet. Now I am 20 years old (like most of my acquaintances / friends of programmers) and I am a junior web developer in the studio.
I would build a house, let me teach
Over the course of a year and a half in the studio, I learned more than 4 years at college, and 4 future years at the university. Do not get it wrong, but the classical scheme of education in the field of IT in Almaty is so behind the times that there is no point in “studying” in secondary specialized and higher educational institutions.
This is what happens during college:
- You gain the skill of drawing flowcharts. You know the aspect ratio standards by heart, and you can draw any structure without a ruler. No matter what you are given so simple tasks that do not even require drawings, adhere to standards.
- You are taught two kinds of sorting. They are not told you that they are useless.
- You gain the skill of building simple SQL queries. During the week you are taught to make the “right” queries, and constantly forced to write laboratory work. At the word “index” the teacher is already looking at you with suspicion, did you accidentally install MySQL on the training computer in front of the teacher? Congratulations, you are reading the next 5 lectures.
- You are taught to work in Delphi 7. You tactfully remain silent about the fact that there is an Embarcadero Delphi XE2, so as not to scare the professor. They are quick-tempered people, they will call them heretics and that’s all, your space landing cried.
- You are taught OOP. But they force me to write in C ++. Without using classes.
- You are forced to take useless term papers, which consist in an infinite number of printed sheets of paper and donated chocolates. And yes, in the unordered lists, the indent should be one and a half divisions. Reprint.
- Web development pairs teach you to typeset. Tables. And of course, you will learn how to install Denwer. In PHP, you can parse a POST request.
Against the backdrop of all this disgrace, college students starting from the 2-3rd year begin to look for work. Those who are lucky get into teams where they are raised as full-fledged fighters. I got lucky. I ended up in the best studio you can find at all. All that I had at that moment was a hungry look for knowledge and 20 rubles for snickers.
What gave the combat experience of working in a web studio, instead of the time spent in college:
- I learned to think. Solve real problems, approach the solution from different angles, weigh the pros and cons.
- Layout CSS2, CSS3, proper layout and layout techniques. CSS frameworks, template engines, compatibility with different versions of browsers.
- Development in PHP5 and Yii. The right design patterns. The Gang of Four is next in line for reading as soon as the hands reach.
- Work with version control systems. Mercurial and Git.
- A closer look at MySQL. Understanding the basic principles of optimization. Change preferences on MariaDB. Experience integrating with MSSqlServer 2005, the first tears of despair.
- Introducing NodeJS and MongoDB.
- Experience with jQuery and AngularJS, including writing my own crutches and plugins.
- Experience with sockets.
- Work with the ElasticSearch search engine.
- In a number of problems, it was necessary to recall geometry.
- Experience in deploying projects to battle. Stability monitoring. Writing your little crutches on Bash.
What does it mean to be a junior
Being a junior means constantly doubting your strengths and abilities. Here you sit, young and green, looking up at guys with more than 5-8 years of experience and wonder how they quickly find solutions, how do they type this damn code at the speed of a machine gun? I am a junior and almost every day I come across problems for which I can’t immediately come up with a ready-made solution. At the same time, for others, this does not seem to be a problem. And often I stop, with the thought, am I doing everything right?
Being a junior means competing. When one of the acquaintances brags that he used, say, Phalcon on the project, an incredible storm of emotions arises in the head. Interest, envy, disappointment in yourself. “Damn, this dude has already touched Phalcon and Solr, and I'm sitting and picking the plugin.” Among my peers and acquaintances, all that I know or with which I came across is the norm. We are all constantly learning something while we have such an opportunity. We gather in a bar, or meet at some meetings, and constantly discuss something new.
Being a junior means looking for like-minded people. Any developer from our sphere is first of all a colleague and an interesting interlocutor, and then a fighter from a competing company. Give us just a reason to talk about technology, development or projects. The main problem in Almaty is a very small number of events and a small community. There are conferences, there are some seminars, but they are all aimed more at squeezing money, public relations of some companies and idle talk among the business elite or managers. There are almost no events concerning technologies, where they provide some knowledge or share experience. The last major event was BarCampCA in 2011. Since then, conferences of this level and quality have simply not been observed. There are small parties, there is GTUG Almaty, but this is not enough.
Being a junior means messing up. Have you ever seen what happens if a junior is given access to the server under the root? And I saw. My friend in a hurry accidentally rebooted the remote server. Well, I accidentally uploaded an untested script. The consequences usually immediately make themselves felt.
Being a junior means working overtime. Just because you're slow, because you don’t understand something, because you need to read something. Sometimes you have to come on the weekend. And this is normal, because you gain experience and knowledge.
Being a junior means testing your strength in competitions and contests. Trying to do something important. Break into Hackday with a possibly crazy idea and spend the night in the office on the table. Make a list of ideas in the neat dad “Future projects”, and dream of making them under the slogan “Weekend project”.
Being a junior means looking for new role models for yourself. Try to adopt any experience and constantly look up. Ask stupid questions at seminars and catch mocking or condescending glances. Rejoice even in a small dialogue with SamDark, watch online broadcasts from conferences at 3 a.m., sit in IRC on RadioT.
Total
No matter how stupid it sounds: “I'm junior - and I'm proud of it”! We all have burning eyes and we love what we do. Perhaps our skills are still weak, the community is not developed, and the wind is in our heads, but we will certainly contribute to the development of our sphere and, possibly, the whole Kaznet.