With just days to go, our project is getting to the point where we can go to market. Up to this point, teamwork felt to me from the category of “supernatural”, as well as the fact that it is not much different from single-player. Fortunately, with a fortunate coincidence I was called by a good acquaintance to realize the project as a developer. Well, and I almost without thinking agreed. To say that I got a lot of new things is not to say anything. You can describe a lot of things: details, subtleties, pitfalls, but here I will highlight the main theses:
1. Clear deadlines: #
Since this was with my colleagues the first independent project, we didn’t have enough knowledge to organize our time clearly, we tried to immediately inject a task tracker into our conversation, but it helped to remember tasks, but there was no sense of “urgently need to finish, deadline is burning”. Towards the end, when we came to the final line of the project we realized that there wasn’t much left and set clear tasks and deadlines for everyone accordingly.
2. Division of responsibilities: #
3 enthusiastic programmers decided to create their own child, what kind of division are we talking about) At first it was like that, by and large we decided that we all develop the product and not a word more, to say that it was wrong can not be, but a marketing plan should be made. But, we wouldn’t be us if we didn’t face this difficulty. During the development we realized that this is not the way to go, the product is not limited to functionality, but has many other components that are important to consider: advertising, market analysis, product prospects, roles in the team. And willy-nilly, informally, we divided us into: programmer-marketer / programmer-content-maker / programmer-assistant. In a word - it’s nice. When everyone knows what is within the scope of his competence, and that there are no thoughts of “and when will I get an answer about advertising” when writing another fix for a bug.
3. Communication skills: #
What we are realizing now is a figment of our imagination with the team. Our first call was an introductory one, but nevertheless it solved an important question - what do we want to create? And a small discussion began. Word by word, thought by thought, idea by idea and we came to one solution. All of the above is important in the context of development, because feeling comfortable with your colleagues is an integral part of development, because sometimes saying “I’m sorry, I have problems in my life right now, can you do this for me?” will do more good than doing a fuck off because there is not enough time and there are some external stimuli. It’s important to hear every team member’s opinion, and if you’ve called them out, you should accept their opinion. Of course, this thing is very borderline with the concept of “insolence”, but if you get caught, the consequences will not wait. It’s better to think about who you’re hurting, yourself or others?
Since I said above that this is not the end of my teamwork, I am immensely happy to be with a circle of like-minded people who have given me so much. We are not all perfect, but it’s important to take the moment you realize the flaw and learn the lesson, because you will face it so many times until you realize it. In this regard, maybe in the future I’ll add some more teiks to this post, but for now I’ll leave it at that.
4. Summary #
Team development is definitely necessary for a developer. In addition to all the bonuses in the form of: fast development speed, delegation of responsibilities, it gives an understanding of how to communicate and build relationships with colleagues. Imho, after such experience a developer gets a mini-grade as an independent unit.