<?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"
	>

<channel>
	<title>Developer Tutorials' Webmaster Blog &#187; professional development</title>
	<atom:link href="http://www.developertutorials.com/blog/tag/professional-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.developertutorials.com/blog</link>
	<description>Keeping webmasters up-to-date on technology.</description>
	<pubDate>Fri, 04 Jul 2008 04:00:26 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
	<language>en</language>
			<item>
		<title>5 ways to ensure a successful freelance development project</title>
		<link>http://www.developertutorials.com/blog/web/5-ways-to-ensure-a-successful-freelance-development-project-97/</link>
		<comments>http://www.developertutorials.com/blog/web/5-ways-to-ensure-a-successful-freelance-development-project-97/#comments</comments>
		<pubDate>Sat, 22 Mar 2008 02:10:41 +0000</pubDate>
		<dc:creator>Akash Mehta</dc:creator>
		
		<category><![CDATA[General]]></category>

		<category><![CDATA[Web]]></category>

		<category><![CDATA[freelancing]]></category>

		<category><![CDATA[professional development]]></category>

		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.developertutorials.com/blog/web/5-ways-to-ensure-a-successful-freelance-development-project-97/</guid>
		<description><![CDATA[IT projects are, by their nature, destined to fail. When you plan for a new project, you&#8217;ll probably realise that while what you&#8217;re bui/lding isn&#8217;t new, it ts new to you, and you&#8217;re bound to encounter some surprises along the way. Maybe you haven&#8217;t quite thought out how you&#8217;re going to build a specific feature [...]]]></description>
			<content:encoded><![CDATA[<p>IT projects are, by their nature, destined to fail. When you plan for a new project, you&#8217;ll probably realise that while what you&#8217;re bui/lding isn&#8217;t new, it ts new to you, and you&#8217;re bound to encounter some surprises along the way. Maybe you haven&#8217;t quite thought out how you&#8217;re going to build a specific feature - and when you get to actually building the application, it takes a lot longer than you expect. Or maybe your client decides to change the project requirements half way through when he sees your beta. Here are five ways to avoid cost and timeframe blowouts in your freelance project.</p>
<p><span id="more-97"></span></p>
<p><strong>1. Have a thorough project spec</strong><br />
Don&#8217;t code anything until both you and the client have agreed on a projert outline or specification, and it covers every area of the application. A thorough spec written now can save hours of wasted development hours due to misunderstanding later on. For example, if building a website, your project spec should outline all the pages of the website, roughly what they will look like and any special functionality on them (such as viewing records in a database).</p>
<p><strong>2. Agree on conditions for changing the project spec</strong></p>
<p>Chances are your client doesn&#8217;t know the web. They have a general idea of what they want you to build, but they don&#8217;t really know what it&#8217;s going to look like, what it can look like, what features you can build. Essentially, they don&#8217;t know what is possible - but as the project progresses, they&#8217;ll figure it out. And when they do, they&#8217;ll have all sorts of little features they want you to add.</p>
<p>Now, this is all very well - client satisfaction is critical for succesful freelancing - but make sure you agree on some terms for changing the project spec from the beginning. For example, &#8220;I will give you an estimate for additional hours required to add a feature and add it to the bill.&#8221; (This works especially well on hourly rates; clients like to raise issue with adding to a flat rate for the project)</p>
<p><strong>3. Help the client think out their application</strong><br />
I recently had a client wanting to build a simple database-driven application. The emphasis was heavily on the data, and while they&#8217;d done some basic design mockups, they didn&#8217;t really know what the application <em>should</em> look like - or, for that matter, what it should do. While planning, frequently contacted the client and made suggestions that I knew would improve the effectiveness of the application. It isn&#8217;t quite finished yet, but the client already loves the beta.</p>
<p><strong>4. Explain the problems of detrimental design decisions</strong><br />
I mentioned before that your client doesn&#8217;t know what is possible with the web - they also don&#8217;t know what isn&#8217;t possible. Ever had a request from a client, and thought, &#8220;Why the heck would they want THAT?&#8221; In these situations, don&#8217;t just accept the request and move on. Explain to the client that it isn&#8217;t a good idea, and why. You&#8217;ll save everyone&#8217;s time, and if the design decision the client has made is particularly obscure, you&#8217;ll probably save yourself a lot of hair pulling trying to implement it later.</p>
<p><strong>5. Maintain after sales support</strong><br />
Make sure the client is happy with the product, and keep it that way. After sales support is an area most freelancers fail on. Your project doesn&#8217;t end when you provide the code to your client. Make sure your client knows that they should come to you for support, and provide bug fixes at no cost - often they may feel inclined to hire someone else to fix bugs.</p>
<p>This is all very well, but the client will probably want a few extra features added or maintenance conducted, and with another provider working on bug fixes, your winning this additional business isn&#8217;t something you can take for granted anymore. Conversely, if you&#8217;ve been called in to rework an existing application, encourage the client to task you with additional development, as opposed to the original provider. Repeat business is highly profitable - no overheads, just get in there and do what you do best.</p>
<p>Follow these tips, and your projects will be more predictable - and better managed within budget. Happy freelancing!</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d97').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Bookmark It</em></strong></a>
<br />
<div class="d97" style="overflow:hidden">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.developertutorials.com/blog/web/5-ways-to-ensure-a-successful-freelance-development-project-97/&amp;title=5+ways+to+ensure+a+successful+freelance+development+project" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.developertutorials.com/blog/wp-content/plugins/social_bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.developertutorials.com/blog/web/5-ways-to-ensure-a-successful-freelance-development-project-97/&amp;title=5+ways+to+ensure+a+successful+freelance+development+project" title="Add to&nbsp;digg"><img class="social_img" src="http://www.developertutorials.com/blog/wp-content/plugins/social_bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http://www.developertutorials.com/blog/web/5-ways-to-ensure-a-successful-freelance-development-project-97/&amp;title=5+ways+to+ensure+a+successful+freelance+development+project" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://www.developertutorials.com/blog/wp-content/plugins/social_bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://www.developertutorials.com/blog/web/5-ways-to-ensure-a-successful-freelance-development-project-97/&amp;title=5+ways+to+ensure+a+successful+freelance+development+project" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.developertutorials.com/blog/wp-content/plugins/social_bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d97').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.developertutorials.com/blog/web/5-ways-to-ensure-a-successful-freelance-development-project-97/feed/</wfw:commentRss>
		</item>
		<item>
		<title>7 websites that will make you a better PHP developer</title>
		<link>http://www.developertutorials.com/blog/php/7-websites-that-will-make-you-a-better-php-developer-82/</link>
		<comments>http://www.developertutorials.com/blog/php/7-websites-that-will-make-you-a-better-php-developer-82/#comments</comments>
		<pubDate>Sat, 15 Mar 2008 07:15:57 +0000</pubDate>
		<dc:creator>Akash Mehta</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<category><![CDATA[php tips]]></category>

		<category><![CDATA[professional development]]></category>

		<guid isPermaLink="false">http://www.developertutorials.com/blog/php/7-websites-that-will-make-you-a-better-php-developer-82/</guid>
		<description><![CDATA[Developing in PHP isn&#8217;t a textbook science. There&#8217;s skill to it, and that skill comes from experience. Now, you could try your hand at every single PHP development challenge out there, or you could learn from the experiences of others, widely published on the web in blogs and developer portals. Here are seven websites you [...]]]></description>
			<content:encoded><![CDATA[<p>Developing in PHP isn&#8217;t a textbook science. There&#8217;s skill to it, and that skill comes from experience. Now, you could try your hand at every single PHP development challenge out there, or you could learn from the experiences of others, widely published on the web in blogs and developer portals. Here are seven websites you should visit frequently to become a better PHP developer.</p>
<p><span id="more-82"></span></p>
<p><strong>1. <a href="http://devzone.zend.com/public/view" target="_blank" rel="external nofollow">Zend Developer Zone</a></strong><br />
Zend&#8217;s Developer Zone frequently publishes articles and tutorials on just about every area of PHP. Some of the recent items up there include the value of web services, various PHP conferences (and unconferences) coming up, and my favorite, &#8220;Designing Klingon Warships Using Behaviour Driven Development&#8221;.</p>
<p><strong>2. <a href="http://c7y.phparch.com/" target="_blank" rel="external nofollow">PHP Architect C7Y</a></strong><br />
C7Y is the community website of php architect, another PHP company similar to Zend. C7Y features articles on PHP development, interesting forum discussions and news from the PHP world, among other things.</p>
<p><strong>3. <a href="http://phpdeveloper.org/" target="_blank">PHPDeveloper.org</a></strong><br />
PHPDeveloper is about what&#8217;s happening in the PHP world. If something important comes up, chances are it&#8217;ll soon be up on phpdeveloper.org. Interesting posts on major PHP blogs, job openings, releases of open source projects and new tutorials all make it to phpdeveloper.org, making it an invaluable resource.</p>
<p><strong>4. <a href="http://digg.com/programming" target="_blank" rel="external nofollow">Digg.com/programming</a></strong><br />
Digg&#8217;s programming section regularly features major articles of interest to web developers. Along with the software section, Digg has everything from a video on using the Greasemonkey extension to Firefox, to powerful CSS techniques, practical uses of the Firefox Web Developer toolbar and the lateast Adobe AIR release as it happens. Definitely worth keeping an eye on. <a href="http://reddit.com/r/programming/" target="_blank">Reddit&#8217;s programming section</a> also has some gems.</p>
<p><strong>5. <a href="http://phpclasses.org/" target="_blank" rel="external nofollow">PHPClasses.org</a></strong><br />
No matter what you&#8217;re attempting to do in PHP, chances are it&#8217;s been done before. PHPClasses.org is the most comprehensive repository of user-submitted php classes, to handle everything from communicating via the MSN Messenger protocol to parsing configuration files, send SMS messages to reading apache log files. This can save you hours of development, and you can learn something new from innovative approaches other people have taken.</p>
<p><strong>6. <a href="http://www.planet-php.net/" target="_blank">Planet PHP</a></strong></p>
<p>Planet PHP is a blog planet, aggregating posts from well over 100 major PHP blogs. If something big is happening in the PHP world, chances are it&#8217;ll turn up on Planet PHP. This is fairly high traffic, however, so it&#8217;s easiest to grab the feed in your feed reader - see below.</p>
<p><strong>7. Bonus: <a href="http://reader.google.com/" target="_blank">Google Reader</a> to keep track of it all</strong></p>
<p>Of course, you can&#8217;t keep track of all of these sites yourself. Load up your favorite RSS/atom feed reader - we prefer Google Reader, but <a href="http://en.wikipedia.org/wiki/List_of_feed_aggregators" target="_blank" rel="external nofollow">there are many others</a> - and add these feeds:</p>
<blockquote><p><a href="http://feeds.feedburner.com/ZendDeveloperZone" target="_blank" rel="external nofollow">Zend Dev Zone</a><br />
<a href="http://c7y.phparch.com/c/tag/podcast?feed=atom" target="_blank" rel="external nofollow">php architect C7Y</a><br />
<a href="http://phpdeveloper.org/feed" target="_blank" rel="external nofollow">phpdeveloper.org</a><br />
<a href="http://www.planet-php.net/rss/" target="_blank">Planet PHP</a><br />
<a href="http://www.developertutorials.com/blog/php/feed/">Developer Tutorials PHP Blog <img src='http://www.developertutorials.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </a></p>
</blockquote>
<p>You can then load up Google Reader (or your feed reader of choice) every morning and find the latest PHP news, tips and tricks, patterns and approaches, invaluable for becoming a better PHP developer.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d82').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Bookmark It</em></strong></a>
<br />
<div class="d82" style="overflow:hidden">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.developertutorials.com/blog/php/7-websites-that-will-make-you-a-better-php-developer-82/&amp;title=7+websites+that+will+make+you+a+better+PHP+developer" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.developertutorials.com/blog/wp-content/plugins/social_bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.developertutorials.com/blog/php/7-websites-that-will-make-you-a-better-php-developer-82/&amp;title=7+websites+that+will+make+you+a+better+PHP+developer" title="Add to&nbsp;digg"><img class="social_img" src="http://www.developertutorials.com/blog/wp-content/plugins/social_bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http://www.developertutorials.com/blog/php/7-websites-that-will-make-you-a-better-php-developer-82/&amp;title=7+websites+that+will+make+you+a+better+PHP+developer" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://www.developertutorials.com/blog/wp-content/plugins/social_bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://www.developertutorials.com/blog/php/7-websites-that-will-make-you-a-better-php-developer-82/&amp;title=7+websites+that+will+make+you+a+better+PHP+developer" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.developertutorials.com/blog/wp-content/plugins/social_bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d82').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.developertutorials.com/blog/php/7-websites-that-will-make-you-a-better-php-developer-82/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Head to php&#124;tek!</title>
		<link>http://www.developertutorials.com/blog/php/head-to-phptek-52/</link>
		<comments>http://www.developertutorials.com/blog/php/head-to-phptek-52/#comments</comments>
		<pubDate>Mon, 25 Feb 2008 09:18:19 +0000</pubDate>
		<dc:creator>Akash Mehta</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<category><![CDATA[php conference]]></category>

		<category><![CDATA[professional development]]></category>

		<guid isPermaLink="false">http://www.developertutorials.com/blog/php/head-to-phptek-52/</guid>
		<description><![CDATA[In my post on professional development for PHPers, I discussed the value of attending conferences. Well, php&#124;tek in Chicago is coming up, and you should be there! The php&#124;architect team has reported more than 40% of seats have been reserved already, so get in quickly.
If Chicago isn&#8217;t an option for you, try PHP Quebec, php [...]]]></description>
			<content:encoded><![CDATA[<p>In <a href="http://www.developertutorials.com/blog/php/4-php-professional-development-paths-17/" target="_blank">my post on professional development for PHPers</a>, I discussed the value of attending conferences. Well, <a href="http://tek.phparch.com/" target="_blank">php|tek</a> in Chicago is coming up, and you should be there! The php|architect team has reported more than 40% of seats have been reserved already, so get in quickly.</p>
<p>If Chicago isn&#8217;t an option for you, try <a href="http://conf.phpquebec.com/" target="_blank">PHP Quebec</a>, <a href="http://www.phpconference.co.uk/">php london</a> or the <a href="http://dcphpconference.com/">DC PHP Conference</a>.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d52').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Bookmark It</em></strong></a>
<br />
<div class="d52" style="overflow:hidden">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.developertutorials.com/blog/php/head-to-phptek-52/&amp;title=Head+to+php%7Ctek%21" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.developertutorials.com/blog/wp-content/plugins/social_bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.developertutorials.com/blog/php/head-to-phptek-52/&amp;title=Head+to+php%7Ctek%21" title="Add to&nbsp;digg"><img class="social_img" src="http://www.developertutorials.com/blog/wp-content/plugins/social_bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http://www.developertutorials.com/blog/php/head-to-phptek-52/&amp;title=Head+to+php%7Ctek%21" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://www.developertutorials.com/blog/wp-content/plugins/social_bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://www.developertutorials.com/blog/php/head-to-phptek-52/&amp;title=Head+to+php%7Ctek%21" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.developertutorials.com/blog/wp-content/plugins/social_bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d52').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.developertutorials.com/blog/php/head-to-phptek-52/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
