How I was fired. Notes for juniors and managers.

Long time ago when the grass was green and I was a student, I used a chance to start my development career in a big and well known company.

Finally, after 3 month of work it was a talk with manager and I was fired.

Earlier this experience was like a black label in my hand: I was ashamed of this fact.

But now I see that dismissal is that unique experience that made me better.

Now I want to share some of my conclusions with you. I think it can be useful for young people who are starting their work path. Also it will be useful for managers.

I hope all these notes will help to resolve issues without dismissals.

Let me start with my personal faults:

1. My progress, efforts and blockers were not visible to management. I was focused just on work itself and only the final results played a big role for me. As a result, during assessment my manager had not full vision and it’s made my efforts less valuable.

Recommendations for a junior:

  • Setup a regular way (e.g meeting, report or just message in chat) with your manager/mentor where you’ll describe your current activity, achievements and blockers.

Don’t worry if your task is not completed – just share your progress.

Recommendations for a manager/mentor:

  • Setup of a clear process to communicate with your subordinate is a part of your work. Don’t forget about it! If it’s not done – it’s your fault.

2. I was too slow. It’s not a real fault: I’ve tried to do all things by myself and books. Copy-paste of others code was for me just as a crime. I was focused to do all things done without support from outside. There’re many reasons why it was so:

  • University and school taught me to achieve results based on my own skills and knowledge. As I understand now, we need time to change this mentality to became a team player.
  • Internet and sharing of information concept was quite new in this time and I preferred to work with books than internet.
  • I have asked some colleagues for help, but they were busy. It was like a silent and unfriendly atmosphere around me.

In general, it gave me a great experience since I’ve made a lot of things by hands and understood how it works inside. But still – I was slow and my achievements was small in comparison with some other people.

Recommendations for a junior:

  • Don’t hesitate to ask for help! All current goals cannot be achieved by one person – it’s a team work!

Don’t be shy if you don’t know something. It’s ok! Ask for help if needed. If your colleague is a professional – he will help or direct you to a right person.

  • Don’t hesitate to re-use the code of somebody else. It’s not a crime – the whole concept of development is basing on the code reusing. Also reusing of code – is the patter which used in different areas to learn something – e.g. painters.
  • Books is a good source of knowledge, but in a time of high speeds you also need to use fast channels of knowledge – communications and internet.
  • Internet has a lot of information to solve different problems. Google a lot to became a guru of Search =). It will allow you for find fixes of tech problems faster to be focused on a goal, but not your mistakes and lack of knowledge.

Recommendations for a manager:

  • It looks simple, but it makes sense if each junior will have a mentor who can help with answers and gives a right advice. It allows to save money spent on Junior since it will grow faster, and in the right direction. Also, busy colleagues will be not overload with unexpected questions.

Junior should have a Mentor.

  • Work to setup a friendly and gentle atmosphere inside the team. It will allow to integrate new team members faster, the team will work as a team, but not individuals.

It’s a goal of Manager to make a team work as a team, but not individuals. Team should support each team member, especially junior.

Probably, I wrote a simple things, but such simple advices can prevent a portion of negative experience.

Also, the company I left used improved their processes and added onboarding and mentorship as processes.

As a summary, I see that all this experience made me much better. Now I see how important to help and grow people. I’m extremely happy if my team members growing and solve complex and outstanding problems. It motivates and gives me outstanding energy to do my work!

Good luck and don’t forget:

Even you’re firedit will become a good and extraordinary experience later.

Photo by Andrea Piacquadio on Pexels.com

Stay Self-sanitized

This post is not about viruses =) Let me share an important note I’ve made during the work process setup for any activities or projects I manage.

Any work process should be self-sanitized: it should have a step to review the process, detect problems and have a mechanism to apply fixes for them.

Why do we need to? Self-sanitizing makes the process adaptable to a reality, fix the issues, make it more convenient for participants and etc.

This point looks like a Retrospective meeting in SCRUM, but it’s not only about SCRUM.

I think any long-running work process should follow this rule.

For example, after each estimation, I do a retrospective with the team to detect all pains we met during the process . I’ve created a spreadsheet where I accumulate all sensible action items to fix raised problems. Also, I have a reminder to take at least one item and perform it. Now the process is much better than it was before. It’s alive and convinient!

person holding yellow and white labeled bottle
Photo by Aleksandar Pasaric on Pexels.com

 

 

 

Time Management? Really?

Some of my colleagues asked me about the approaches I use to manage my time. They used well-known words like “Time Management”. So let me share my personal vision on time management.

Before I put here my tips and suggestions let me start with the most important question:

Why do I need any kind of Time Management?

To answer let’s rephrase it: Why do I need to manage the time I have? Since the management of time itself does make sense without activities, let’s rephrase it again: Why do I need to arrange the time I spend on activities?

After analyzing myself I’ve found the following amazing and really simple answer. Don’t forget that it’s my personal answer, but probably, it can be used by you:

I need to manage (perform/reject/delay) my activities in time to fill my life with HAPPINESS.

I think this sentence can be selected as the general goal of the whole Time Management.

The big point I’ve realized:

Personal HAPPINESS is the key criteria of management of time. Not performance, not even successfull results.

So the key question can be answered by “Time Management” looks like this:

How to arrange all activities of my day/week/life to be HAPPY

You can figure out your own question if you’ll translate what HAPPINESS means for you.

Happiness for me is:

  • I want to have fun while doing my activities: I want to feel the energy, interest while performing the activity. I want to do it without stress.
  • I want to see some valuable results of my activities.
  • I want to grow, get new experience while performing my activities.
  • I want to effectively complete my activities to have time for new activities which will bring me new experience and happiness.
  • Life should be balanced. I want to have a life where my work, personal life, and future goals will be in balance.

Also, I’ve realized another important point:

In the context of day/week/life, we have a limited resource – Time. But if we’re speaking about Time Management and Happiness

TIME is not the only resource we need to manage!

We need also manage our emotional ENERGY.

Such kind of Energy is a resource for proactivity, entusiasm, interest, creativity etc. Without these attributes, time and happiness does make sense.

My key idea is that energy has a close connection with the feeling of happiness.

To continue, let me mention some important properties of the Energy I see:

  • Activities can not only consume our energy but produce – fill us with energy
  • Performing an activity without energy makes us fill unhappy.
  • Performing of activity with Energy makes us happier.
  • Results of the activity are more valuable if we spend more energy on doing it
  • People trust us more if they fill our energy and our actions equipped by emotions.

As a result, understanding of Time Management is hidden in the answer to the question:

How can I arrange my activities in time to do them with maximum energy in a long term?

I’ve added “in the long term” because we need to stay fulfilled by energy not only one day but the whole life. In another case, it will be a way of emotional burnout.

Now when the question is defined I want to describe my answer. But let me do in another post. =)

round analog clock
Photo by Andrea Piacquadio on Pexels.com

Negative feedbacks

For the last years, I’ve received multiple negative feedbacks about colleagues whom I’ve planned to involve or already involved in my projects.

Feedbacks were provided by experienced managers and it was logically to trust them, but I’ve made another decision:

To build my own opinion I’ve decided to work with people at first. Even more, I gave them an area for creativity and decision making. I gave them my trust.

After some time it demonstrated that people I’ve selected made a great work!

Yes – they made mistakes.

Yes – they have weaknesses.

But when I’ve found the right work for them, their positive qualities became apparent and weaknesses became uncritical. Finally, having freedom for creativity they achieved a wonderful result. Their interest in the work and the desire to do it well surpassed the shortcomings.

I learned them from this very important lesson:

Right work for the right people. It’s the task of a manager to make it possible.

Unfortunately, some managers forget about it. Impressed by the mistakes and shortcomings of people, they decide to select a simples way: abandon further work with them and give them negative feedback. Such a decision looks sad since can broke the career path of an employee. From my current perspective, it speaks about the lack of management skills and should be improved.

Before providing negative feedback a manager should:

  • Ask yourself if the employee has the right work?
  • Do I need to give him a chance with another task?

Additionally, I remember a good note of a successful sports coach:

Excelent coach should be able to win the game even with a team that he did not choose.

That means that even without selection you need to find the way how to win.

In addition to the previous point, it includes improving each team member.

As a manager you need to invest in your employees to make them better.

Yeah, it’s hardest part of management work. You need to make deeper investigations instead of simple rotation.

As a summary, please note:

Each negative feedback you provide is a minus in your own karma and professionalism.

Open questions:

  1. If you have tried some people for different activities, but the right place was not found: how many times you need to try?

woman punching the hand of man wearing training gloves
Photo by Sabel Blanco on Pexels.com

Never, Never Do This

During my work career as a manager and leader I saw the biggest mistake ordinary done by the young people:

After a mistake, they try to hide it or lie to me.

Doing that, they are breaking the most important fundamental thing of any relationship including work:

Trust is a fundamental thing which makes things work.

Let me provide some arguments if it’s not clear:

  1. In management you cannot do all things by yourself, as a result, you need to delegate. Not all things can be checked – you need just to trust. No trust – no delegation and probably no management. Maybe guillotine on the backyard can fix it 😉
  2. Any kind of work processes or any relationships is based on agreements and rules. Most of them are not built-in or automated. You need just to trust people to make these processes work. No trust – no work processes. It works for coding as well.
  3. Human is really emotional and unstable by nature. The only indicator which says that you can work with a person or build any relationships is a reputation based on trust of other people. No trust – no reputation. No reputation – no trust and relationships. It’s a cycle which makes things work.

What I see: young people don’t understand that if they’ve created a problem in some technical or organizational area their liying pushes the problem to the new level and breaks any relationships.

The consequences of lying often outweigh the cost of mistake. They become irreversible.

As a result, let me share the message with all young people to make them avoid the worst behavioral pattern there are planning to use:

Don’t lie even in small things. Be brave to admit your mistakes and take responsibility for them.

Don’t be afraid to entrust yourself to people and they will trust you.

Follow these rule even in front of a tough manager or leader. It will show your strength twice.

Once you will lie – your reputation will be hard to restore.

Be careful with that.

Few notes about Interviews

During my work, I’ve made many interviews with the candidates.

Most of them were for my projects.

It’s a really important fact since it gave me an understanding of my mistakes and successes: I’ve worked closely with the people I’ve selected.

After all these experience I want to share some of my conclusions about interviews:

  1. Avoid situations and questions which cause pity for the candidate or make him feel bad. Don’t ask deep questions if you know that candidate is weak in the area etc. Results: all these bad feelings will not affect your decision and it will be objective. From another hand, the candidate will be not demotivated and will show his best.
  2. Candidate should be motivated to get the job. He should demonstrate an interest in the work described by you. Results: if the candidate has no motivation even from the start- it’s a small chance that you’ll change it in the future. If the candidate is not motivated after the interview – you need to reject him and think if your speech about the future work was motivative. This is the next point.
  3. Your speech about future work should inspire. You should be motivated to find the candidate and say correct words for each of them. Results: the candidate will feel it and choose your offer if you’ll make it.
  4. The best question for an interview is a question related to future work, without a single answer, but with a range of answers which are depending on the knowledge of the candidate. Don’t be focused on deep details or logical games if it’s not specific of your work. Range of answers will give a room for creativity. Results: it gives you much more information about candidate knowledge in the area you really need.
  5. Pay attention to the soft skills of the candidate. It’s critical since most future problems with all employees are not in the technical area, but with communications, responsibility, ability to support your team culture, etc. In my practice, I split the interview into 2 parts. 1st part is just to detect soft skills. Results: you will save your time and nerves.
  6. Be open with the candidate. Don’t lie about future work. Result: the candidate will not leave the job if he made a balanced choice knowing of all future challenges and profits.
  7. Mentor the candidate in a friendly manner. Provide him technical advice, recommend some books to read, etc. Make him feel that he leaves the interview with the new knowledge, in a good mood. Results: even if he will not pass, it’s a high chance that he will be back with the new knowledge.
  8. Make a short practical test. Prepare some technical task which is close to the real work. See point 4 from above. I prefer to leave the candidate alone for 20 minutes for some code refactoring. Result: the real work is the best test for the skills. This is the next point.

Finally, I want to highlight the following conclusions I made:

The best check for the candidate is a real job.

Unfortunately, exists such type of people who can speak nice and pass all your questions, but the real job is hard for them. Anyway, be ready that all issues will appear during the real work with the candidate.

The recommendation of the candidate is highly important. Especially from a trusted person.

Try to get feedback about the candidate from the past co-workers. It will give you really strong arguments for your decision.

Trust your feelings and intuition.

A big piece of our experience is hidden inside of intuition. Some candidates will cause you to doubt, although all questions will be well answered. Don’t ignore your intuition. I prefer to have one more interview later when the reason of doubt will be clarified and should be checked. After some time I follow the rule – I reject the candidate if I have doubts.

Listen to each other! Good luck with the interviews!

Communities. Beginning.

Before I’ll start, let me describe our company: it’s an international IT-company with 900+ employees, providing software development and IT-consulting.

Around 2 years ago I got the opportunity to boost the technical level of the company.

A not easy challenge, but it was a great opportunity to try my approaches and visions.

In the beginning, it was different kind of questions to solve. Let me share the most important of them: 

  1. How to identify directions for improvements?
  2. How to form the team which will make it possible?
  3. How to make it work not one time, but day-by-day?
  4. How to make it work with a small budget?

   I don’t remember how it happened, but a wonderful answer to all these questions came from my subconscious: let’s build communities for each work area: Business Analysis, Java Development, JS Development, DevOps, Quality Assurance and so on.

Let’s clarify my understanding of the Community:

Community – is an open informal group of employees who are interested in knowledge sharing in a specific work area. 

Let me highlight few words:

Open – it means that all employees can be a part of the community. No restrictions related to experience. Why? Each person can be helpful! Sometimes proactivity and creativity of the young people are vital for the work process.

Informal – it should be a friendly and homelike atmosphere between community members. Why? It should easy to share knowledge and even small achievements. Members should be loyal to the experience of each other and ready to help. There is no community without easy communications. 

Interested – means not-indifferent and proactive. Why it’s important? An indifferent employee has no energy to get or share the experience. Such employees are more like zeros for the community. In all cases, they are welcome. Important note: be sure they don’t demotivate other community members. Such kind of people exists as well. 

So how communities will help with the questions from above? Let me answer in a different order and elaborate community idea.

  • How to form the team which will make it possible?  

Let’s begin with regular Meetups where community members will share knowledge, discuss trends, new approaches, problems, solutions. Here it will be possible to identify the most professional and proactive employees for other activities. Additionally, we can select the most experienced member to help with community leading. Let’s call them Community Lead. The most regular meetups members will form the Community Core. This formation will be really useful with performing of the most important and complex work.

  • How to identify directions for improvements?  

It will be possible during meetups discussions. Especially during discussions of the new trends and existing problems. Additionally, we can send regular Newsletter with the review of existing trends, useful resources and so on. Responsible member will get new experience and share it with the whole community. All of these will cover one big goal: Aligning of the company with future trends, but it’s not all. Community efforts can be applied to cover more areas: mentoring, training of employees, providing consultations and help other employees and projects, knowledge mining (research) and sharing, organizing of technical events (i.e. Hackathons), Sales Support and so on.

  • How to make it work not one time, but day-by-day?  

With the structure from above and regular activities (i.e. Meetups, Newsletters etc), Communities will become an integral and permanent part of the company. After some time it will be possible to identify, describe and support related processes to make them stable and effective.

  • How to make it work just with a small budget? 

The secret is that Communities are helpful not only for the company but especially for the employees themselves: they get new skills, new experience, help, field for creativity. Just for free! As a result, the company can pay just for extra efforts like community leading,  meetups organizing, newsletter preparation, but as a result get a really great profit and help. 

I hope the concept of communities has become more understandable and simple. 

Unfortunately, the greatest difficulties in creating something are rooted in details.

The devil is in the details

Let’s highlight the top of problems met on my way to communities building. 

  1. How to find initial community members?
  2. How to communicate with the community?
  3. What the best format of the meetup?
  4. Who is the best Community Lead?
  5. How to make Community processes stable?
  6. How to motivate employees to join the community?
  7. How to launch a pure technical community with many introverts inside?
  8. How to apply community efforts in the best way?
  9. How to make the community part of the company processes?
  10. How to measure community profits?

Like in movies, let’s answer on these questions in the next posts. See you! 

By the way: let me wish you a happy and prosperous Happy Year!

silhouette photography of group of people jumping during golden time

Invisible man

What does come to mind if you need to asses your colleague? What areas do you usually measure?

Let me mention some of them:

  • Knowledge in the technical area
  • Professional approaches
  • Ability to work in the team

During my practice, I’ve detected one more important option.

But let me describe the situation I’ve met:

Due to some reasons, it was no daily stand-ups on the project. One of my team members worked for a long time on the task. The task was quite complex with different hidden stones inside.

The problem was that he provided his status only on my request. Results were hard to check and he always shifted the deadlines. As a result, after a month of work, when it was an internal assessment it was hard to evaluate his efforts and skills. He was like an invisible man for me. It was not clear how professional he is.

Another colleague was confused as well. She said a great phrase:

He has low VISIBILITY.

Yep. That is the perfect word! I’m using it now for some set of professional approaches.

After thinking let me summarize what I mean under Visibility:

Visibility is the ability of a person to provide timely and tangible information about his current work results.

Tangible means that the results can be easily checked: it could be a pull request, test case, user story, demonstration, charts, video recording, report, email etc.

Note that results of work can include even the list of blockers provided by email.

Problems we meet are the results of our work as well.

Timely means not right before the deadline but provided in an iterative way, right after receiving any tangible achievement.

What is the profit from visibility?

For the manager and the whole team I see the following points:

  • It makes it easy to check actual results and plan the future work and deliverables
  • It reduces delays in development and unexpected problems and results at all
  • It makes possible timely handling of the problems
  • The results are visible for the team and the customer
  • It avoids unpleased moments during work result assessment

For the employee itself:

  • It works as self-marketing. If your positive results are visible for management it increases your karma salary: your achievements will be not ignored and will be used during the assessment procedure.
  • If you speak openly about your problems, it’s a big chance that your team will help you to resolve them
  • If you make your work results tangible it means that they became better quality
  • It avoids unpleased surprises during your work assessment

Why Visibility is so important? Let’s imagine that the profits from above are revoked.

In the context of the situation from above, I’ve made additional conclusions:

Daily standup increases the visibility for the whole team. Avoiding this practice badly reflected on each team member.

The manager should describe to the team how to become visible. Keep it in mind that visibility is not usual for some people.

High visibility is a part of high professionalism!

Be visible!

photo of a turtle underwater
Photo by Belle Co on Pexels.com

Meetings Log

Meeting without action items looks like chatter.

But it’s STILL CHATTER if action items were defined, but not checked how they are handled.

I think you will easily remind such kind of meeting when action items are defined in words or even defined in the follow-up email, but not handled or just forgotten after the next followup.

I’ve asked myself how to make the action items not be blah-blah-blah items, but action items: when people will return to them till they are not done.

Actions items should initiate real actions!

On the last projects, I’ve moved from followup emails to Meeting Log.

And it works great!

Meeting Log is a simple Confluence page with the history of the meeting.

It’s just simple grid with the following columns:

  • Date and Type – date of the meeting (in the past or in future), and type (i.e. Technical, Weekly etc).
  • Agenda: Reporter + Agenda. It’s easy now to plan the future meetings. All team members can easily to add items for the meeting in the future etc.
  • Action Items: Actor + Action.  Action initially marked by some visible sign that it should be handled by Actor. During the next meeting, we check the items with signs and remove them if the action is performed. It can be different results of action: email is sent, the ticket is assigned etc

It looks like this:

Meeting Log

With such a simple solution, our action items mean real action: we’re returning to the items with a sign and check them till they are not completed with any result.

The only problem you will meet is to make it filled by the responsible team members. In my case it was easy: BA fills it instead of follow-up, TL fills technical log to not forget what was discussed and what tickets should be created.

I hope it will be helpful for you!

Don’t hesitate to put your comments if you’ve any questions.  Thanks!

Side note: Confluence provides a rich set of macros to make this process easy and good looking (i.e. generation of the question mark, select date, select actor etc)

Open questions:

  1. Is it possible for Artificial Intelligence to take this routine with Meeting Log filling?
  2. Probably in Confluence we need to use checkboxes instead of questions marks.

remington standard typewriter in greyscale photography
Photo by Pixabay on Pexels.com

 

Don’t panic

In our world, a lot of things disturb us from the way to our goals. We call them problems. And it’ usual.

Work problems are usual.

We don’t like them or even scared, but in most cases, problems are resolvable and not dangerous for life.  Anyway, some people try to switch on panic.

In nature it works as life protector: if anything dangerous – you’re running away with screaming. But hey,  it’s useless in your workplace!

Panic as protection mechanism is useless regarding to work problems.

I see the following types of people in the context of behavior if they meet problems:

  • Resonator – emotional person who makes hipe and panic around the problem. He can even resolve it, but it makes stress, disturbs and demotivates his colleagues.
  • Jammer – emotionally stable person who reduces the panic around the problem or just don’t care about it. They can abstract himself and makes possible to resolve the problem without stress. From my experience, it brings more profit than working in panic.

Panic is really dangerous since it transmits by communication. It looks like a virus.

Yeh, one of the way to avoid it is to separate Resonators from communication chains.

As a result, if you’ve Resonators on the project it’s a high chance that the team will jump out from the board even before the riffs.

Panic is doubly dangerous since often it can NOT be stopped just by words – it’s very deep inside of the mind.

The best what Resonator can do is to work it out with a psychologist. The team is often helpless here. By the way, the workplace is not the right place for psychology practice.

What I can say now:

Resonators are dangerous and should be controlled or even separated from the team at all.

Especially if you have many of them in communication chains.

Another big problem if the team leader or manager is Resonator

In this case, I can only suggest

Run away from manager-Resonator. In another case, you need to have iron nerves.

From another perspective, if you see that you became Resonator, calm down an stay Jammer! Don’t panic, keep it simple!

If it doesn’t work for you, let’s start to work it out with a psychologist, but not with the team! Good luck!

Open questions:

  • Should the manager take psychology responsibilities or not?
  • What is the most intelligent way to control/separate Resonators?
  • How to make the work with managers-Resonators comfortable?
  • Is small controlled panic is ok as an alarm of problem existence?

photo of man jumping from boat to the sea
Photo by Oliver Sjöström, Instagram: @ollivves, Website: https://ollivves.com/