<?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>Welcome to Manjits Blog &#187; programming</title>
	<atom:link href="http://www.msjtech.net/tag/programming/feed" rel="self" type="application/rss+xml" />
	<link>http://www.msjtech.net</link>
	<description>Manjit&#039;s Musings On Business and Technology</description>
	<lastBuildDate>Tue, 31 Jan 2012 14:45:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>How to be a more Employable Java Programmer</title>
		<link>http://www.msjtech.net/how-to-be-a-more-employable-java-programmer/27/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=how-to-be-a-more-employable-java-programmer</link>
		<comments>http://www.msjtech.net/how-to-be-a-more-employable-java-programmer/27/#comments</comments>
		<pubDate>Fri, 23 Sep 2011 01:01:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jobs]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.msjtech.net/?p=27</guid>
		<description><![CDATA[Introduction With the large number of redundancies there are more people looking for jobs and less jobs actually available. In such competitive times you need to try harder to stand out against the competition. Having been in this situation myself a few times over the years, I managed to overcome the odds and not only get a [...]]]></description>
			<content:encoded><![CDATA[<p><strong><a href="http://www.msjtech.net/wp-content/uploads/2011/09/employableDeveloper.jpg"><img class="alignleft size-full wp-image-28" title="employableDeveloper" src="http://www.msjtech.net/wp-content/uploads/2011/09/employableDeveloper.jpg" alt="" width="263" height="197" /></a>Introduction</strong><br />
With the large number of redundancies there are more people looking for jobs and less jobs actually available. In such competitive times you need to try harder to stand out against the competition. Having been in this situation myself a few times over the years, I managed to overcome the odds and not only get a job, but also have the ability to choose between a selection of roles. Below are some of my ideas on how to improve your chances of landing that dream job.</p>
<p><strong>Prerequisites</strong><br />
Before I start I think it&#8217;s worth stating that a real interest in programming is a sort of a prerequisite. A lot of my advice will take a considerable amount of time, which will be much easier to handle if you have a genuine interest in this area.</p>
<p><strong>1. Best Practices</strong></p>
<p>Learn about Design Patterns and development best practices. Whatever problem you are solving, the chances are that someone out there has already solved it in a much more elegant way than you could. Learning about best practices can help you avoid making common mistakes and improve your standard of coding in general.</p>
<p><strong>2. Finding Information</strong><br />
Learn how to use Google/resources properly. You might laugh at this one, but knowing the best way of searching on Google for help with a problem or for some extra information can be invaluable. Also don&#8217;t be afraid to post to developer forums / mailing lists, or even email the people in charge of a project for some help.</p>
<p><strong>3. Accreditation</strong><br />
Gain a widely recognised accreditation. My personal recommendation would be The Sun Certified Java Programmer program &#8211; it would help give potential employees some reassurance into what your current standard of programming is.</p>
<p><strong>4. Go Agile</strong><br />
Learn about Agile software development &#8211; I believe that an Agile approach is the best way to produce software and even if you don&#8217;t end up using it, you could incorporate some of the best practices into your role and impress your new boss.</p>
<p><strong>5. Join a Project</strong><br />
Join and contribute to an open source project &#8211; preferably something that has a fair amount of developer activity and something that you find interesting and maybe even beneficial to your future options, some suggestions would be Hibernate, The Spring Framework, Selenium.</p>
<p><strong>6. Write a blog</strong><br />
I think this would score a lot of brownie points with potential employees. Starting a blog has a number of other benefits also, such as building relationships with other people in the industry and increasing your level of visibility.</p>
<p><strong>7. Learn Learn Learn</strong></p>
<p>Keep up to date with the latest development related news and learn and experiment with new technologies. See my links section for more places to find information.<br />
<strong>8. Improve your C.V </strong><br />
Your C.V is effectively your sales pitch to your potential employers, spend time on making it as clear, concise. Also ensure that your strengths and full range of technical skills are adequately highlighted.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.msjtech.net/how-to-be-a-more-employable-java-programmer/27//feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Six Agile best practices everyone can use</title>
		<link>http://www.msjtech.net/agile-best-practices-everyone-can-use/19/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=agile-best-practices-everyone-can-use</link>
		<comments>http://www.msjtech.net/agile-best-practices-everyone-can-use/19/#comments</comments>
		<pubDate>Thu, 22 Sep 2011 01:42:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.msjtech.net/?p=19</guid>
		<description><![CDATA[Agile development has taken off in a big way and there are many notable companies that use it. However there are still those that are stuck in waterfall mode and find it hard to make the transition to Agile development. Here are some of the best Agile practices that I&#8217;ve found can be incorporated into [...]]]></description>
			<content:encoded><![CDATA[<p>Agile development has taken off in a big way and there are many notable companies that use it. However there are still those that are stuck in waterfall mode and find it hard to make the transition to Agile development. Here are some of the best Agile practices that I&#8217;ve found can be incorporated into any team and provide immediate benefits.</p>
<p><strong>Make it easy to commit code</strong><a href="http://www.msjtech.net/wp-content/uploads/2011/09/agile.jpg"><img class="alignright size-full wp-image-31" title="agile" src="http://www.msjtech.net/wp-content/uploads/2011/09/agile.jpg" alt="" width="198" height="265" /></a></p>
<p>Make it easy for developers to commit code and try and commit regularly so that your code stays code stays in check. I think merging code that has been worked on for long periods of time is one of the most error prone and time consuming tasks a developer can be faced. The ideal solution is to have your version control system integrated into your IDE, tools such as Eclipse and Subversion make this quite easy to achieve.</p>
<p>&nbsp;</p>
<p><strong>Short build cycle</strong><br />
I&#8217;ve come across numerous companies where they are so focused on other issues that they totally miss this one. Long build cycles mean that a surprisingly large amount of time is wasted when the developer has made a small change and is waiting his code to compile. It can also mean that the developer loses momentum and focus, which in turn means that even more time is lost.<br />
In addition to this you may want to look at JavaRebel &#8211; which provides a Ruby on Rails like functionality to Java and allows you to make changes to Java classes on the fly.</p>
<p>&nbsp;</p>
<p><strong>Test Driven development</strong> -<br />
Unit testing has become very popular and is probably one of the easiest things to sell to your boss. Adding unit tests to your code provides a number of benefits; it helps find development problems early on, and provides developers with more confidence to refactor code, which in turn leads to better, more robust code.</p>
<p><strong>Automated build process</strong>,<br />
There are a number of tools that will allow you to automate your build process CruiseControl and Hudson are two of the most popular ones. Build automation gives you immediate feedback on the health of your project, and helps ensure that no bugs or compilation errors are introduced into the build.</p>
<p><strong>Avoid creating silo&#8217;s of knowledge  </strong>-<br />
Try and ensure that knowledge of all parts of your system is spread evenly between your developers. This stops development grinding to a halt when a particular developer is ill or on holiday, it also helps ensure your code is of a higher quality as more people will have worked on a particular component and hence it should be more standardized.</p>
<p><strong>Have a place to share knowledge (informally)</strong><br />
Having a common place where everyone can share knowledge easily, such as a local Wiki can prove invaluable. There is obviously still a place for more formal documents, but a Wiki enables developers to do a brain dump on a particular problem or piece of functionality and store information that may have otherwise been lost.</p>
<p><strong>Conclusion</strong><br />
Some of these may seem obvious, but committing these thoughts to the net will hopefully give you a chance to think about them. In essence these practices enable your team to work in a more efficient and responsive way, which should not only benefit the customer, but also aid the developer in removing some of the distractions related to development and focus on the core task. Do you think there are there any that I have forgot? Please feel free to leave a comment below or email me.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.msjtech.net/agile-best-practices-everyone-can-use/19//feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

