<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>7deeds &#187; 1-deed</title>
	<atom:link href="http://blog.7deeds.com/category/1deed/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.7deeds.com</link>
	<description>Petros Amiridis - A humble programmer's seven noteworthy actions for the community</description>
	<lastBuildDate>Mon, 31 May 2010 12:09:10 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>The psychology of instant messaging</title>
		<link>http://blog.7deeds.com/2010/03/23/the-psychology-of-instant-messaging/</link>
		<comments>http://blog.7deeds.com/2010/03/23/the-psychology-of-instant-messaging/#comments</comments>
		<pubDate>Tue, 23 Mar 2010 15:06:27 +0000</pubDate>
		<dc:creator>Petros</dc:creator>
				<category><![CDATA[1-deed]]></category>
		<category><![CDATA[remote-work]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[personal-development]]></category>
		<category><![CDATA[psychology]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://blog.7deeds.com/?p=415</guid>
		<description><![CDATA[We are using instant messaging a lot (IM). Our team is working remotely and IM helps us communicate. I have realized that communicating using IM can be rather difficult sometimes. One of the reasons is the lack of visual contact. The two (or more) chatting parties cannot show their body language.

The body language is important [...]]]></description>
			<content:encoded><![CDATA[<p>We are using instant messaging a lot (IM). Our team is working remotely and IM helps us communicate. I have realized that communicating using IM can be rather difficult sometimes. One of the reasons is the lack of visual contact. The two (or more) chatting parties cannot show their body language.</p>
<p><span id="more-415"></span></p>
<p>The body language is important in situations where there is confrontation, opposition and reaction. It is also very important even for simple and relaxed chats. When two people try to discuss a difficult subject, it is very easy to get the wrong signals reading plain text. It would be a whole better if people were chatting face to face or even using voice.</p>
<p>What plays a key role is whether a person is generally pleasant when you are around them in the same room. When people smile a lot and generally approach things in a positive way, they are likely to transmit the same feelings even when someone is chatting with them using plain text. What helps, is the image of that person in the mind of the other chatting party. It&#8217;s the memories of the mood that person is in when interacting closely with the other party.</p>
<p>For example, when I chat with a person that is very distant and negative when I am around them, I get the same feeling when chatting with them using IM. It takes some effort to perceive what they type in a positive way even if they don&#8217;t say something in a negative way.</p>
<p>Being pleasant, smiling and open to your colleagues is a key factor towards a better communication even using text messaging.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.7deeds.com/2010/03/23/the-psychology-of-instant-messaging/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Daily scrum meeting for remote teams</title>
		<link>http://blog.7deeds.com/2010/03/01/daily-scrum-meeting-for-remote-teams/</link>
		<comments>http://blog.7deeds.com/2010/03/01/daily-scrum-meeting-for-remote-teams/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 23:13:59 +0000</pubDate>
		<dc:creator>Petros</dc:creator>
				<category><![CDATA[1-deed]]></category>
		<category><![CDATA[remote-work]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[methodologies]]></category>
		<category><![CDATA[project-management]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://blog.7deeds.com/?p=401</guid>
		<description><![CDATA[As a remote team with dispersed team members, we need to find ways to stay connected, motivated and committed. We thought of borrowing something from Scrum and try it out. It&#8217;s the Daily Scrum Meeting or Daily Stand Up and we have decided to try it for 30 days and see if we like it [...]]]></description>
			<content:encoded><![CDATA[<p>As a remote team with dispersed team members, we need to find ways to stay connected, motivated and committed. We thought of borrowing something from Scrum and try it out. It&#8217;s the Daily Scrum Meeting or Daily Stand Up and we have decided to try it for 30 days and see if we like it or not.</p>
<p><span id="more-401"></span></p>
<p>The Daily Scrum is:</p>
<blockquote><p>
<strong>Daily Scrum</strong><br />
Each day during the sprint, a project status meeting occurs. This is called a “daily scrum”, or “the daily standup”. This meeting has specific guidelines:</p>
<ul>
<li>The meeting starts precisely on time.</li>
<li>All are welcome, but only “pigs” may speak</li>
<li>The meeting is timeboxed to 15 minutes</li>
<li>The meeting should happen at the same location and same time every day</li>
</ul>
<p>During the meeting, each team member answers three questions:</p>
<ul>
<li>What have you done since yesterday?</li>
<li>What are you planning to do today?</li>
<li>Do you have any problems preventing you from accomplishing your goal? (It is the role of the Scrum Master to facilitate resolution of these impediments. Typically this should occur outside the context of the Daily Scrum so that it may stay under 15 minutes.)</li>
</ul>
</blockquote>
<p>We are a remote team and we had to tweak it a little to fit our needs:</p>
<ul>
<li>Every morning at 10:00am we go to a Skype group chat that is only used for our Daily Scrum Meetings</li>
<li>Each one of us says what they did yesterday, what they plan to accomplish today and mention any problems they have.</li>
<li>Problems are then discussed after the meeting.</li>
<li>The meeting never lasts more than 20 minutes.</li>
</ul>
<p>Results are positive so far. First of all, we feel that someone hears what we do everyday. If we have any problems or questions we can ask our fellow team members for help. We are committed because we promise a daily plan and we want to deliver it. We stay focused. All that, by spending 20-30 everyday to plan our day and present that plan to our colleagues.</p>
<p>References:</p>
<ol>
<li><a href="http://en.wikipedia.org/wiki/Scrum_(development)">Scrum (development)</a></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.7deeds.com/2010/03/01/daily-scrum-meeting-for-remote-teams/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Blog Action Day: Working remotely helps pollute less</title>
		<link>http://blog.7deeds.com/2009/10/15/blog-action-day-working-remotely-helps-pollute-less/</link>
		<comments>http://blog.7deeds.com/2009/10/15/blog-action-day-working-remotely-helps-pollute-less/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 10:42:09 +0000</pubDate>
		<dc:creator>Petros</dc:creator>
				<category><![CDATA[1-deed]]></category>
		<category><![CDATA[remote-work]]></category>
		<category><![CDATA[blog-action-day]]></category>
		<category><![CDATA[environment]]></category>

		<guid isPermaLink="false">http://blog.7deeds.com/?p=372</guid>
		<description><![CDATA[If you follow me, you know by now that me and my team (4 people in total) started working remotely. I was wondering what to write for Blog Action Day. I decided it would be cool if I could calculate some numbers that showed how we affect our environment in a positive way.

We are 4 [...]]]></description>
			<content:encoded><![CDATA[<p>If you follow me, you know by now that me and my team (4 people in total) started <a href="http://blog.7deeds.com/2009/06/22/working-remotely/">working remotely</a>. I was wondering what to write for <a href="http://www.blogactionday.org/">Blog Action Day</a>. I decided it would be cool if I could calculate some numbers that showed how we affect our environment in a positive way.</p>
<p><span id="more-372"></span></p>
<p>We are 4 and we work 4 days per week remotely.</p>
<p>We do roughly 32.000 kilometers to go to work and get back home, so that&#8217;s 32.000 less  per year.</p>
<p>Assuming our cars emit 160g of CO2 per kilometer on average.</p>
<p>We emit <strong>5.120.000g</strong> less CO2 per year!!!</p>
<p>That&#8217;s <strong>5.12 tonnes</strong> less CO2 per year!!!</p>
<p>And this is our action for the environment.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.7deeds.com/2009/10/15/blog-action-day-working-remotely-helps-pollute-less/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Jing while working remotely</title>
		<link>http://blog.7deeds.com/2009/06/24/using-jing-while-working-remotely/</link>
		<comments>http://blog.7deeds.com/2009/06/24/using-jing-while-working-remotely/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 11:07:27 +0000</pubDate>
		<dc:creator>Petros</dc:creator>
				<category><![CDATA[remote-work]]></category>
		<category><![CDATA[utilities]]></category>
		<category><![CDATA[devexpress]]></category>
		<category><![CDATA[telework]]></category>
		<category><![CDATA[XAF]]></category>

		<guid isPermaLink="false">http://blog.7deeds.com/?p=291</guid>
		<description><![CDATA[One of the tools I really appreciate because it helps me enhance my communication is Jing. Jing has a free edition that supports both screen captures with annotations and video captures with voice!

What I really like about this tool is the ease of use and the lack of unneeded options and clicks to get your [...]]]></description>
			<content:encoded><![CDATA[<p>One of the tools I really appreciate because it helps me enhance my communication is <a href="http://www.jingproject.com/">Jing</a>. Jing has a free edition that supports both screen captures with annotations and video captures with voice!</p>
<p><span id="more-291"></span></p>
<p>What I really like about this tool is the ease of use and the lack of unneeded options and clicks to get your job done.</p>
<p>I use Jing whenever I want to create a new case using FogBugz. For example whenever I want to report a bug or ask for an enhancement, I may capture the part of the screen of the application, annotate and save it to attach it then to a new case in <a href="http://www.fogcreek.com/FogBugz/">FogBugz</a> or send it directly using Skype to the remote programmer.</p>
<p>Sometimes, I even capture a video showing how to reproduce a bug. Capturing a video with Jing is <strong>very</strong> easy because it does exactly what you need, nothing more and nothing less.</p>
<p>Here is an example FogBugz case with a Jing screen capture with annotations for one of our internal projects. We develop this application using <a href="http://www.devexpress.com/">DevExpress</a> <a href="http://www.devexpress.com/Products/NET/Application_Framework/">XAF</a> which is a very good framework for developing intranet applications.</p>
<div id="attachment_290" class="wp-caption aligncenter" style="width: 310px"><a rel="attachment wp-att-290" href="http://blog.7deeds.com/2009/06/24/using-jing-while-working-remotely/2009-06-24_1330-fogbugzcase/"><img class="size-medium wp-image-290" title="FogBugz Case" src="http://blog.7deeds.com/wp-content/2009-06-24_1330-FogBugzCase-300x161.png" alt="FogBugz Case" width="300" height="161" /></a><p class="wp-caption-text">FogBugz Case</p></div>
<p>This way, I can write fewer words than if I hadn&#8217;t prepared the screen capture. I will also try to post a video capture example in the future.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.7deeds.com/2009/06/24/using-jing-while-working-remotely/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to avoid alienation while working remotely</title>
		<link>http://blog.7deeds.com/2009/06/23/how-to-avoid-alienation-while-working-remotely/</link>
		<comments>http://blog.7deeds.com/2009/06/23/how-to-avoid-alienation-while-working-remotely/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 19:43:44 +0000</pubDate>
		<dc:creator>Petros</dc:creator>
				<category><![CDATA[remote-work]]></category>
		<category><![CDATA[teamwork]]></category>
		<category><![CDATA[telework]]></category>

		<guid isPermaLink="false">http://blog.7deeds.com/?p=270</guid>
		<description><![CDATA[In my previous post, I mention that we started working remotely in order to improve our productivity. I chose &#8220;remote work&#8221; because I believe it solves some issues. Most of the times, however, when you try to solve a bunch of problems, you may create a bunch of new ones. In the end you may [...]]]></description>
			<content:encoded><![CDATA[<p>In my <a href="http://blog.7deeds.com/2009/06/22/working-remotely/">previous post</a>, I mention that we started working remotely in order to improve our productivity. I chose &#8220;remote work&#8221; because I believe it solves some issues. Most of the times, however, when you try to solve a bunch of problems, you may create a bunch of new ones. In the end you may not gain anything despite the effort.</p>
<p><span id="more-270"></span></p>
<p>One of the problems working remotely can bring is the feeling of separation from the rest of the company. Although this is not obvious at the beginning, I am sure it can happen and it can lead to unwanted results. When you start working remotely, you appreciate the fact that you can be isolated. This is true because you are already frustrated by the working conditions in the office and being isolated is a gift. As time passes, people in the office may start bothering you less and less. Face to face communication is almost non-existent. Quiet working environment is nice, but some noisy breaks are essential to appreciate the quiet. After a while, you start feeling unneeded, isolated, separated and not included in the office day to day happenings. This can lead to sadness and even melancholy or depression if the separation continues to a great extend.</p>
<p>I decided to deal with this from day one. Our work week goes like this: 4 days remote, 1 day in the office. This helps eliminate most of the problems I mentioned above. We chose Friday as the day we come into the office. Friday is usually a slower day because most of us have already burned a lot of gray cells during the week. This means that most of the people prefer face to face communication for a change. I also hope that this will make everyone wait to use Friday as the &#8220;communication&#8221; day. We also want to start using Friday as the day to present the results of our weekly iterations, and other technical findings we would like to share with the rest of the team.</p>
<p>We also have two rules: 1) We come into the office whenever we realize that being remote may slow us down when dealing with urgent situations. 2) We come into the office whenever there is a major release that is going to be deployed to the customer. These rules increase our &#8220;office time&#8221; and help us keep in touch with the rest of the company.</p>
<p>I have to say, however, that all the programmers — including me — have already been working closely in the office a long time before we started working remotely. This means that we already know each other pretty well and we have a very good relationship. The fact that we are all 30-40 minutes away from the office helps maintain this relationship. It is not a problem for us to visit the office whenever we need to.</p>
<p>Our visits to the office at least once a week, help to keep us connected to the rest of the company, but what happens during the rest of the week? How does my team communicate?</p>
<p>We use Skype as the main tool for communicating, either by using IM or voice/video calls. I will come back to this with more details in a future post. What I want to tell you though is that we work &#8220;closely&#8221; during the week, using technology. So far, we don&#8217;t feel disconnected at all. Time will tell if we keep on feeling this way.</p>
<p>I also have some ideas that we haven&#8217;t tried out yet:</p>
<ul>
<li>Team going out for coffee once a week or once every two weeks</li>
<li>Same as above, but instead of going out for coffee change that to tavern</li>
<li>Extend the weekly presentation or bi-weekly ones to the whole company or other departments we cooperate closely</li>
<li>Engage to sports with the participation of the whole company (although we tried that in the past and it doesn&#8217;t seem to be able to get established permanently)</li>
</ul>
<p>What do you think? What else could help us stay connected? Do you have similar experience you can share?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.7deeds.com/2009/06/23/how-to-avoid-alienation-while-working-remotely/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Working remotely</title>
		<link>http://blog.7deeds.com/2009/06/22/working-remotely/</link>
		<comments>http://blog.7deeds.com/2009/06/22/working-remotely/#comments</comments>
		<pubDate>Sun, 21 Jun 2009 23:12:53 +0000</pubDate>
		<dc:creator>Petros</dc:creator>
				<category><![CDATA[remote-work]]></category>
		<category><![CDATA[telework]]></category>

		<guid isPermaLink="false">http://blog.7deeds.com/?p=256</guid>
		<description><![CDATA[It all started 6 months ago. I was pressed by management to improve our team&#8217;s productivity. We are a team of 4 programmers with me as a leader. I identified some factors that in my opinion influenced our productivity and I reckoned working remotely could eliminate them. As a result we could increase our productivity.

I [...]]]></description>
			<content:encoded><![CDATA[<p>It all started 6 months ago. I was pressed by management to improve our team&#8217;s productivity. We are a team of 4 programmers with me as a leader. I identified some factors that in my opinion influenced our productivity and I reckoned working remotely could eliminate them. As a result we could increase our productivity.</p>
<p><span id="more-256"></span></p>
<p>I identified the following factors:</p>
<ol>
<li>A lot of noise outside our office</li>
<li>A lot of interruptions either by fellow employees, by the management or even by members of our team.</li>
<li>Not enough facilities to relax or make small breaks without thinking about the job</li>
<li>Lost time for commuting</li>
<li>Not a viable way to exercise before, during or immediately after work.</li>
</ol>
<p>I presented my proposal to the management. Although, the initial reaction was positive some skepticism creeped in later and we spent about 6 months thinking it over, until two weeks ago when we finally started working remotely.</p>
<p>Although we discussed a lot of issues with management, I identified three major concerns they had:</p>
<p><strong>What if anyone in the company wants to communicate with us directly?</strong></p>
<p>When I say directly, I mean someone opening our door barging in, and start &#8220;communicating&#8221; regardless of what the other person is doing or if they want to be interrupted.</p>
<p>I said that this should not be a concern. In fact, not being able to communicate directly would be a benefit. That led to the next concern.</p>
<p><strong>What if people start spending more time preparing feedback for the development team?</strong></p>
<p>In the company I work, there are three methods for giving feedback to the programmers: 1) Using <a href="http://www.fogcreek.com/FogBugz/">FogBugz</a>, 2) &#8220;Communicating&#8221; directly, and 3) A combination of the aforementioned methods.</p>
<p>Direct and informal communication is the least work for someone. It can be also viewed as a tool that helps us organize our thoughts. We think out loud, throw our thoughts to our listener and they help us polish our thoughts by occasionally expressing their opinion.</p>
<p>This is all good and fine, if it happens with the consent of the listener. Unfortunately most of the times this is not the case. Furthermore, the majority of people are kind and try to be polite by not making it clear to the interrupter that they didn&#8217;t want to be interrupted in the first place. However, the ultimate truth is that programmers don&#8217;t like being interrupted.</p>
<p>Consider for a minute a car production line. No one in their right mind would ever think interrupting the production flow, even if restarting it might take a few seconds. Why, then, is it natural for most people to interrupt a programmer? Their &#8220;restart&#8221; takes about 15 minutes and after a couple of these, the whole work day might go down the drain.</p>
<p>You can either be polite and ruin your flow, be harsh and ruin your relationship with your fellow coworkers or maybe <a href="http://blog.7deeds.com/2009/04/25/auto-tuning-on-vimeo/">choose an alternative</a> that may eventually make people come to you as a last resort.</p>
<p>Nevertheless, interrupters complain that all other forms of communication make them lose time. Writing, taking screen shots, making videos, talking using Skype or similar IMs, or making mock-ups takes more time and needs more effort than barging in and talking directly.</p>
<p>I say that taking more time to create descent feedback brings better results, because the effort and the thinking one must do forces them to do a better job.</p>
<p>However, what happens when something urgent comes up and trying to communicate without direct contact is inefficient? Which brings us to the next concern.</p>
<p><strong>What if something urgent happens that demands direct communication and cooperation?</strong></p>
<p>Usually after a fresh software release (but not only) problems arise at the customer. These are the problems that couldn&#8217;t be caught by the programmers and the testers. Sometimes, these problems might be show stoppers and that is when the issue is marked as urgent. The pressure by the customer and the management is big and people that try to solve the problem are anxious and in a hurry.</p>
<p>This is a situation when direct communication is better. We chose to deal with such situations in a proactive way. Each time we know the chances are high for such urgent situations, the programmers involved should be in the office. For example, the day of release, the programmer in charge of the project comes in and is available to solve any urgent problems.</p>
<p>Of course, problems don&#8217;t always appear at the same day of the release. They might even appear months later. We created another rule for that. The programmers come at the office, if they feel they can&#8217;t solve a problem quickly because of the fact they are away. This is possible because every programmer is 20 to 40 minutes away from HQ.</p>
<p>The team works remotely two weeks now. The first feelings are positive. I get reports from my fellow team members about how wonderful it is to work without being directly interrupted. Also, how less they get tired during the day and how peaceful it is to be at home. They also say they feel their productivity improved, but I think we need more time to reach a safe conclusion.</p>
<p>Our fellow consultants and testers, look at this positively and I want to take the opportunity and thank them for their patience. Of course, they spend more time trying to prepare their feedback, but it is very early to say if the time they spend will remain at the same levels or whether it will drop. Also, we don&#8217;t know yet if the time they spend is compensated by the potential increase in the programmers&#8217; productivity.</p>
<p>Finally, ITS S.A., the company I am cooperating very closely with, is I think among very few companies in Greece that would allow such an experiment. If I am wrong, please feel free to post a comment.</p>
<p>In my next posts I will try to describe how we try to avoid alienating the team and generally disconnecting them from the workplace. Also, I am going to write about more practical things we do and tools we use to help us work remotely.</p>
<p>I would be very pleased if you posted some comments with questions I could answer or with your experience in similar situations.</p>
<p>Related articles:</p>
<ul>
<li><a href="http://blog.7deeds.com/2009/06/23/how-to-avoid-alienation-while-working-remotely/">How to avoid alienation while working remotely</a></li>
<li><a href="http://blog.7deeds.com/2009/06/24/using-jing-while-working-remotely/">Using Jing while working remotely</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.7deeds.com/2009/06/22/working-remotely/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Failing job post</title>
		<link>http://blog.7deeds.com/2009/06/17/failing-job-post/</link>
		<comments>http://blog.7deeds.com/2009/06/17/failing-job-post/#comments</comments>
		<pubDate>Wed, 17 Jun 2009 08:42:43 +0000</pubDate>
		<dc:creator>Petros</dc:creator>
				<category><![CDATA[1-deed]]></category>
		<category><![CDATA[employment]]></category>
		<category><![CDATA[jobs]]></category>
		<category><![CDATA[productivity]]></category>

		<guid isPermaLink="false">http://blog.7deeds.com/?p=221</guid>
		<description><![CDATA[I have just read a job post in some job site and among other requirements, they are asking for a &#8220;multitasking&#8221; person.

If I was a candidate for that position, reading that word would make me wanna stay away from that company. Of course this is just a personal opinion. You can always try to fail [...]]]></description>
			<content:encoded><![CDATA[<p>I have just read a job post in some job site and among other requirements, they are asking for a &#8220;multitasking&#8221; person.</p>
<p><span id="more-221"></span></p>
<p>If I was a candidate for that position, <a title="Be productive by not multitasking" href="http://blog.7deeds.com/?p=200" target="_self">reading that word</a> would make me wanna stay away from that company. Of course this is just a personal opinion. You can always try to <span style="text-decoration: line-through;">fail</span> multitask if you want.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.7deeds.com/2009/06/17/failing-job-post/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Learn many programming languages or few?</title>
		<link>http://blog.7deeds.com/2009/01/18/learn-many-programming-languages-or-few/</link>
		<comments>http://blog.7deeds.com/2009/01/18/learn-many-programming-languages-or-few/#comments</comments>
		<pubDate>Sun, 18 Jan 2009 00:24:17 +0000</pubDate>
		<dc:creator>Petros</dc:creator>
				<category><![CDATA[1-deed]]></category>
		<category><![CDATA[continuous-learning]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://blog.7deeds.com/?p=107</guid>
		<description><![CDATA[The post written by my fellow programmer Kostas, reminded me of how many times I am troubled by the following thought: Is it better to stick to one or two programming languages or try to learn as many different languages and frameworks as possible?

I don&#8217;t believe in either/or mentality. I believe we should always find [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" title="Approaching Corfu" src="http://www.7deeds.com/images/2778520073_ab99cb657d150x150.jpg" alt="" width="150" height="113" /><a href="http://entertheit.blogspot.com/2009/01/rails-and-other-contemporary.html">The post</a> written by my fellow programmer <a href="http://www.blogger.com/profile/11702968703769447667">Kostas</a>, reminded me of how many times I am troubled by the following thought: Is it better to stick to one or two programming languages or try to learn as many different languages and frameworks as possible?</p>
<p><span id="more-107"></span></p>
<p>I don&#8217;t believe in either/or mentality. I believe we should always find what works for us by trying different things and experimenting. I did that a lot of times in my career. Having said that, here are some thoughts about this question.</p>
<p>Spending years only on one technology can harm you in some ways. Everything looks like a nail to you if your only tool is a hammer. You try to solve every problem with the tool you know how to use better. This is great if the problems you are trying to solve are the kind of problems your tool solves better. However, what about other problems, where your tool is not so great at solving?</p>
<p>Some times, knowing more than a couple of programming languages, comes handy when there is a crisis in the job market. There was one friend of mine who didn&#8217;t want to learn anything else except the language he used for over a decade. One day, he lost his job. Unfortunately, only then did he realize that the language he knew inside out was no longer in demand. He struggled a lot and had to change from being a programmer to being a member of IT in some company that used that language and needed maintenance work. This teaches me, that some times, when you have your job and feel &#8220;secure&#8221;, you are also unaware of what is going on in the technology world. Especially if you are not willing to learn different things. This has the danger of learning about it when it is too late.</p>
<p>Even if you never lose your job, or never change the language you are using, it is still better to learn other languages because you can expand your thinking and deepen your understanding of programming.</p>
<p>Let me give you an example from my experience: Many years ago I was using Pascal. At that time Pascal wasn&#8217;t object oriented. I was always on the look for new paradigms, and suddenly the world started talking about OOP. Every magazine was talking about it (we didn&#8217;t have Internet back then).</p>
<p><img class="alignright" title="Corfu Pool 2008" src="http://www.7deeds.com/images/CorfuPool.jpg" alt="" width="150" height="113" />I wanted to start using a language that supported OOP, but I couldn&#8217;t because none could ran on my computer. I couldn&#8217;t wait to buy a new computer, so I started using the paradigm even though my language of choice didn&#8217;t supported it. Pascal supported records, pointers and procedures/functions. If you try to see what a class really is, you will realize how I simulated classes in a non OO language.</p>
<p>Having mentioned &#8220;paradigm&#8221;, I would like to say that it is better to learn different languages of different paradigms, than languages of the same paradigm. Languages of the same paradigm just change in syntax, but only if you learn about different paradigms you can really expand your mind. Examples of different paradigms are: procedural programming, object oriented programming and functional programming.</p>
<p>Some complain of not having enough time. When I was very little, I once complained about that to my father. He told me to sit down and explained to me his theory for time management and planning. I try never to complain again about not having enough time, but lets pretend you don&#8217;t have enough time:</p>
<p>You can focus on your &#8220;day language&#8221; (the one you use every day at work), but at least study one new language as a side project. When I say study, I suggest that even if you don&#8217;t build something useful, at least read the theory and try to do a couple of tutorials. Even at this rate it is still better than only sticking to your &#8220;day language&#8221;.</p>
<p>I don&#8217;t want to forget mentioning that of course the fundamentals are very important, but how can you really learn the fundamentals if that knowledge doesn&#8217;t come from applying the languages? I assume you have already read more than 10 theoretical books on programming fundamentals, but that is just the theory. You should also apply that through the use of many languages. Not only one language.</p>
<p>To answer the original question: I always like to have a main language and a side language. Nowadays my main language is C# and my side language is Ruby. Respectively, my main framework is .NET and my side framework is Rails. If I see that I am mastering Ruby, I will find time for another paradigm. Maybe Ruby can become my main language, in order to make time for the new one <img src='http://blog.7deeds.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><img class="alignleft" title="Zografou 2008" src="http://www.7deeds.com/images/2779783583_a407b06fee.jpg" alt="" width="150" height="113" />Finally, I want to answer the concerns my friend expressed about what is better to write in his resume. If I had to decide hiring one programmer among two equally good programmers and  the only difference was their language focus, I would choose the one who knows more languages because I believe he would have a deeper understanding of programming.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.7deeds.com/2009/01/18/learn-many-programming-languages-or-few/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Don&#8217;t interrupt me</title>
		<link>http://blog.7deeds.com/2009/01/15/dont-interrupt-me/</link>
		<comments>http://blog.7deeds.com/2009/01/15/dont-interrupt-me/#comments</comments>
		<pubDate>Thu, 15 Jan 2009 20:44:17 +0000</pubDate>
		<dc:creator>Petros</dc:creator>
				<category><![CDATA[1-deed]]></category>
		<category><![CDATA[productivity]]></category>

		<guid isPermaLink="false">http://blog.7deeds.com/?p=101</guid>
		<description><![CDATA[Once upon a time, there was this newly hired software development team leader, named Joe, who wanted to organize the software development department of a company. He told the bosses they should really choose and buy a project management/issue tracking tool. The bosses were OK with that and let Joe buy that tool.
Joe, tried to [...]]]></description>
			<content:encoded><![CDATA[<p>Once upon a time, there was this newly hired software development team leader, named Joe, who wanted to organize the software development department of a company. He told the bosses they should really choose and buy a project management/issue tracking tool. The bosses were OK with that and let Joe buy that tool.</p>
<p><span id="more-101"></span>Joe, tried to persuade everyone to use that tool for any form of communication between all and the software department, ditching email. Most did that, but there were two occasions when that wasn&#8217;t the case:</p>
<ol>
<li>People who thought it was better to call Joe, describe a bunch of cases to him orally, and then hope Joe would remember everything and go and create the cases himself.</li>
<li>People, who although were willing to write the case, they first needed to ran it by Joe orally.</li>
</ol>
<p>In both scenarios, both types of people just interrupted Joe. They seemingly didn&#8217;t respect Joe&#8217;s time or concentration. Was this the case though? Was it they didn&#8217;t really care or was it they were ignorant and uneducated. After all, can you blame the ignorant?</p>
<p>Joe was trying not to get angry, but he couldn&#8217;t always succeed. Joe had a hard time explaining why he didn&#8217;t want to be interrupted. He couldn&#8217;t even find the right words to make other people aware of his situation. He thought that others thought he was a selfish bastard for not wanting to be interrupted.</p>
<p>Joe, really believed that even one interruption, that would also cause his nerves to stretch, could easily ruin the productivity of a whole day. Imagine that: A whole day&#8217;s worth of productivity down the toilet.</p>
<p>Joe thinks of a future where co-workers are not bored to write in detail what they want from him while he is able to get things done in a calm environment. He smiles thinking that having a dream is better than nothing.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.7deeds.com/2009/01/15/dont-interrupt-me/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>1Deed Programming==Fun</title>
		<link>http://blog.7deeds.com/2008/12/14/1deed-programmingfun/</link>
		<comments>http://blog.7deeds.com/2008/12/14/1deed-programmingfun/#comments</comments>
		<pubDate>Sun, 14 Dec 2008 02:50:54 +0000</pubDate>
		<dc:creator>Petros</dc:creator>
				<category><![CDATA[1-deed]]></category>

		<guid isPermaLink="false">http://blog.7deeds.com/?p=76</guid>
		<description><![CDATA[Initially, I said I was going to create 7 free services that will run on the Internet. Now, I am changing my initial plans. Maybe some of my 7 deeds will be free services, but not all of them.

Today, after many years of reading, thinking, experimenting and concluding I realized what my 1st deed should [...]]]></description>
			<content:encoded><![CDATA[<p><a title="What is 7deeds?" href="http://blog.7deeds.com/?p=1">Initially</a>, I said I was going to create 7 free services that will run on the Internet. Now, I am changing my initial plans. Maybe some of my 7 deeds will be free services, but not all of them.</p>
<p><span id="more-76"></span></p>
<p>Today, after many years of reading, thinking, experimenting and concluding I realized what my 1st deed should be:</p>
<blockquote><p>I am devoted to one cause. I always try to create the best working conditions for my fellow programmers and as a result enable them to wake up every morning and be anxious to start <span style="text-decoration: line-through;">working</span> having fun. I am also devoted to raise everyone&#8217;s awareness about this important subject.</p></blockquote>
<p>The &#8220;working conditions&#8221; problem has always been on my mind, since I first started working as an employee for a company back in 1998. It was two years later in 2000, when I discovered Joel Spolsky and his blog <a title="Joel on Software" href="http://www.joelonsoftware.com">Joel on Software</a>. It was the first time I was reading about what was bothering me: The working conditions of programmers. Joel&#8217;s articles helped me realize that this is a real problem and that a company can be built having as a core competency the continuous efforts to create the best working conditions for its programmers.</p>
<p>All these years, I was in a position with no power until now. I am now the leader of the software development of a company that allows me to experiment and create the environment I think is best for the team members.</p>
<p>I have created the &#8220;1Deed Programming==Fun&#8221; category where I will put all my posts about this deed. In future posts I will describe what I am doing to have the best working conditions for me and my fellow teamates, and also what I am doing to help raise the awareness of everyone about this important subject.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.7deeds.com/2008/12/14/1deed-programmingfun/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
