<?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/"
	xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
xmlns:rawvoice="http://www.rawvoice.com/rawvoiceRssModule/"
>

<channel>
	<title>How to Program with Java</title>
	<atom:link href="http://howtoprogramwithjava.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://howtoprogramwithjava.com</link>
	<description>Your Online Java Tutorial - In Plain English!</description>
	<lastBuildDate>Thu, 23 May 2013 21:28:39 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
<!-- podcast_generator="Blubrry PowerPress/4.0.7" -->
	<itunes:summary>Your Online Java Tutorial - In Plain English!</itunes:summary>
	<itunes:author>How to Program with Java</itunes:author>
	<itunes:explicit>no</itunes:explicit>
	<itunes:image href="http://howtoprogramwithjava.com/wp-content/plugins/powerpress/itunes_default.jpg" />
	<itunes:subtitle>Your Online Java Tutorial - In Plain English!</itunes:subtitle>
	<image>
		<title>How to Program with Java</title>
		<url>http://howtoprogramwithjava.com/wp-content/uploads/powerpress/Java-Podcast.jpg</url>
		<link>http://howtoprogramwithjava.com</link>
	</image>
		<item>
		<title>Alan Robbins &#8211; Self-taught Programmer Success Story</title>
		<link>http://howtoprogramwithjava.com/alan-robbins-self-taught-programmer-success-story/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=alan-robbins-self-taught-programmer-success-story</link>
		<comments>http://howtoprogramwithjava.com/alan-robbins-self-taught-programmer-success-story/#comments</comments>
		<pubDate>Wed, 22 May 2013 14:55:58 +0000</pubDate>
		<dc:creator>Trevor Page</dc:creator>
				<category><![CDATA[Podcast]]></category>
		<category><![CDATA[alan robbins]]></category>
		<category><![CDATA[self-taught programmer]]></category>
		<category><![CDATA[success story]]></category>

		<guid isPermaLink="false">http://howtoprogramwithjava.com/?p=1893</guid>
		<description><![CDATA[<p>Alan Robbins is a self-taught programmer who dabbled with programming in college. After not doing to well in the post-secondary system with respect to programming, he changed his major and graduated with a degree in Business Economics and a minor in Psychology and Philosophy. After graduating, he decided that he had a knack for programming [...]</p><p>The post <a href="http://howtoprogramwithjava.com/alan-robbins-self-taught-programmer-success-story/">Alan Robbins &#8211; Self-taught Programmer Success Story</a> appeared first on <a href="http://howtoprogramwithjava.com">How to Program with Java</a>.</p>]]></description>
				<content:encoded><![CDATA[<p></p><p><img src="http://howtoprogramwithjava.com/wp-content/uploads/2012/09/Java-Podcast-300x300.jpg" style="float:right; padding: 15px;"/>Alan Robbins is a self-taught programmer who dabbled with programming in college.  After not doing to well in the post-secondary system with respect to programming, he changed his major and graduated with a degree in Business Economics and a minor in Psychology and Philosophy.</p>
<p>After graduating, he decided that he had a knack for programming (even if the &#8220;system&#8221; told him otherwise) so he ended up getting an entry level job as a programmer.  Since then, he&#8217;s started up a couple of businesses and is now running a very successful software development company with 40 employees and &#8220;lives the dream&#8221; by working from home.</p>
<h2>The Desire to Learn</h2>
<p>I&#8217;ve said it before, and I&#8217;ll continue to say it.  Those with the desire to BE a programmer <b>will</b> make it happen.  With all of the tools and resources available today, anyone with the desire can learn how to program.  It isn&#8217;t an easy process and the journey will be paved with failures, but that&#8217;s completely normal.  In this podcast episode Alan shares the story of the first program(s) he wrote as an entry level programmer.  He talked about how the program would &#8220;bring the computer system to its knees&#8221; because of how poorly coded the program was, but like I said, this is par for the course.</p>
<p>No programmer is going to be perfect out of the gate, and it&#8217;s the learning process that is so important.  It&#8217;s critical to find a mentor and learn as much as you can from someone who has BEEN through the coding trial by fire already.  So if you are someone who wants to learn how to code and finds it so interesting, but believe that they are &#8220;just not smart enough to be a programmer&#8221;&#8230; think again.</p>
<h2>Links mentioned in this episode</h2>
<p><a href="mailto:<a href="http://howtoprogramwithjava.com/wp-content/uploads/2013/05/Me.jpg"><img src="http://howtoprogramwithjava.com/wp-content/uploads/2013/05/Me.jpg" alt="Me" width="186" height="214" class="alignright size-full wp-image-1895" /></a></p>
<p>I invite you to reach out to Alan and ask him any questions that you may have about his journey to becoming a successful self-taught programmer.  Alan is an extremely nice guy and I&#8217;m sure he&#8217;d love to talk to you.  So send him a message, even if it&#8217;s just to say &#8220;Hello, I heard you on the podcast!&#8221;.</p>
<ul>
<li><a href="http://www.mooseworldwide.com">Alan&#8217;s Company Website</a></li>
<li><a href="mailto:alan@mooseworldwide.com?subject=Heard you on Trevor's podcast">Email Alan</a></li>
<li><a href="https://www.facebook.com/MooseWorldWideDigital">Moose WorldWide Facebook Page</a></li>
</ul>
<p>The post <a href="http://howtoprogramwithjava.com/alan-robbins-self-taught-programmer-success-story/">Alan Robbins &#8211; Self-taught Programmer Success Story</a> appeared first on <a href="http://howtoprogramwithjava.com">How to Program with Java</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://howtoprogramwithjava.com/alan-robbins-self-taught-programmer-success-story/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
<enclosure url="http://traffic.libsyn.com/howtoprogramwithjava/javaprogram29_3.mp3" length="42568403" type="audio/mpeg" />
			<itunes:keywords>alan robbins,self-taught programmer,success story</itunes:keywords>
	<itunes:subtitle>Alan Robbins is a self-taught programmer who dabbled with programming in college.  After not doing to well in the post-secondary system with respect to programming, he changed his major and graduated with a degree in Business Economics and a minor in P...</itunes:subtitle>
		<itunes:summary>Alan Robbins is a self-taught programmer who dabbled with programming in college.  After not doing to well in the post-secondary system with respect to programming, he changed his major and graduated with a degree in Business Economics and a minor in Psychology and Philosophy.

After graduating, he decided that he had a knack for programming (even if the &quot;system&quot; told him otherwise) so he ended up getting an entry level job as a programmer.  Since then, he&#039;s started up a couple of businesses and is now running a very successful software development company with 40 employees and &quot;lives the dream&quot; by working from home.

The Desire to Learn

I&#039;ve said it before, and I&#039;ll continue to say it.  Those with the desire to BE a programmer will make it happen.  With all of the tools and resources available today, anyone with the desire can learn how to program.  It isn&#039;t an easy process and the journey will be paved with failures, but that&#039;s completely normal.  In this podcast episode Alan shares the story of the first program(s) he wrote as an entry level programmer.  He talked about how the program would &quot;bring the computer system to its knees&quot; because of how poorly coded the program was, but like I said, this is par for the course.

No programmer is going to be perfect out of the gate, and it&#039;s the learning process that is so important.  It&#039;s critical to find a mentor and learn as much as you can from someone who has BEEN through the coding trial by fire already.  So if you are someone who wants to learn how to code and finds it so interesting, but believe that they are &quot;just not smart enough to be a programmer&quot;... think again.

Links mentioned in this episode</itunes:summary>
		<itunes:author>How to Program with Java</itunes:author>
		<itunes:explicit>no</itunes:explicit>
		<itunes:duration>43:51</itunes:duration>
	</item>
		<item>
		<title>Podcast Episode #28 &#8211; The Software Development Life-Cycle</title>
		<link>http://howtoprogramwithjava.com/software-development-life-cycle/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=software-development-life-cycle</link>
		<comments>http://howtoprogramwithjava.com/software-development-life-cycle/#comments</comments>
		<pubDate>Fri, 17 May 2013 17:32:47 +0000</pubDate>
		<dc:creator>Trevor Page</dc:creator>
				<category><![CDATA[Podcast]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[SDLC]]></category>
		<category><![CDATA[software development life-cycle]]></category>
		<category><![CDATA[waterfall]]></category>

		<guid isPermaLink="false">http://howtoprogramwithjava.com/?p=1875</guid>
		<description><![CDATA[<p>In this episode of the How to Program with Java podcast, I will be talking about the software development life-cycle. This topic is necessary to know if you will be working in any sort of professional development environment. When I was first introduced to the &#8220;methodologies&#8221; of the software development life-cycle in my first programming [...]</p><p>The post <a href="http://howtoprogramwithjava.com/software-development-life-cycle/">Podcast Episode #28 &#8211; The Software Development Life-Cycle</a> appeared first on <a href="http://howtoprogramwithjava.com">How to Program with Java</a>.</p>]]></description>
				<content:encoded><![CDATA[<p></p><p><img src="http://assets.libsyn.com/content/4960577" style="float: right;width: 250px;padding-left: 20px;padding-bottom: 20px;" alt="Software Development Life-Cycle"/></p>
<p>In this episode of the How to Program with Java podcast, I will be talking about the software development life-cycle.  This topic is necessary to know if you will be working in any sort of professional development environment.  When I was first introduced to the &#8220;methodologies&#8221; of the software development life-cycle in my first programming job, I was lost.  The goal of this podcast is to educate you on the procedures that are followed by the majority of software development companies.</p>
<h2>Lessons to be Learned</h2>
<p>Here&#8217;s some background on where I went wrong in my first programming job.  I was unaware of the different &#8220;stages&#8221; that any particular code change must go through before it is released LIVE on the internet to the customers.  In my mind, as a brand new programmer in the real world, I would just make a coding fix and then push it out for all the customers to enjoy.  There were a lot of assumptions that were made here, but the main one was I assumed that my fix was perfect and that I had tested ALL of the scenarios that could have been affected by my coding change.  I was also completely oblivious to the &#8220;stages&#8221; of a code change.  For that particular company here&#8217;s what it looked like:</p>
<ol>
<li><strong>DEV</strong> &#8211; The first stage where I would make my coding changes and test on my machine</li>
<li><strong>QA</strong> &#8211; The code is checked into a central code repository and tested by a QA employee (usually not a coder)</li>
<li><strong>UAT</strong> &#8211; Once passed QA, the change would be passed to a real customer who had their own testing environment setup.  They would perform tests to ensure that there are no unforeseen consequences</li>
<li><strong>PROD</strong> &#8211; After everyone is happy that nothing is broken, the change is sent LIVE on the internet and real customers will benefit from the fixes/enhancements</li>
</ol>
<p><span id="more-1875"></span></p>
<h2>Whoops!</h2>
<p>So, me being brand new and not knowing these &#8220;stages&#8221;, I went from the DEV step and requested that my change be sent to PROD (the last step) without going through any of the intermediate stages.  WHOOPS!  Luckily someone caught this and questioned the change and I was &#8220;made aware&#8221; of the proper workflow.</p>
<p>Fast forward to today, and I want to make sure this topic is covered and that its importance is made CLEAR to all of you.  I don&#8217;t want anyone to make the same mistakes I did when I was but a wee lad!</p>
<h2>Popular Methodologies</h2>
<p>The first methodology of the software development life-cycle that I talk about in this podcast episode is the waterfall model.  Here&#8217;s a visual breakdown of the steps:</p>
<p><a href="http://howtoprogramwithjava.com/wp-content/uploads/2013/05/post-20130517-1.png"><img src="http://howtoprogramwithjava.com/wp-content/uploads/2013/05/post-20130517-1-300x230.png" alt="Software Development Life-Cycle - Waterfall Model" width="300" height="230" /></a></p>
<p><br/>The second methodology I cover is my more preferred method of building software.  The concepts within the Agile methodology are numerous and I&#8217;m sure I can do a whole series of podcasts on the subject.  This &#8220;busy&#8221; graphic gives you a high level breakdown of what it looks like:  </p>
<p><a href="http://howtoprogramwithjava.com/wp-content/uploads/2013/05/post-20130517-2.png"><img src="http://howtoprogramwithjava.com/wp-content/uploads/2013/05/post-20130517-2-243x300.png" alt="Software Development Life-Cycle - Agile Model" width="243" height="300" /></a></p>
<p>As always, if you enjoy this content and want to be informed when new great stuff is posted, just sign up for my mailing list by filling in your name and email address below.  You&#8217;ll also receive a free eBook as a gift (from me to you!).</p>
<p>Happy Learning!</p>
<p>The post <a href="http://howtoprogramwithjava.com/software-development-life-cycle/">Podcast Episode #28 &#8211; The Software Development Life-Cycle</a> appeared first on <a href="http://howtoprogramwithjava.com">How to Program with Java</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://howtoprogramwithjava.com/software-development-life-cycle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://traffic.libsyn.com/howtoprogramwithjava/javaprogram28.mp3" length="50083804" type="audio/mpeg" />
			<itunes:keywords>agile,java,SDLC,software development life-cycle,waterfall</itunes:keywords>
	<itunes:subtitle>In this episode of the How to Program with Java podcast, I will be talking about the software development life-cycle.  This topic is necessary to know if you will be working in any sort of professional development environment.</itunes:subtitle>
		<itunes:summary>In this episode of the How to Program with Java podcast, I will be talking about the software development life-cycle.  This topic is necessary to know if you will be working in any sort of professional development environment.  When I was first introduced to the &quot;methodologies&quot; of the software development life-cycle in my first programming job, I was lost.  The goal of this podcast is to educate you on the procedures that are followed by the majority of software development companies.

Lessons to be Learned

Here&#039;s some background on where I went wrong in my first programming job.  I was unaware of the different &quot;stages&quot; that any particular code change must go through before it is released LIVE on the internet to the customers.  In my mind, as a brand new programmer in the real world, I would just make a coding fix and then push it out for all the customers to enjoy.  There were a lot of assumptions that were made here, but the main one was I assumed that my fix was perfect and that I had tested ALL of the scenarios that could have been affected by my coding change.  I was also completely oblivious to the &quot;stages&quot; of a code change.  For that particular company here&#039;s what it looked like:


	DEV - The first stage where I would make my coding changes and test on my machine
	QA - The code is checked into a central code repository and tested by a QA employee (usually not a coder)
	UAT - Once passed QA, the change would be passed to a real customer who had their own testing environment setup.  They would perform tests to ensure that there are no unforeseen consequences
	PROD - After everyone is happy that nothing is broken, the change is sent LIVE on the internet and real customers will benefit from the fixes/enhancements


Whoops!

So, me being brand new and not knowing these &quot;stages&quot;, I went from the DEV step and requested that my change be sent to PROD (the last step) without going through any of the intermediate stages.  WHOOPS!  Luckily someone caught this and questioned the change and I was &quot;made aware&quot; of the proper workflow.

Fast forward to today, and I want to make sure this topic is covered and that its importance is made CLEAR to all of you.  I don&#039;t want anyone to make the same mistakes I did when I was but a wee lad!

Popular Methodologies

The first methodology of the software development life-cycle that I talk about in this podcast episode is the waterfall model.  Here&#039;s a visual breakdown of the steps:



The second methodology I cover is my more preferred method of building software.  The concepts within the Agile methodology are numerous and I&#039;m sure I can do a whole series of podcasts on the subject.  This &quot;busy&quot; graphic gives you a high level breakdown of what it looks like:  



As always, if you enjoy this content and want to be informed when new great stuff is posted, just sign up for my mailing list by filling in your name and email address below.  You&#039;ll also receive a free eBook as a gift (from me to you!).

Happy Learning!</itunes:summary>
		<itunes:author>How to Program with Java</itunes:author>
		<itunes:explicit>no</itunes:explicit>
		<itunes:duration>52:10</itunes:duration>
	</item>
		<item>
		<title>From Self-taught Programmer to Self-made Success Story &#8211; John Sextro</title>
		<link>http://howtoprogramwithjava.com/self-taught-programmer-to-success-story/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=self-taught-programmer-to-success-story</link>
		<comments>http://howtoprogramwithjava.com/self-taught-programmer-to-success-story/#comments</comments>
		<pubDate>Wed, 08 May 2013 08:30:10 +0000</pubDate>
		<dc:creator>Trevor Page</dc:creator>
				<category><![CDATA[Podcast]]></category>
		<category><![CDATA[john sextro]]></category>
		<category><![CDATA[self-taught programmer]]></category>
		<category><![CDATA[success story]]></category>

		<guid isPermaLink="false">http://howtoprogramwithjava.com/?p=1861</guid>
		<description><![CDATA[<p>Keeping on our theme of becoming a success story with programming as a self-taught programmer, I interview a successful self-taught programmer by the name of John Sextro. As a seasoned programmer and agile coach with no degrees or diplomas, John made it to &#8216;the big show&#8217; by impressing one of the gatekeepers of that coveted [...]</p><p>The post <a href="http://howtoprogramwithjava.com/self-taught-programmer-to-success-story/">From Self-taught Programmer to Self-made Success Story &#8211; John Sextro</a> appeared first on <a href="http://howtoprogramwithjava.com">How to Program with Java</a>.</p>]]></description>
				<content:encoded><![CDATA[<p></p><p><img src="http://assets.libsyn.com/content/4960577" style="float: right;width: 250px;padding-left: 20px;padding-bottom: 20px;"/><br />
Keeping on our theme of becoming a success story with programming as a self-taught programmer, I interview a successful self-taught programmer by the name of John Sextro.  As a seasoned programmer and agile coach with no degrees or diplomas, John made it to &#8216;the big show&#8217; by impressing one of the gatekeepers of that coveted &#8216;entry level programmer&#8217; position.  Find out how he managed to kick start his career in today&#8217;s interview.</p>
<h2>Getting your Foot in the Door</h2>
<p>One of the most important lessons that you should learn from people like John (and myself) is that we weren&#8217;t just in the right place at the right time&#8230; we PUT ourselves in the situations that would lend themselves to opportunities.  If you&#8217;re having troubles finding an entry level position as a programmer, then maybe you should change the game a bit and look for a job in a company that HAS a software department?</p>
<p>If you&#8217;re in a company that has a software development department (even if YOU yourself aren&#8217;t IN that department) you are in an excellent position to show off your skills as a VALUABLE employee.  If you are known as someone who provides real value to a company, then you show that your true skills (as a programmer) aren&#8217;t even being utilized&#8230; well&#8230; it won&#8217;t be long until the company will take advantage of that situation.</p>
<h2>It&#8217;s much easier to Learn Programming these days</h2>
<p>As John mentions, he learned what he knew from books and magazines (which he had to either purchase himself or have his parents purchase for him).  These days, getting access to valuable information about programming is as easy as typing something into Google!  It&#8217;s FREE access to life changing information, all you need to do is show up.</p>
<p>Now some of you pessimists out there may grumble &#8220;Well, if everyone has access to the information, then there are probably so many programmers out there that there aren&#8217;t any jobs left!&#8221;.  Well, to you sir/madam, I shake my head.  Go do a search for programming jobs on <a href="http://indeed.com" target="_blank">indeed.com</a>&#8230; seriously&#8230; I&#8217;ll wait.<span id="more-1861"></span></p>
<p>Have you done it yet?  Well if not, take my word for it, there are TONS of opportunities out there for programmers.  The only problem is that you&#8217;ll need real experience in some way shape or form to land jobs easily.  If you don&#8217;t have any professional experience, then you&#8217;ll need to get crafty (just like John does).</p>
<h2>Items mentioned in the podcast include:</h2>
<p><a href="http://howtoprogramwithjava.com/wp-content/uploads/2013/05/session27-1.jpg"><img src="http://howtoprogramwithjava.com/wp-content/uploads/2013/05/session27-1-194x300.jpg" style="float: right;padding-left: 20px;padding-bottom: 20px;" alt="Meet John Sextro"/></a><br />
I would like to take the opportunity to point my listeners/readers to go and check out what John has to offer.  I&#8217;m particularly partial to the agile methodology, as I&#8217;ve been fortunate enough to work with some very talented agile coaches (just like John) in my professional career.  Remember that there&#8217;s more to programming than just code!  You need a way to create it, release it and maintain it efficiently, this is where agile steps in, so have a listen to his podcast listed below and send him a message on twitter!</p>
<ul>
<li><a href="https://twitter.com/jcsextro">John&#8217;s twitter account</a></li>
<li><a href="http://johnsextro.com">John&#8217;s Personal Blog</a></li>
<li><a href="http://thisagilelife.com">This Agile Life Podcast</a></li>
<li><a href="http://iohyespodcast.com">I Oh Yes Podcast</a></li>
<li><a href="http://nineprinciples.net/">Company Website</a></li>
</ul>
<p>The post <a href="http://howtoprogramwithjava.com/self-taught-programmer-to-success-story/">From Self-taught Programmer to Self-made Success Story &#8211; John Sextro</a> appeared first on <a href="http://howtoprogramwithjava.com">How to Program with Java</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://howtoprogramwithjava.com/self-taught-programmer-to-success-story/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
<enclosure url="http://traffic.libsyn.com/howtoprogramwithjava/javaprogram27.mp3" length="43974000" type="audio/mpeg" />
			<itunes:keywords>john sextro,self-taught programmer,success story</itunes:keywords>
	<itunes:subtitle>Keeping on our theme of becoming a success story with programming as a self-taught programmer, I interview a successful self-taught programmer by the name of John Sextro.  As a seasoned programmer and agile coach with no degrees or diplomas,</itunes:subtitle>
		<itunes:summary>Keeping on our theme of becoming a success story with programming as a self-taught programmer, I interview a successful self-taught programmer by the name of John Sextro.  As a seasoned programmer and agile coach with no degrees or diplomas, John made it to &#039;the big show&#039; by impressing one of the gatekeepers of that coveted &#039;entry level programmer&#039; position.  Find out how he managed to kick start his career in today&#039;s interview.

Getting your Foot in the Door

One of the most important lessons that you should learn from people like John (and myself) is that we weren&#039;t just in the right place at the right time... we PUT ourselves in the situations that would lend themselves to opportunities.  If you&#039;re having troubles finding an entry level position as a programmer, then maybe you should change the game a bit and look for a job in a company that HAS a software department?

If you&#039;re in a company that has a software development department (even if YOU yourself aren&#039;t IN that department) you are in an excellent position to show off your skills as a VALUABLE employee.  If you are known as someone who provides real value to a company, then you show that your true skills (as a programmer) aren&#039;t even being utilized... well... it won&#039;t be long until the company will take advantage of that situation.

It&#039;s much easier to Learn Programming these days

As John mentions, he learned what he knew from books and magazines (which he had to either purchase himself or have his parents purchase for him).  These days, getting access to valuable information about programming is as easy as typing something into Google!  It&#039;s FREE access to life changing information, all you need to do is show up.

Now some of you pessimists out there may grumble &quot;Well, if everyone has access to the information, then there are probably so many programmers out there that there aren&#039;t any jobs left!&quot;.  Well, to you sir/madam, I shake my head.  Go do a search for programming jobs on indeed.com... seriously... I&#039;ll wait.

Have you done it yet?  Well if not, take my word for it, there are TONS of opportunities out there for programmers.  The only problem is that you&#039;ll need real experience in some way shape or form to land jobs easily.  If you don&#039;t have any professional experience, then you&#039;ll need to get crafty (just like John does).

Items mentioned in the podcast include:

I would like to take the opportunity to point my listeners/readers to go and check out what John has to offer.  I&#039;m particularly partial to the agile methodology, as I&#039;ve been fortunate enough to work with some very talented agile coaches (just like John) in my professional career.  Remember that there&#039;s more to programming than just code!  You need a way to create it, release it and maintain it efficiently, this is where agile steps in, so have a listen to his podcast listed below and send him a message on twitter!


John&#039;s twitter account
John&#039;s Personal Blog
This Agile Life Podcast
I Oh Yes Podcast
Company Website</itunes:summary>
		<itunes:author>How to Program with Java</itunes:author>
		<itunes:explicit>no</itunes:explicit>
		<itunes:duration>45:19</itunes:duration>
	</item>
		<item>
		<title>HTML Layout and Design</title>
		<link>http://howtoprogramwithjava.com/html-layout-and-design/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=html-layout-and-design</link>
		<comments>http://howtoprogramwithjava.com/html-layout-and-design/#comments</comments>
		<pubDate>Wed, 01 May 2013 15:27:28 +0000</pubDate>
		<dc:creator>Trevor Page</dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[div]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[layout]]></category>
		<category><![CDATA[margin]]></category>
		<category><![CDATA[style]]></category>

		<guid isPermaLink="false">http://howtoprogramwithjava.com/?p=1817</guid>
		<description><![CDATA[<p>Okay so you know how to add some styles and CSS to your webpage, that&#8217;s a great start, but what about deciding where all your text should go?  What if you wanted to setup your website so that you have some text on the left hand side, and some images along the right? This is [...]</p><p>The post <a href="http://howtoprogramwithjava.com/html-layout-and-design/">HTML Layout and Design</a> appeared first on <a href="http://howtoprogramwithjava.com">How to Program with Java</a>.</p>]]></description>
				<content:encoded><![CDATA[<p></p><p><a href="http://howtoprogramwithjava.com/wp-content/uploads/2013/05/cid_122581FD-9B02-4BD6-8C88-195EDBD966DF.jpg"><img src="http://howtoprogramwithjava.com/wp-content/uploads/2013/05/cid_122581FD-9B02-4BD6-8C88-195EDBD966DF-270x300.jpg" alt="!cid_122581FD-9B02-4BD6-8C88-195EDBD966DF" width="270" height="300" class="alignright size-medium wp-image-1855" /></a>Okay so you know how to add some styles and CSS to your webpage, that&#8217;s a great start, but what about deciding where all your text should go?  What if you wanted to setup your website so that you have some text on the left hand side, and some images along the right?</p>
<p>This is where design and layout comes into play.</p>
<h2>The <code>DIV</code> tag</h2>
<p>Probably one of the most powerful tools at your disposal for designing your webpage is the <cod>div</code> tag.  What this allows you to do is essentially outline "blocks" or "areas" for the content on your webpage.  You can think if these areas like boundaries for your content.</p>
<p>So for example, like I mentioned, let's design a webpage that has a bunch of text on the left hand side (perhaps about 3/4 of the page), and we'll allow for about 1/4 of the right hand side to hold images.  Here's a picture to add some context to what I'm talking about:</p>
<p><img src="http://howtoprogramwithjava.com/wp-content/uploads/2013/04/post-20130422-1.png" alt="HTML Layout and Design" style="width: 521px; border: 1px solid; margin-left: 88px;" /></p>
<p>Before I jump into the code, I want to talk a little more about the <code>DIV</code> tag.<br />
<span id="more-1817"></span><br />
In order to define an area for a particular part of your website, you'll need to specify a few pieces of information:</p>
<ol>
<li>How wide the area should be</li>
<li>How tall the area should be</li>
<li>Where exactly the area should appear on the webpage</li>
</ol>
<p>With this basic information, you have the building blocks for creating the layout of your webpage!</p>
<h2>The Code</h2>
<p>So let's start with the code for the left 3/4 of our website. We should think how wide and how tall we want this area to be... Since I said it should take up 3/4 of the screen, and most computer monitors these days are at least 1080p, it's safe to assume that the total width of our website will be 1000 pixels wide.  </p>
<p><b>Note</b>: When designing a webpage, it's handy to think in terms of pixels.  If you don't know what a pixel is, you have read through <a href="https://en.wikipedia.org/wiki/Pixel">this great article</a>.</p>
<p>So if our website is 1000 pixels wide, the 3/4 of that would be 750 pixels right?  Now we need to decide how tall this area should be, let's say that 500 pixels will do the trick!</p>
<p>Alright, armed with this information, let's create our <code>DIV</code></p>
<pre name="code" class="HTML">

<div style="width: 750px; height: 500px;">
  This is where you would type out all of the text content that you would like to have included on your webpage.  This text will be appearing on the webpage on the left side (note that we didn't need to explicitly say this in our code, as the default layout is to be left aligned).  What you will notice is that this text does not fill the entire screen, rather, it stops and wraps at exactly 750 pixels in width.
</div>

</pre>
<p>Okay, so when you place this code inside of your existing webpage example, here's what the output will look like:</p>
<p><img src="http://howtoprogramwithjava.com/wp-content/uploads/2013/04/post-20130427-1.png" alt="Html Layout and Design 2" style="width: 521px; border: 1px solid; margin-left: 88px;"/></p>
<p>Pretty simple so far right?  Here's where things get only slightly more complex.  Now we need to add the <code>DIV</code> that will house the images along the right hand side of the page.  To do this, we still need to outline the height and width of the area, but we also need to indicate that we want it to be positioned to the right of the first <code>DIV</code>.  In order to do this we will need to utilize the <code>float</code> property:</p>
<pre name="code" class="HTML">
<div style="width: 250px; height: 500px; float: right;">
  <h3>Java Video Tutorials</h3>
  <img src="http://howtoprogramwithjava.com/wp-content/uploads/2013/01/logo.jpg"/>
  <br/><br/>
  <h3>Java Tutorial eBook</h3>
  <img src="http://howtoprogramwithjava.com/wp-content/uploads/2013/01/book_cover2.jpg"/>
</div>
</pre>
<p>Now let's take a look at a snapshot of what the entire HTML code looks like:</p>
<pre name="code" class="html">
<!DOCTYPE html>
<html>
  <head>
    <title>
      Introduction to HTML
    </title>
    <link href="css/style.css" rel="stylesheet" type="text/css" />
  </head>
  <body>
    <h1>Hello!</h1>
    <h2>This is my test webpage</h2>
    Put your feet up and stay a while!<br/><br/>
	<div style="width: 750px; height: 500px;">
	    This is where you would type out all of the text content that you would like to have included on your webpage.  This text will be appearing on the webpage on the left side (note that we didn't need to explicitly say this in our code, as the default layout is to be left aligned).  What you will notice is that this text does not fill the entire screen, rather, it stops and wraps at exactly 750 pixels in width.
		<div style="width: 250px; height: 500px; float: right; ">
		  <h3>Java Video Tutorials</h3>
		  <img src="http://howtoprogramwithjava.com/wp-content/uploads/2013/01/logo.jpg"/>
		  <br/><br/>
		  <h3>Java Tutorial eBook</h3>
		  <img src="http://howtoprogramwithjava.com/wp-content/uploads/2013/01/book_cover2.jpg"/>
		</div>
	</div>
  </body>
</html>
</pre>
<p>Okay, so we're not done quite yet.  There's still some formatting and aligning that we'll need to do.  Let me show you a screenshot of what the resulting web page will look like:</p>
<p><img src="http://howtoprogramwithjava.com/wp-content/uploads/2013/05/post-20130427-2.png" alt="post-20130427-2" style="width: 521px; border: 1px solid; margin-left: 88px;" /></p>
<p>Notice how the "image sidebar" we've created is in the bottom right corner of our web page?  That doesn't look right now does it!</p>
<p>We'll need to tweak our styles a bit to make everything look nice.  All we need to do is move the sidebar over to the right a bit, and move it up a bit.  This can be done using two properties: <code>margin-top</code> and <code>margin-right</code>.</p>
<p>Let's update our image sidebar's <code>style</code> tag to include these <code>margin</code> tags:</p>
<pre name="code" class="HTML">
<div style="width: 250px; height: 500px; float: right; margin-top: -250px; margin-right: -250px;">
  <h3>Java Video Tutorials</h3>
  <img src="http://howtoprogramwithjava.com/wp-content/uploads/2013/01/logo.jpg"/>
  <br/><br/>
  <h3>Java Tutorial eBook</h3>
  <img src="http://howtoprogramwithjava.com/wp-content/uploads/2013/01/book_cover2.jpg"/>
</div>
</pre>
<p>And finally, here's what our web page looks like with these modifications:</p>
<p><img src="http://howtoprogramwithjava.com/wp-content/uploads/2013/05/post-20130427-3.png" alt="post-20130427-2" style="width: 521px; border: 1px solid; margin-left: 88px;" /></p>
<p>Voila!  You've now learned how to add some layout and design to your web page, congrats <img src='http://howtoprogramwithjava.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   </p>
<p><strong>Note</strong>: It's good practice to remove all the <code>style</code> tags from within your HTML code and move it into a CSS file.  This way you nicely "separate" the layout and design code from the actual HTML coding.</p>
<p>Cool, awesome, great, wonderful... If you enjoyed this tutorial and want to know when more of these things are published, just sign up for my mailing list below and I'll letcha know the moment a new tutorial goes live.</p>
<p>Happy Learning</p>
<p>The post <a href="http://howtoprogramwithjava.com/html-layout-and-design/">HTML Layout and Design</a> appeared first on <a href="http://howtoprogramwithjava.com">How to Program with Java</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://howtoprogramwithjava.com/html-layout-and-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java Podcast Episode 25 &#8211; Encapsulation and Final Keyword</title>
		<link>http://howtoprogramwithjava.com/encapsulation-and-final-keyword/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=encapsulation-and-final-keyword</link>
		<comments>http://howtoprogramwithjava.com/encapsulation-and-final-keyword/#comments</comments>
		<pubDate>Fri, 26 Apr 2013 21:33:59 +0000</pubDate>
		<dc:creator>Trevor Page</dc:creator>
				<category><![CDATA[Podcast]]></category>

		<guid isPermaLink="false">http://howtoprogramwithjava.com/?p=1828</guid>
		<description><![CDATA[<p>In this episode of the How to Program with Java podcast I will be covering two topics which I haven&#8217;t specifically focused on before. Encapsulation Java is an Object Oriented Programming language, and along with it comes the four major principles of Object Oriented Programming. Encapsulation is one of these major principles and in the [...]</p><p>The post <a href="http://howtoprogramwithjava.com/encapsulation-and-final-keyword/">Java Podcast Episode 25 &#8211; Encapsulation and Final Keyword</a> appeared first on <a href="http://howtoprogramwithjava.com">How to Program with Java</a>.</p>]]></description>
				<content:encoded><![CDATA[<p></p><p>In this episode of the How to Program with Java podcast I will be covering two topics which I haven&#8217;t specifically focused on before.</p>
<h2>Encapsulation</h2>
<p>Java is an Object Oriented Programming language, and along with it comes the four major principles of Object Oriented Programming.  Encapsulation is one of these major principles and in the podcast I explain exactly what it is, and why you are (likely) already familiar with this concept.</p>
<h2>Final Keyword</h2>
<p>I&#8217;ve touched on the <code>final</code> keyword before in a previous podcast but I did not go into depth on the subject.  There are some interesting things that you&#8217;ll need to be aware of when you use this keyword.  The main thing you&#8217;ll need to remember is that the <code>final</code> keyword refers to an Object&#8217;s reference.  So declaring a variable as <code>final</code> will mean that once the reference is assigned, you won&#8217;t be able to change it&#8230; but this does not mean that you won&#8217;t be able to change the properties WITHIN that object.  This is very important to remember and can cause some confusion.<br />
<span id="more-1828"></span></p>
<h2>Questions from Listeners</h2>
<p>In this episode, I had a question come in from a listen in Denver by the name of Josh.  Here&#8217;s what he asked:</p>
<blockquote><p>&#8220;I was wondering if in the future you can provide us with information on Java certifications. I just listened to your podcasts on the interview questions and thought that having one or more Java certifications would be huge to our future programming success.</p>
<p>I just wonder how difficult it would be to prepare for some of these certifications. How long and what are the best materials that would get us ready for these exams.&#8221; &#8211; Josh</p></blockquote>
<p>As I mention in the podcast, they are some fairly in-depth and lengthy exams, and I would recommend that you use the official Oracle study guides that go along with the most popular certifications (please note that the links below are affiliate links):</p>
<p><a href="http://www.amazon.com/gp/product/1849687323/ref=as_li_qf_sp_asin_tl?ie=UTF8&#038;camp=1789&#038;creative=9325&#038;creativeASIN=1849687323&#038;linkCode=as2&#038;tag=howtoprowitja-20">Oracle Certified Associate, Java SE 7 Programmer Study Guide</a><img src="http://www.assoc-amazon.com/e/ir?t=howtoprowitja-20&#038;l=as2&#038;o=1&#038;a=1849687323" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> &#8211; This is the guide for the &#8220;entry level&#8221; Java Certification</p>
<p><a href="http://www.amazon.com/gp/product/1430247649/ref=as_li_qf_sp_asin_tl?ie=UTF8&#038;camp=1789&#038;creative=9325&#038;creativeASIN=1430247649&#038;linkCode=as2&#038;tag=howtoprowitja-20">Oracle Certified Professional Java SE 7 Programmer Exams 1Z0-804 and 1Z0-805: A Comprehensive OCPJP 7 Certification Guide</a><img src="http://www.assoc-amazon.com/e/ir?t=howtoprowitja-20&#038;l=as2&#038;o=1&#038;a=1430247649" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> &#8211; This is the guide for the &#8220;2nd level&#8221; of Java Certification</p>
<p>I would recommend that you start with the &#8220;entry level&#8221; certification and see how comfortable you feel once you go through the study guide.  If you&#8217;re able to take and pass the exam with relative ease, then it would make perfect sense to move onto the next &#8220;2nd level&#8221; exam to further impress possible employers.</p>
<p>As always, I hope everything in this podcast is/was extremely useful to you, and I invite you to join my mailing list by filling out your email address and first name below&#8230; you&#8217;ll receive a free eBook gift as well as weekly updates from me that will help you on your journey to become a Java programmer!</p>
<p>Happy Learning!</p>
<p>The post <a href="http://howtoprogramwithjava.com/encapsulation-and-final-keyword/">Java Podcast Episode 25 &#8211; Encapsulation and Final Keyword</a> appeared first on <a href="http://howtoprogramwithjava.com">How to Program with Java</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://howtoprogramwithjava.com/encapsulation-and-final-keyword/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://traffic.libsyn.com/howtoprogramwithjava/javaprogram25.mp3" length="38787544" type="audio/mpeg" />
		<itunes:subtitle>In this episode of the How to Program with Java podcast I will be covering two topics which I haven&#039;t specifically focused on before. - Encapsulation - Java is an Object Oriented Programming language, and along with it comes the four major principles...</itunes:subtitle>
		<itunes:summary>In this episode of the How to Program with Java podcast I will be covering two topics which I haven&#039;t specifically focused on before.

Encapsulation

Java is an Object Oriented Programming language, and along with it comes the four major principles of Object Oriented Programming.  Encapsulation is one of these major principles and in the podcast I explain exactly what it is, and why you are (likely) already familiar with this concept.

Final Keyword

I&#039;ve touched on the final keyword before in a previous podcast but I did not go into depth on the subject.  There are some interesting things that you&#039;ll need to be aware of when you use this keyword.  The main thing you&#039;ll need to remember is that the final keyword refers to an Object&#039;s reference.  So declaring a variable as final will mean that once the reference is assigned, you won&#039;t be able to change it... but this does not mean that you won&#039;t be able to change the properties WITHIN that object.  This is very important to remember and can cause some confusion.

Questions from Listeners

In this episode, I had a question come in from a listen in Denver by the name of Josh.  Here&#039;s what he asked:

&quot;I was wondering if in the future you can provide us with information on Java certifications. I just listened to your podcasts on the interview questions and thought that having one or more Java certifications would be huge to our future programming success.

I just wonder how difficult it would be to prepare for some of these certifications. How long and what are the best materials that would get us ready for these exams.&quot; - Josh

As I mention in the podcast, they are some fairly in-depth and lengthy exams, and I would recommend that you use the official Oracle study guides that go along with the most popular certifications (please note that the links below are affiliate links):

Oracle Certified Associate, Java SE 7 Programmer Study Guide - This is the guide for the &quot;entry level&quot; Java Certification

Oracle Certified Professional Java SE 7 Programmer Exams 1Z0-804 and 1Z0-805: A Comprehensive OCPJP 7 Certification Guide - This is the guide for the &quot;2nd level&quot; of Java Certification

I would recommend that you start with the &quot;entry level&quot; certification and see how comfortable you feel once you go through the study guide.  If you&#039;re able to take and pass the exam with relative ease, then it would make perfect sense to move onto the next &quot;2nd level&quot; exam to further impress possible employers.

As always, I hope everything in this podcast is/was extremely useful to you, and I invite you to join my mailing list by filling out your email address and first name below... you&#039;ll receive a free eBook gift as well as weekly updates from me that will help you on your journey to become a Java programmer!

Happy Learning!</itunes:summary>
		<itunes:author>How to Program with Java</itunes:author>
		<itunes:explicit>no</itunes:explicit>
		<itunes:duration>39:55</itunes:duration>
	</item>
		<item>
		<title>Java Practice Assignment &#8211; High Stakes Roulette</title>
		<link>http://howtoprogramwithjava.com/java-practice-assignment-high-stakes-roulette/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=java-practice-assignment-high-stakes-roulette</link>
		<comments>http://howtoprogramwithjava.com/java-practice-assignment-high-stakes-roulette/#comments</comments>
		<pubDate>Sat, 20 Apr 2013 15:59:51 +0000</pubDate>
		<dc:creator>Trevor Page</dc:creator>
				<category><![CDATA[Assignment]]></category>
		<category><![CDATA[java practice assignment]]></category>
		<category><![CDATA[roulette]]></category>

		<guid isPermaLink="false">http://howtoprogramwithjava.com/?p=1810</guid>
		<description><![CDATA[<p>Keeping on the gambling theme, I&#8217;ve decided to create another assignment centered around the game of Roulette. Before we jump into the details of the assignment, I&#8217;d like to share my solution for the Texas Holdem Poker assignment. Click Here to Download the solution This was a very complex assignment and it even took about [...]</p><p>The post <a href="http://howtoprogramwithjava.com/java-practice-assignment-high-stakes-roulette/">Java Practice Assignment &#8211; High Stakes Roulette</a> appeared first on <a href="http://howtoprogramwithjava.com">How to Program with Java</a>.</p>]]></description>
				<content:encoded><![CDATA[<p></p><p><a href="http://howtoprogramwithjava.com/wp-content/uploads/2013/04/roulette.jpeg"><img src="http://howtoprogramwithjava.com/wp-content/uploads/2013/04/roulette-300x187.jpeg" alt="roulette" width="300" height="187" class="alignright size-medium wp-image-1812" /></a>Keeping on the gambling theme, I&#8217;ve decided to create another assignment centered around the game of Roulette.</p>
<p>Before we jump into the details of the assignment, I&#8217;d like to share my solution for the <a href="http://howtoprogramwithjava.com/java-practice-assignment-6/">Texas Holdem Poker assignment</a>.</p>
<p><a href="http://howtoprogramwithjava.com/wp-content/uploads/2013/03/practiceAssignment6Solution.zip">Click Here to Download the solution</a></p>
<p>This was a very complex assignment and it even took about 4 hours of video to explain the solution in its entirety.  This video is available for members of <a href="http://javavideotutorials.net">Java Video Tutorials</a> (Video #22 and #23), so if you&#8217;re interested in seeing them feel free to <a href="http://javavideotutorials.net/signup.html">signup for a membership</a>.</p>
<h2>High Stakes Roulette &#8211; Rules</h2>
<p>Now let&#8217;s get on with the next Java practice assignment!  If you&#8217;re not familiar with the game of roulette, it&#8217;s fairly simple to understand.  Basically it&#8217;s a game of selecting a random number between 1 and 36; this is done by spinning a roulette wheel while a ball bounces around before finally landing on one number.  The numbers 1 through 36 have alternating colors (black and red), and this allows for certain betting to occur.</p>
<p>Before each spin of the roulette wheel, you are allowed to bet on a wide variety of things, but for this assignment you only need to concern yourself with the fact that you can bet on either black or red.</p>
<p>If you bet on red, and the roulette ball lands on red, then you win twice the amount that you bet (eg. if you bet $10 on red, and the ball lands on red, you will win $20)!  If you bet on red, and the ball lands on black, then you lose your entire bet.</p>
<p><strong>Note</strong>: There are also two &#8220;green&#8221; numbers (0 and 00), if the ball lands on one of these two numbers, then you will lose your bet regardless on which color (red or black) you had bet on.</p>
<h2>The Requirements</h2>
<p>Okay, now that you understand the pertinent aspects of roulette let&#8217;s talk about what this assignment will involve.</p>
<p><strong>I&#8217;m interested in cheating the system</strong> and guaranteeing that I&#8217;ll win money at roulette.  Here&#8217;s how I think it can be done:</p>
<p>If you consistently bet on one color (either red or black), you&#8217;ll eventually win right?  The trick will be to keep doubling your bet until you actually win.  So I want to know how much money you need to have in order to guarantee that you&#8217;ll be able to win $10 for each &#8220;cycle&#8221; of continuous betting.</p>
<p><strong>Here&#8217;s an example</strong> of what I mean:</p>
<ol>
<li>Choose a color to bet on and STICK with it for the entire &#8220;cycle&#8221; of betting</li>
<li>Place your bet of $10 and spin the wheel</li>
<li>If you lose, bet twice the amount of your last bet</li>
<li>Repeat step 3 until you win then go to step 5</li>
<li>If you win, record the amount you needed to bet in order to win</li>
</ol>
<p>So in the end, what I&#8217;m interested in knowing is the MAXIMUM amount of money needed to guarantee that out of 10,000 spins of the roulette wheel, I&#8217;ll win my $10 every time.</p>
<h2>What you&#8217;ll need to implement</h2>
<p>In a word: <strong>everything</strong>!</p>
<p>I think if you&#8217;ve come this far in your Java programming journey, you should be able to create this assignment from scratch.  I won&#8217;t leave you completely high and dry though, here are the basic aspects you&#8217;ll need to implement:</p>
<ul>
<li>Roulette Wheel (for spinning)</li>
<li>Roulette Number (represents a number with a color)</li>
<li>Random Number Generator (used to generate a random number from 1 to 38; includes values for 0 and 00)</li>
<li>You may want to implement an Enum to represent the Colors (up to you)</li>
<li>Test class or Runnable class</li>
</ul>
<p><strong>Remember</strong>: the point of the assignment is to <strong>determine how much money you&#8217;ll need to have in your pocket</strong> to guarantee that you&#8217;ll always win $10 at the game of roulette by consistently betting on the same color until you win.</p>
<p>Now, if you are struggling to learn Java, then I will have to point you in the direction of <a href="http://javavideotutorials.net">Java Video Tutorials</a>.  I launched this service back in November 2012, and since then I have helped tons of new students learn Java.  The feedback I have received from these students has been overwhelmingly positive and I&#8217;m so excited to be providing such a valuable platform for learning Java programming.  <strong>What&#8217;s incredible is I&#8217;ve heard the same story over and over again</strong>:</p>
<blockquote><p>&#8220;I have tried to learn Java a bunch of times before and never got anywhere&#8230; until I signed up to Java Video Tutorials.  I&#8217;ve learned so much more than I ever have before and I&#8217;m so excited!&#8221;</p></blockquote>
<p>Seriously!  So if you are in the same boat, <a href="http://javavideotutorials.net/signup.html">sign up</a> and try it out, you&#8217;ve got nothing to lose <img src='http://howtoprogramwithjava.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>The post <a href="http://howtoprogramwithjava.com/java-practice-assignment-high-stakes-roulette/">Java Practice Assignment &#8211; High Stakes Roulette</a> appeared first on <a href="http://howtoprogramwithjava.com">How to Program with Java</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://howtoprogramwithjava.com/java-practice-assignment-high-stakes-roulette/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Podcast Episode 24 &#8211; Java Interview Questions Part II</title>
		<link>http://howtoprogramwithjava.com/java-interview-questions-part-ii/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=java-interview-questions-part-ii</link>
		<comments>http://howtoprogramwithjava.com/java-interview-questions-part-ii/#comments</comments>
		<pubDate>Fri, 19 Apr 2013 21:42:44 +0000</pubDate>
		<dc:creator>Trevor Page</dc:creator>
				<category><![CDATA[Podcast]]></category>
		<category><![CDATA[java interview questions]]></category>

		<guid isPermaLink="false">http://howtoprogramwithjava.com/?p=1802</guid>
		<description><![CDATA[<p>In this second iteration of our Java interview questions, I have pulled some other commonly asked questions from the following website: http://www.allapplabs.com/interview_questions/java_interview_questions.htm What is the difference between HashMap and HashTable? What is the difference between Vector and ArrayList? What is the difference between a constructor and a method? What is an Iterator? Do I need [...]</p><p>The post <a href="http://howtoprogramwithjava.com/java-interview-questions-part-ii/">Podcast Episode 24 &#8211; Java Interview Questions Part II</a> appeared first on <a href="http://howtoprogramwithjava.com">How to Program with Java</a>.</p>]]></description>
				<content:encoded><![CDATA[<p></p><p>In this second iteration of our Java interview questions, I have pulled some other commonly asked questions from the following website: <a href="http://www.allapplabs.com/interview_questions/java_interview_questions.htm">http://www.allapplabs.com/interview_questions/java_interview_questions.htm</a></p>
<ol>
<li>What is the difference between <code>HashMap</code> and <code>HashTable</code>?</li>
<li>What is the difference between <code>Vector</code> and <code>ArrayList</code>?</li>
<li>What is the difference between a constructor and a method?</li>
<li>What is an <code>Iterator</code>?</li>
<li>Do I need to import java.lang package any time? Why ?</li>
<li>Does importing a package via the * operator also import all the subpackages? For example, does importing src.net.* also import src.net.javavideotutorials.*?</li>
<li>What are wrapper classes?</li>
<li>How are this() and super() used with constructors?</li>
<li>Is it safe to use an instance variable inside of a singleton class?</li>
</ol>
<h2>Bonus Content</h2>
<p>One extra piece of advice that I would like to give that I didn&#8217;t mention in the podcast recording is how to act during the interview.  If you are asked a question, and you don&#8217;t know the answer off the top of your head and just need time to think about it, then say so!  Don&#8217;t be afraid to say &#8220;That&#8217;s an excellent question, I&#8217;m pretty sure I know the answer but just give me a moment to think about it&#8221;.  And then proceed to THINK about it in complete silence.</p>
<p>I&#8217;ve been in interview situations before and have had to do this myself.  It feels a bit awkward sitting in silence, but believe it or not (as having been someone on the other side of the table), it&#8217;s not a huge pain in the butt as an interviewer.  With the silence, it gives the interviewer time to do things like: </p>
<ul>
<li>Review your resume further and think up more questions</li>
<li>Review your previous answers to ensure nothing was missed</li>
<li>Or just sit back and relax</li>
</ul>
<p>So by all means, take the time to think things through and don&#8217;t just blurt out the first thing that comes to mind.  If you blurt out the incorrect answer without thinking, then you will not stand out as a strong candidate to be hired.  So collect your thoughts and take the time to think your answers through first!</p>
<p>The post <a href="http://howtoprogramwithjava.com/java-interview-questions-part-ii/">Podcast Episode 24 &#8211; Java Interview Questions Part II</a> appeared first on <a href="http://howtoprogramwithjava.com">How to Program with Java</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://howtoprogramwithjava.com/java-interview-questions-part-ii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://traffic.libsyn.com/howtoprogramwithjava/javaprogram24.mp3" length="37261576" type="audio/mpeg" />
			<itunes:keywords>java interview questions</itunes:keywords>
	<itunes:subtitle>In this second iteration of our Java interview questions, I have pulled some other commonly asked questions from the following website: http://www.allapplabs.com/interview_questions/java_interview_questions.htm </itunes:subtitle>
		<itunes:summary>In this second iteration of our Java interview questions, I have pulled some other commonly asked questions from the following website: http://www.allapplabs.com/interview_questions/java_interview_questions.htm


	What is the difference between HashMap and HashTable?

	What is the difference between Vector and ArrayList?

	What is the difference between a constructor and a method?

	What is an Iterator?

	Do I need to import java.lang package any time? Why ?

	Does importing a package via the * operator also import all the subpackages? For example, does importing src.net.* also import src.net.javavideotutorials.*?

	What are wrapper classes?

	How are this() and super() used with constructors?

	Is it safe to use an instance variable inside of a singleton class?



Bonus Content

One extra piece of advice that I would like to give that I didn&#039;t mention in the podcast recording is how to act during the interview.  If you are asked a question, and you don&#039;t know the answer off the top of your head and just need time to think about it, then say so!  Don&#039;t be afraid to say &quot;That&#039;s an excellent question, I&#039;m pretty sure I know the answer but just give me a moment to think about it&quot;.  And then proceed to THINK about it in complete silence.

I&#039;ve been in interview situations before and have had to do this myself.  It feels a bit awkward sitting in silence, but believe it or not (as having been someone on the other side of the table), it&#039;s not a huge pain in the butt as an interviewer.  With the silence, it gives the interviewer time to do things like: 


Review your resume further and think up more questions
Review your previous answers to ensure nothing was missed
Or just sit back and relax


So by all means, take the time to think things through and don&#039;t just blurt out the first thing that comes to mind.  If you blurt out the incorrect answer without thinking, then you will not stand out as a strong candidate to be hired.  So collect your thoughts and take the time to think your answers through first!</itunes:summary>
		<itunes:author>How to Program with Java</itunes:author>
		<itunes:explicit>no</itunes:explicit>
		<itunes:duration>38:20</itunes:duration>
	</item>
		<item>
		<title>Podcast Episode 23 &#8211; Java Interview Questions Part I</title>
		<link>http://howtoprogramwithjava.com/podcast-episode-23-java-interview-questions-part-i/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=podcast-episode-23-java-interview-questions-part-i</link>
		<comments>http://howtoprogramwithjava.com/podcast-episode-23-java-interview-questions-part-i/#comments</comments>
		<pubDate>Fri, 12 Apr 2013 14:05:43 +0000</pubDate>
		<dc:creator>Trevor Page</dc:creator>
				<category><![CDATA[Podcast]]></category>
		<category><![CDATA[common interview questions]]></category>
		<category><![CDATA[entry level java interview questions]]></category>
		<category><![CDATA[java interview questions]]></category>

		<guid isPermaLink="false">http://howtoprogramwithjava.com/?p=1798</guid>
		<description><![CDATA[<p>List of Java interview questions Here&#8217;s the list of questions that will be covered in this episode of the How to Program with Java podcast: What is the difference between the JDK and the JRE? What is the difference between checked and unchecked exceptions? What is the difference between final, finally and finalize? What is [...]</p><p>The post <a href="http://howtoprogramwithjava.com/podcast-episode-23-java-interview-questions-part-i/">Podcast Episode 23 &#8211; Java Interview Questions Part I</a> appeared first on <a href="http://howtoprogramwithjava.com">How to Program with Java</a>.</p>]]></description>
				<content:encoded><![CDATA[<p></p><h2>List of Java interview questions</h2>
<p>Here&#8217;s the list of questions that will be covered in this episode of the How to Program with Java podcast:</p>
<ul>
<li>What is the difference between the JDK and the JRE?</li>
<li>What is the difference between checked and unchecked exceptions?</li>
<li>What is the difference between final, finally and finalize?</li>
<li>What is the difference between an Inner Class and a Sub-Class?</li>
<li>What are the various access specifiers for Java classes?</li>
<li>What is data encapsulation and why is it important?</li>
<li>What is a singleton and when is it typically used in Java?</li>
<li>What is the difference between the continue and break statements?</li>
<li>What is the base class in Java from which all other classes are derived?</li>
<li>What packages in Java?  Why are they used?</li>
<li>What is the difference between an Abstract Class and Interface in Java?</li>
<li>Does Java pass by reference or by value?</li>
<li>Is it mandatory for a try block to be followed by a catch block in Java&#8217;s exception handling?</li>
</ul>
<p>The post <a href="http://howtoprogramwithjava.com/podcast-episode-23-java-interview-questions-part-i/">Podcast Episode 23 &#8211; Java Interview Questions Part I</a> appeared first on <a href="http://howtoprogramwithjava.com">How to Program with Java</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://howtoprogramwithjava.com/podcast-episode-23-java-interview-questions-part-i/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
<enclosure url="http://traffic.libsyn.com/howtoprogramwithjava/javaprogram23.mp3" length="44482238" type="audio/mpeg" />
			<itunes:keywords>common interview questions,entry level java interview questions,java interview questions</itunes:keywords>
	<itunes:subtitle>List of Java interview questions - Here&#039;s the list of questions that will be covered in this episode of the How to Program with Java podcast: What is the difference between the JDK and the JRE? What is the difference between checked and unchecke...</itunes:subtitle>
		<itunes:summary>List of Java interview questions

Here&#039;s the list of questions that will be covered in this episode of the How to Program with Java podcast:


What is the difference between the JDK and the JRE?
What is the difference between checked and unchecked exceptions?
What is the difference between final, finally and finalize?
What is the difference between an Inner Class and a Sub-Class?
What are the various access specifiers for Java classes?
What is data encapsulation and why is it important?
What is a singleton and when is it typically used in Java?
What is the difference between the continue and break statements?
What is the base class in Java from which all other classes are derived?
What packages in Java?  Why are they used?
What is the difference between an Abstract Class and Interface in Java?
Does Java pass by reference or by value?
Is it mandatory for a try block to be followed by a catch block in Java&#039;s exception handling?</itunes:summary>
		<itunes:author>How to Program with Java</itunes:author>
		<itunes:explicit>no</itunes:explicit>
		<itunes:duration>45:51</itunes:duration>
	</item>
		<item>
		<title>Podcast Episode 22 &#8211; Mocking</title>
		<link>http://howtoprogramwithjava.com/podcast-episode-22-mocking/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=podcast-episode-22-mocking</link>
		<comments>http://howtoprogramwithjava.com/podcast-episode-22-mocking/#comments</comments>
		<pubDate>Fri, 29 Mar 2013 10:00:44 +0000</pubDate>
		<dc:creator>Trevor Page</dc:creator>
				<category><![CDATA[Podcast]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[mocking]]></category>
		<category><![CDATA[unit testing]]></category>

		<guid isPermaLink="false">http://howtoprogramwithjava.com/?p=1777</guid>
		<description><![CDATA[<p>Unit testing your code is all about being able to confidently test one particular piece of code without worrying about dependencies causing problems. If you get a failure in a unit test, you can to be sure that the failure was caused by bad code INSIDE of the unit of code you were testing (not [...]</p><p>The post <a href="http://howtoprogramwithjava.com/podcast-episode-22-mocking/">Podcast Episode 22 &#8211; Mocking</a> appeared first on <a href="http://howtoprogramwithjava.com">How to Program with Java</a>.</p>]]></description>
				<content:encoded><![CDATA[<p></p><p><a href="http://howtoprogramwithjava.com/wp-content/uploads/2013/01/Podcast1.jpg"><img src="http://howtoprogramwithjava.com/wp-content/uploads/2013/01/Podcast1-244x300.jpg" alt="mocking" width="244" height="300" class="alignright size-medium wp-image-1331" /></a>Unit testing your code is all about being able to confidently test one particular piece of code without worrying about dependencies causing problems.  If you get a failure in a unit test, you can to be sure that the failure was caused by bad code INSIDE of the unit of code you were testing (not because some dependency has failed)</p>
<h2>What you&#8217;ll Learn</h2>
<p>In this episode you&#8217;ll hear all about these things called &#8220;dependencies&#8221; and how they can be minimized by using mocking.</p>
<p>You&#8217;ll learn what mocking does to Objects in your unit tests.</p>
<p>You&#8217;ll learn what kinds of frameworks exist out there and how you can obtain them for you own personal use&#8230; don&#8217;t worry, they&#8217;re all free!</p>
<p>You will also learn just how powerful these mocking frameworks are in what they allow you to do with methods of dependent classes&#8230; really, really cool stuff guys/gals.</p>
<h2>Links Mentioned in the Show</h2>
<p>Here&#8217;s a list of the links that I mentioned in the show:</p>
<ul>
<li><a href="https://code.google.com/p/mockito/">Mockito</a> &#8211; Grab the JAR file here</li>
<li><a href="http://mockito.googlecode.com/svn/branches/1.5/javadoc/org/mockito/Mockito.html">Mockito Tutorials</a> &#8211; Here&#8217;s what I used to learn Mockito (very simple stuff)</li>
<li><a href="https://code.google.com/p/powermock/">PowerMock</a> &#8211; Can be used WITH Mockito to extend the functionality of your unit tests (i.e. mocking static/final methods)</li>
<li><a href="http://jmock.org/">jMock</a> &#8211; Another mocking library (just like Mockito).  I&#8217;ve never used it, but it&#8217;s another popular choice for mocking!</li>
</ul>
<h2>Listener Questions</h2>
<p>We had a question come in from a listener who wanted to know what they could do to gain some real world experience without having to work a full-time job as either an entry level developer or an intern.  You can hear all my comments on how I think this can be achieved in the last part of this podcast episode, so be sure not to miss it, as I&#8217;m sure this topic applies to MANY of you out there today <img src='http://howtoprogramwithjava.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>As always, if you do have any questions for me to answer on the podcast, feel free to <a href="mailto:info@howtoprogramwithjava.com?subject=Question for Podcast">shoot me an email</a> and let me know you want the question answered on the Podcast.  Be sure to leave your name so I can mention you!</p>
<p>The post <a href="http://howtoprogramwithjava.com/podcast-episode-22-mocking/">Podcast Episode 22 &#8211; Mocking</a> appeared first on <a href="http://howtoprogramwithjava.com">How to Program with Java</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://howtoprogramwithjava.com/podcast-episode-22-mocking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://traffic.libsyn.com/howtoprogramwithjava/javaprogram22.mp3" length="5242880" type="audio/mpeg" />
			<itunes:keywords>java,mocking,unit testing</itunes:keywords>
	<itunes:subtitle>Unit testing your code is all about being able to confidently test one particular piece of code without worrying about dependencies causing problems.  If you get a failure in a unit test, you can to be sure that the failure was caused by bad code INSID...</itunes:subtitle>
		<itunes:summary>Unit testing your code is all about being able to confidently test one particular piece of code without worrying about dependencies causing problems.  If you get a failure in a unit test, you can to be sure that the failure was caused by bad code INSIDE of the unit of code you were testing (not because some dependency has failed)

What you&#039;ll Learn

In this episode you&#039;ll hear all about these things called &quot;dependencies&quot; and how they can be minimized by using mocking.

You&#039;ll learn what mocking does to Objects in your unit tests.

You&#039;ll learn what kinds of frameworks exist out there and how you can obtain them for you own personal use... don&#039;t worry, they&#039;re all free!

You will also learn just how powerful these mocking frameworks are in what they allow you to do with methods of dependent classes... really, really cool stuff guys/gals.

Links Mentioned in the Show

Here&#039;s a list of the links that I mentioned in the show:


  Mockito - Grab the JAR file here
  Mockito Tutorials - Here&#039;s what I used to learn Mockito (very simple stuff)
  PowerMock - Can be used WITH Mockito to extend the functionality of your unit tests (i.e. mocking static/final methods)
  jMock - Another mocking library (just like Mockito).  I&#039;ve never used it, but it&#039;s another popular choice for mocking!


Listener Questions

We had a question come in from a listener who wanted to know what they could do to gain some real world experience without having to work a full-time job as either an entry level developer or an intern.  You can hear all my comments on how I think this can be achieved in the last part of this podcast episode, so be sure not to miss it, as I&#039;m sure this topic applies to MANY of you out there today :)

As always, if you do have any questions for me to answer on the podcast, feel free to shoot me an email and let me know you want the question answered on the Podcast.  Be sure to leave your name so I can mention you!</itunes:summary>
		<itunes:author>How to Program with Java</itunes:author>
		<itunes:explicit>no</itunes:explicit>
	</item>
		<item>
		<title>Podcast Episode 21 &#8211; Unit Testing</title>
		<link>http://howtoprogramwithjava.com/podcast-episode-21-unit-testing/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=podcast-episode-21-unit-testing</link>
		<comments>http://howtoprogramwithjava.com/podcast-episode-21-unit-testing/#comments</comments>
		<pubDate>Thu, 21 Mar 2013 16:58:58 +0000</pubDate>
		<dc:creator>Trevor Page</dc:creator>
				<category><![CDATA[Podcast]]></category>

		<guid isPermaLink="false">http://howtoprogramwithjava.com/?p=1742</guid>
		<description><![CDATA[<p>In this week&#8217;s episode, I will be talking about a topic that I think is crucial when programming. This important concept was only revealed to me after I had already been programming professionally for 3 years. Unit Testing in Java Just this past week I was working on assignment 6 for the blog, and the [...]</p><p>The post <a href="http://howtoprogramwithjava.com/podcast-episode-21-unit-testing/">Podcast Episode 21 &#8211; Unit Testing</a> appeared first on <a href="http://howtoprogramwithjava.com">How to Program with Java</a>.</p>]]></description>
				<content:encoded><![CDATA[<p></p><p>In this week&#8217;s episode, I will be talking about a topic that I think is crucial when programming.  This important concept was only revealed to me after I had already been programming professionally for 3 years.</p>
<h2>Unit Testing in Java</h2>
<p>Just this past week I was working on <a href="http://howtoprogramwithjava.com/java-practice-assignment-6">assignment 6</a> for the blog, and the assignment was to create a Texas holdem poker card game.  This assignment ended up being a little more work than I had originally planned for, and that left me scrambling to get all the source code out in time for everyone to enjoy it.  I claimed that if it wasn&#8217;t for the Unit Testing framework I had built in: </p>
<ul>
<li>It would have either taken MUCH longer to complete the assignment</li>
<li>It would have been released on time, but full of bugs</li>
</ul>
<p>What&#8217;s interesting to note here, is that this same scenario plays itself out over and over again in a professional environment.  You are constantly working under a looming deadline, and when push comes to shove, you end up releasing code that&#8217;s &#8220;done&#8221; in terms of functionality, but likely FULL of bugs.</p>
<p>After working in a team of developers as part of the full software development life-cycle for over 5 years, <strong>I know the exact cost of releasing buggy software</strong>.  Here&#8217;s a breakdown:</p>
<ol>
<li>Customer finds a bug and has to report this bug &#8211; <em>this is frustrating for both parties</em></li>
<li>Someone needs to be there to document the call and send off the bug report to a development team</li>
<li>That bug needs to be reviewed, understood and prioritized &#8211; <em>there could be an attempt to re-create the bug at this point</em></li>
<li>The bug will then be assigned to a particular team</li>
<li>Yet another person will need to review and understand the bug (possibly a team lead) &#8211; <em>likely this individual will try to re-create the bug</em></li>
<li>If a team-lead reviewed the bug, then it&#8217;ll likely have to be handed down to yet another team member, the bug will once again need to be reviewed an understood by a developer &#8211; <em>The bug will HAVE to be re-created at this point</em></li>
<li>The process of re-creating a bug is often the biggest stumbling point for developers, the circumstances behind how the bug presented itself will need to be the same as they were in the customer&#8217;s environment &#8211; <em>this is such a huge pain in the butt, take it from a guy who has had to do this day in and day out</em></li>
<li>The process of FIXING the bug can finally begin now</li>
<li>The bug fix may need to be peer-reviewed</li>
<li>The bug fix is submitted through a source control system</li>
<li>Normally a quality assurance team will pick up the change and test to ensure nothing else was broken by the &#8216;fix&#8217;</li>
<li>Depending on the size of the company, another process of User Acceptance Testing may occur</li>
<li>Barring the unfortunate circumstance that the bug fix was flagged as inadequate, the bug will be scheduled to be released to the customer at some point in the future</li>
<li>All the while in this ENTIRE process, everything should be properly documented so that processes can be reviewed and inspected if there are any problems that arise due to a &#8216;buggy fix&#8217;.</li>
</ol>
<h2>Do you know how to avoid the cost of buggy software?</h2>
<p>The list of steps above is an absolute nightmare.  But it&#8217;s a very real nightmare that companies have to deal with day in and day out.  Entire departments can be dedicated to dealing with bugs.  It&#8217;s a MASSIVE waste of time and money, not to mention the lost opportunity cost of being able to work on business activities that could positively affect the bottom line!</p>
<p>So here&#8217;s my proposed solution&#8230;</p>
<p><b>SPEND THE EXTRA TIME AT THE VERY BEGINNING TO CREATE UNIT TESTS!</b></p>
<p>Think about how much time would be saved if a unit test you wrote caught a bug before it even went out to the customer?  Think about it!  Even if you spent an extra TEN hours creating unit tests for a particular piece of code, and ONE of those unit tests caught a bug.  How much of the customer&#8217;s time would you have saved?  How much of your own time and agony would be saved?  Your manager?  Your team-lead?  The QA team?  Any QA people working as part of the UAT process?</p>
<p>Here&#8217;s an interesting one&#8230; think of how much time you would have saved if your &#8220;bug fix&#8221; caused another bug that you failed to catch before releasing it to the customers?</p>
<p>If there&#8217;s one thing that I&#8217;m absolutely convinced about now, it&#8217;s that unit testing will save you (or your company) time and money.  Period.  End of discussion.</p>
<p><a href="http://howtoprogramwithjava.com/5-tips-to-being-a-better-programmer-unit-testing/">So learn about it</a>.</p>
<p>And do it!</p>
<p>The post <a href="http://howtoprogramwithjava.com/podcast-episode-21-unit-testing/">Podcast Episode 21 &#8211; Unit Testing</a> appeared first on <a href="http://howtoprogramwithjava.com">How to Program with Java</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://howtoprogramwithjava.com/podcast-episode-21-unit-testing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://traffic.libsyn.com/howtoprogramwithjava/javaprogram21.mp3" length="37743900" type="audio/mpeg" />
		<itunes:subtitle>In this week&#039;s episode, I will be talking about a topic that I think is crucial when programming.  This important concept was only revealed to me after I had already been programming professionally for 3 years. - Unit Testing in Java - </itunes:subtitle>
		<itunes:summary>In this week&#039;s episode, I will be talking about a topic that I think is crucial when programming.  This important concept was only revealed to me after I had already been programming professionally for 3 years.

Unit Testing in Java

Just this past week I was working on assignment 6 for the blog, and the assignment was to create a Texas holdem poker card game.  This assignment ended up being a little more work than I had originally planned for, and that left me scrambling to get all the source code out in time for everyone to enjoy it.  I claimed that if it wasn&#039;t for the Unit Testing framework I had built in: 

  It would have either taken MUCH longer to complete the assignment
  It would have been released on time, but full of bugs


What&#039;s interesting to note here, is that this same scenario plays itself out over and over again in a professional environment.  You are constantly working under a looming deadline, and when push comes to shove, you end up releasing code that&#039;s &quot;done&quot; in terms of functionality, but likely FULL of bugs.

After working in a team of developers as part of the full software development life-cycle for over 5 years, I know the exact cost of releasing buggy software.  Here&#039;s a breakdown:


  Customer finds a bug and has to report this bug - this is frustrating for both parties
  Someone needs to be there to document the call and send off the bug report to a development team
  That bug needs to be reviewed, understood and prioritized - there could be an attempt to re-create the bug at this point
  The bug will then be assigned to a particular team
  Yet another person will need to review and understand the bug (possibly a team lead) - likely this individual will try to re-create the bug
  If a team-lead reviewed the bug, then it&#039;ll likely have to be handed down to yet another team member, the bug will once again need to be reviewed an understood by a developer - The bug will HAVE to be re-created at this point
  The process of re-creating a bug is often the biggest stumbling point for developers, the circumstances behind how the bug presented itself will need to be the same as they were in the customer&#039;s environment - this is such a huge pain in the butt, take it from a guy who has had to do this day in and day out
  The process of FIXING the bug can finally begin now
  The bug fix may need to be peer-reviewed
  The bug fix is submitted through a source control system
  Normally a quality assurance team will pick up the change and test to ensure nothing else was broken by the &#039;fix&#039;
  Depending on the size of the company, another process of User Acceptance Testing may occur
  Barring the unfortunate circumstance that the bug fix was flagged as inadequate, the bug will be scheduled to be released to the customer at some point in the future
  All the while in this ENTIRE process, everything should be properly documented so that processes can be reviewed and inspected if there are any problems that arise due to a &#039;buggy fix&#039;.


Do you know how to avoid the cost of buggy software?

The list of steps above is an absolute nightmare.  But it&#039;s a very real nightmare that companies have to deal with day in and day out.  Entire departments can be dedicated to dealing with bugs.  It&#039;s a MASSIVE waste of time and money, not to mention the lost opportunity cost of being able to work on business activities that could positively affect the bottom line!

So here&#039;s my proposed solution...

SPEND THE EXTRA TIME AT THE VERY BEGINNING TO CREATE UNIT TESTS!

Think about how much time would be saved if a unit test you wrote caught a bug before it even went out to the customer?  Think about it!  Even if you spent an extra TEN hours creating unit tests for a particular piece of code, and ONE of those unit tests caught a bug.  How much of the customer&#039;s time would you have saved?  How much of your own time and agony would be saved?  Your manager?  Your team-lead?  The QA team?</itunes:summary>
		<itunes:author>How to Program with Java</itunes:author>
		<itunes:explicit>no</itunes:explicit>
		<itunes:duration>38:50</itunes:duration>
	</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

 Served from: howtoprogramwithjava.com @ 2013-05-25 22:13:55 by W3 Total Cache -->