You don't even have to pay a therapist, our minds can be trained to build extremely powerful therapeutic algorithms to avoid these situations. After my experience I quit my job as a business subordinate and started building a tool to help others manage their inner world better so that they hopefully don't end up where I did. Our approach is heavily scientific (we have two ongoing PhD projects to investigate and test our program) and we have just started out.
I'd be happy to connect with anyone who wants to share their experiences and thoughts on this topic. If you feel like it, drop me a line at: julian@appnroll.com If you are stuck in depression or a burnout and feel like breaking down, please don't hesitate to contact me, too - sometimes you just need to talk to someone. Hang in there!
We are a social species and need other people to help regulate our emotions. We are not self-sufficient and believing otherwise feeds a dangerous fantasy that will only lead to more suffering.
Posture is also very important for my sense of self. If my chest is collapsed, I feel a subtle pain that sours my mood. If my lower back is clenched, I slouch my shoulders, and I get anxious. Exercise helps keep up positive energy and cast off anxiety. It also gives me time to relax tension in my body.
In my experience, both of these can factor into depression and social anxiety. I'm much happier when I maintain a good balance.
My suggestion is to take the time to understand each member of your team, then create various interactions that can foster teamwork, satisfaction, etc. This can include:
+ Lunches or dinners - Going out to a restaurant together can give your team a reprieve from the stresses of work, while strengthening bonds. This tends to work best with extroverts. Dinners work best for singles and lunches work best for people with families (who may have to go home to a spouse and kids).
+ Movies - If there's a movie that most of your team wants to see, treat them. This may give introverts a more comfortable setting, since not everyone likes team lunches & dinners. I sometimes reserved a dark conference room and played episodes of Futurama (or some other TV show my team wanted to watch) during lunch, which worked just as well.
+ Outings, activities - Not everyone may enjoy a particular activity, like a hike or indoor rock climbing gym. But you can offer various activities to your team as opportunities to get to know one another. Don't make those who cannot or do not want to get involved feel ostracized, however. Make these optional events.
+ Code reviews, paired programming, tech talks, hackathons - These exercises not only strengthen the skills of your team, but improve team bonding as well. And chances are, all of your developers want to improve their own skills, so any chance to do that is a good thing.
+ One-on-ones - Sit down with each team member and have a chat with her/him. This is not easy for every engineering manager, as it requires skills in listening, empathy, conflict resolution, etc. The goal here is to truly listen. If something is bothering your developer, chances are you'll be able to pick it up here, giving you a chance to resolve it before it becomes a major issue. I've had developers tell me they felt like these chats were therapy sessions, though I did my best not to make it feel so clinical (in some cases, these chats were over coffee, ping pong, a walk, etc). The point is, listen.
There are many more that I've forgotten and I'm sure you've done (and please do share!)
I never had a problem with attrition by employing tactics like these. And I don't mean to imply that no one on my team had depression - I am not a licensed therapist and make no claims that I can diagnosis this condition. My point is just that engineering managers who actively cultivate a supportive environment may reduce the likelihood of depression and foster greater satisfaction and productivity.
This actually reminds me why I think free lunches at company cafeterias might be a net negative.
At a more traditional company lunch involves
1. Gathering the group (who wants to go to lunch?)
2. Deciding where
3. Getting in cars
4. Driving to restaurant (5-10 mins)
5. Waiting for seating (5-10 mins)
6. Ordering
7. Waiting for order to arrive (5-10 mins)
8. Eating (10-15 mins)
9. Driving back to work (5-10 mins)
That's 30-55 minutes spent together talking, interacting.
At a company with a free lunch cafeteria steps 4, 5, 7, and 9 are removed. I worked for 5 years at a company that had free cafeteria lunches. While I appreciated saving money on lunch my personal impression is I got far less camaraderie, team spirit, etc from it than from the more traditional "drive to restaurant" style.
I'm not saying companies should get rid of free lunches. Only that maybe people should look into ways to increase the time spent building friendships etc...
2 people would play a starcraft game and the rest of us would gather in a conference room to watch the stream and provide running commentary.
We also have an in house tool that sets up lunch times between a random group of 4 people periodically. It's a great way to meet others in the office and socialize.
Both of these were employee provided ideas. If you empower your employees to implement their own ideas it can have a powerful effect on office morale.
This is an awesome idea! Thanks for sharing that.
On the current state of the industry, I would respect more a company that adequately deals with deadlines than one with a "friendly" environment like you outline. I'm sure I'm not alone at that.
How?
http://blog.bufferapp.com/introverts-and-extroverts-what-the...
I don't mean to imply that introverts like movies and extraverts don't. Only that, as a manager of developers, you should seek to understand the type of people on your team along many different dimensions, introversion and extraversion being one of them. Then cater your activities for those particular people. What worked for the mix of people on my team may not necessarily work for the mix of people on your team.
I think unhappy people procrastinate more, vote more. The average vote is not given by the average reader, but one more depressed than average.
Agreed. I don't mind spending time alone, but I love being around people I like. Usually others with a common interest. (And no, it doesn't have to be tech related. Horse people and swimmers are a lot of fun.)
Extroverts sometimes talk about themselves. A lot. Not that interesting :)
Having lunch with other people, being able to ask around for help or feedback, taking part in events are all small things that end up making a big difference.
Of my three children, two were born in Indonesia, and one was born in the US. My wife says that the experience was totally different, and that post-partum depression wasn't really an issue as much in Indonesia because she was surrounded by friends and family for over a month after giving birth (this culminates in a large party after 40 days which has a similar social significance to the older tradition of "churching" and the following "gossip" dinner in Europe). Even something which has as clear neurological strata as PPD has a pretty heavy social component too. (Now obviously this isn't to blame those suffering from PPD, but to note that our society to a large extent makes the problem quite a bit worse.)
Similarly I struggled hard with depression for some time after moving to Indonesia in large part due to the isolation it brought me. Eventually I overcame this by overcoming the isolation.
But beyond that I wonder if developers have a couple of additional strikes against them. I find that it is impossible for me to simultaneously think in machine operations and socially connect. Even when I am around other people, if I am thinking about code, that's isolating. Talking about code is not socializing and I am not sure it can be.
Additionally coding is a sedentary activity and exercise is one thing that also is shown to help avoid and treat depression.
I wonder to what extent we should think about structuring our lives as developers around an extended version of the Greek ideal adding a third component:
A healthy body, a healthy mind, and a healthy social life.
On the management side, I also wonder to what extent ensuring that outings involve mild to moderate physical activity may help too. Lasertag, or indoor rock climbing over movies. If there are people who can't, then looking at finding activities they can do too.
Having said that, I (in management mode) make an effort to applaud individual success in front of whole team. It's great to get cheers all round from everyone and I feel that it really strengthens us as a group.
Check out the basics at
blueperiod.org
Reach out to rob@blueperiod.org if you'd like to help out
Apparently, it my fault of not trying to reach out to other people for building that school project. I'm more of an introvert, I was already taking anti depressant for 2 years. I'm at the opposite side of a narcissist. Apparently it's a bad thing in society, but nobody really talk about it either.
I was told things like "humans are a social species" and "teamwork is the most important thing in business and IT" etc.
I doubt being an extravert type makes a good programmer. There need to be a balance. But if you teach people programming, why not teach them teamworking too, or just gives bonus to students for their strength without making the teamwork aspect mandatory ?
If you go into second year these peer groups are already established and it becomes harder to slot yourself in.
It's not "isolation". The software industry is a very depressing place. The pay (while not great) is solidly OK, but the status is low and the job security's abysmal.
Most software engineers have a skill that can do so much and end up having to use it to do so little.
That is reading about the money that is made by others and their success and also seeing how others in the group react to that success with generally fawning reverence. With, as you have said, no particular reinforcement (by peers, friends and family or neighbors) for anything in particular that you do day to day.