Friday, August 21, 2015

regarding team building and bonding - on developer teams

This is something I wanted to write for some months now, especially after my relocation to a new country and a new market.

It is about team bonding and performance, in the context of software development teams. A lot of stuff have been written in  books around management or team leading, things like the role of the 'organization' aka company, the 'managers' aka leaders etc. 

All of the above contribute on a higher level around the formation and sustainability of a development team, but from my experience there are some other things that eventually are overlooked sometimes, or no text book eventually addresses them. 

After all, we talk about teams of software developers and some restrictions or special cases apply. 

Some of these points should be evaluated by Human Resources departments, aim to form or empower teams.
  • A successful development team needs to have a common level of understanding and principles around their job / profession . Our job is to provide solutions to problems and then create software that materializes this solution. This process involves a  lot of different phases and requires several technical and non technical skills. The members need to have a common vision and understanding on how to perform this demanding 'dance'. The members need to share the same qualities on professionalism and 'execution'. In teams where all the members are on the same level (or close to the same), then the team operates similar to a well configured 'engine' it is then the responsibility of the driver to use his skills and the power the 'engine' provides to steer the car (aka project). 
    • I really believe on that kind of team formation. One potential way on eventually improving or leveling the team is to empower it with people that eventually will provide and set the core values where new or inexperienced members will follow. In this point  'leadership' becomes very important, meaning picking leaders to establish the common ground, but this is not the ultimate goal. Leaders need to establish the configuration of a team but the end result is to have a well configured engine and not just some of it's parts.
    • A lot things have been written about stereotypes regarding the 'developer' personality. Nurds, geeks, loners or whatever. I am not going to elaborate if all these things are correct (personally I think they are nonsense), but as a developer I have to admit that during 9 to 5  I really don't care about the personal traits of my colleagues. Meaning I am mostly interested, if we share the same values and interests for our common goal, so that we form a well configured team and not if we potentially share the same views about music or personal matters. This might become a reality but it might not, it is really OK!!! During our work hours we are 'first' professionals and then potential friends. If we become it is really great, if it is not that is ok again. So let's skip the emotional wars.
  • A successful development team, in terms of team bonding and environment, will be formed only after certain and clear goals have been set. Ideally the best teams I have ever been member of, were those that eventually fully embraced the goal - believed in it. In plain words, actual team building is not only accomplished with nice offices, plain of coffee breaks or shared lunches. Team building is eventually materialized when all these people try to achieve the same goals and through hard work. Developers bond when they develop together, not by having breaks together. After all we are all persons individuals, sometimes you do not 'fit' as individual with people from work, we have friends for this, but there is a very good case where friendship will bloom  in the corporate space, when we work together, fail or succeed together on something we believe. This is how developers bond. 




Monday, August 17, 2015

Amazing footage, amazing island, amazing drone..Crete from the eyes of a DIJ Phantom 3

An old friend from the greek 'internets' George B (aka Άχθος Αρούρης or snolly), he had his summer vacation on the beautiful island of Crete. Not only that, he was geek enough to take a drone among his luggage, a drone... yeap a drone. So you have a geek, a drone and summer vacations in a beautiful Greek island and this is what you end up with! Great work, on my checklist are the following
Μπράβο ρε Γιώργο!!!!! 

Saturday, August 15, 2015

My macosx app setup list using brew and cask #brew #cask

This is my list of apps, I install with brew and cask when I setup a new environment. You need to have brew and cask installed see here.

  • Download the file and save it to your mac. 
  • With a text editor of your choice, remove apps or sections that you don't want
  • Make it executable. chmod 777 papocasks.sh
  • execute the script ./papocasks.sh
Enjoy, I will be updating on my public space on github, so the updates will be visible here as well.