<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
   <channel>
      <title>multipart/mixed</title>
      <link>http://joshcarter.com/</link>
      <description></description>
      <language>en</language>
      <copyright>Copyright 2011</copyright>
      <lastBuildDate>Fri, 22 Jul 2011 09:55:45 -0700</lastBuildDate>
      <generator>http://www.sixapart.com/movabletype/?v=4.1</generator>
      <docs>http://blogs.law.harvard.edu/tech/rss</docs> 

      
      <item>
         <title>New Programmer&apos;s Survival Manual: Now For Sale!</title>
         <description>
           <![CDATA[<a href="http://pragprog.com/titles/jcdeg"><img src="/images/books/new_programmers_cover.png" alt="cover" class="photo_left"/></a>

<p>
<b>Now for sale:</b> my book for programmers entering industry, the <a href="http://pragprog.com/titles/jcdeg">New Programmer's Survival Manual</a>, is available in "beta" ebook form. If you purchase the beta, you'll also get an upgrade to the final book which will be published around September.
</p>

<p>
I expect readers of this book to fall into a couple categories:
</p>

<ul>
   <li>College students taking Computer Science classes and wondering, "is this what programming is like in the real world?" (Short answer: no.)</li>
   
   <li>College grads already in industry, who have noticed first-hand that the answer to the first question is "no," trying to get their heads around the disparity.</li>
   
   <li>Professionals from other backgrounds who got into programming as a hobby or side job, now wanting to take it on full-time.</li>
</ul>

<p>Programming at industry level requires new skills--you'll build programs that dwarf anything you've done on your own. This book introduces you to practices for working on large-scale, long-lived programs at a professional level of quality. You'll find out how to work efficiently with your tools, and discover essential new tools.</p>

<p>But the tools are only part of the story; you've got to get street-smart too. Succeeding in the corporate working environment requires its own savvy. You'll learn how to navigate the office, work with your teammates, and how to deal with other people outside of your department. You'll understand where you fit into the big picture and how you contribute to the company's success. You'll also get a candid look at the tougher aspects of the job: stress, conflict, and office politics.</p>

<p>Finally, programming is a job you can do for the long haul. This book helps you look ahead to the years to come, and your future opportunities--either as a programmer or in another role you grow into.</p>

<p>There's nothing quite like the satisfaction of shipping a product and knowing, "I built that." Whether you work on embedded systems or web-based applications, in trendy technologies or legacy systems, this book helps you get from raw skill to an accomplished professional.</p>
  
<p>
(Note: If you're read along with my <a href="/books/pragprowrimo_2009/">previous writing</a> on this subject, all of the best material (and lots more) is in the final book. And you'll be relieved to know I dropped the bits about assembly language.)
</p>

]]>
           
         </description>
         <link>http://joshcarter.com/books/new_programmers_survival_manual</link>
         <guid>http://joshcarter.com/books/new_programmers_survival_manual</guid>
         <category>Books</category>
         <pubDate>Fri, 22 Jul 2011 09:55:45 -0700</pubDate>
      </item>
      
      <item>
         <title>Essential Industry Skills</title>
         <description>
           <![CDATA[<p>Allow me to consult the vast oracle of the interwebs on a perplexing problem. (That would be you.) I&#8217;ve got a lot of thoughts about on-the-job technical skills needed by industry programmers, each worthy of its own book. I have one chapter in <a href="http://joshcarter.com/books/pragprowrimo_2009/">the book I&#8217;m working on</a>.</p>

<p>Here&#8217;s what I want to accomplish:</p>

<ul>
<li><p>Give the newbie programmer a picture of programming topics that seem to come up again and again. I don&#8217;t intend to <em>teach</em> the topics, but give a brief discussion of what they are, why they keep coming up, and some good approaches to start on. (See examples below.)</p></li>
<li><p>Choose a reasonable subset of topics that apply across a broad cross-section of industry (80/20 rule).</p></li>
<li><p>Refer the reader to other resources to find out more.</p></li>
</ul>

<p>This chapter is specifically focused on programming chops, not tools or bigger-picture practices. (I&#8217;ve got other material about that.) Let me give a few examples to clarify.</p>
]]>
           
             <![CDATA[ <p><a href="http://joshcarter.com/books/pragprowrimo_2010/essential_industry_skills">Continue reading "Essential Industry Skills" &raquo;</a></p> ]]>
           
         </description>
         <link>http://joshcarter.com/books/pragprowrimo_2010/essential_industry_skills</link>
         <guid>http://joshcarter.com/books/pragprowrimo_2010/essential_industry_skills</guid>
         <category>PragProWriMo 2010</category>
         <pubDate>Tue, 09 Nov 2010 21:03:39 -0700</pubDate>
      </item>
      
      <item>
         <title>New to Programming in Industry? I Need Your Help</title>
         <description>
           <![CDATA[<p>I'm working on a book for people new to programming in industry. My reader may be:</p>

<ul>
<li><p>A college student looking to become a professional programmer, wondering what school's not teaching them;</p></li>
<li><p>A recent grad who's working but has noticed that there's a lot more to professional work than what you learned in school;</p></li>
<li><p>Someone coming to programming from a completely different field, who got their feet wet and now wants to make programming a career.</p></li>
</ul>

<p>Is this you? Yes? Let's talk. I'm putting together an advisory panel of "target audience" readers, whose goal is to make sure I'm answering your questions. The scope of this topic is nearly infinite; the number of pages I've got to make a high-impact book is not. I need to keep it tight and focused on the topics that are most useful to you.</p>

<p>In return for your help, you'll get early access to chapters as I write them. I'll try to swing a copy of the paper book for you, too, when it's printed.</p>

<p>Interested? <a href="/contact">Send me an email</a>.</p>
]]>
           
         </description>
         <link>http://joshcarter.com/books/new_to_programming_in_industry</link>
         <guid>http://joshcarter.com/books/new_to_programming_in_industry</guid>
         <category>Books</category>
         <pubDate>Mon, 14 Jun 2010 08:22:18 -0700</pubDate>
      </item>
      
      <item>
         <title>Dear Programming Job Applicants...</title>
         <description>
           <![CDATA[<p>I know this might come as a shock to you, but <em>most programming job applicants suck.</em> I've interviewed my fair share this month, and it'll be a lot easier for all of us if I tell you upfront what I'm looking for.</p>

<p>As a hiring manager, my job is to make sure <em>you</em> can do the job you're applying for. For programming that means you need to be able to program. So when I whip out a laptop in our round-one interview and ask you to write some code, try to hide your terrified expression.</p>
]]>
           
             <![CDATA[ <p><a href="http://joshcarter.com/software/dear_programming_job_applicant">Continue reading "Dear Programming Job Applicants..." &raquo;</a></p> ]]>
           
         </description>
         <link>http://joshcarter.com/software/dear_programming_job_applicant</link>
         <guid>http://joshcarter.com/software/dear_programming_job_applicant</guid>
         <category>Software</category>
         <pubDate>Fri, 21 May 2010 11:44:50 -0700</pubDate>
      </item>
      
      <item>
         <title>Is it Worth Teaching Assembly?</title>
         <description>
           <![CDATA[<p>This is an open question to programmers: is it worth teaching someone
assembly language anymore? My instinctive reaction is "of course," but
let me explain why I'm second-guessing that instinct.</p>

<h2>The Case For</h2>

<p>Back in the 1990's I had my moment of revelation: a pal of mine, a far
more experienced programmer than me, showed me how C code compiled
into assembly. This was on the Motorola 68K instruction set. I learned
to walk through how the stack works, how pointers work, how loops
work... it all finally made sense. From that time forward, I've had no
fear of C or C++ because I know how the language morphs the code I
write into the code the computer sees.</p>
]]>
           
             <![CDATA[ <p><a href="http://joshcarter.com/software/is_it_worth_teaching_assembly">Continue reading "Is it Worth Teaching Assembly?" &raquo;</a></p> ]]>
           
         </description>
         <link>http://joshcarter.com/software/is_it_worth_teaching_assembly</link>
         <guid>http://joshcarter.com/software/is_it_worth_teaching_assembly</guid>
         <category>Software</category>
         <pubDate>Fri, 14 May 2010 19:09:36 -0700</pubDate>
      </item>
      
      <item>
         <title>Genevieve&apos;s First Ballet Recital</title>
         <description>
           <![CDATA[<img src="/images/gallery/genevieve_ballet.jpg" class="photo_center" alt="Photo"/>

<p>
My daughter Genevieve performing in her first ballet recital. Photo toned to black-and-white using Alien Skin Exposure.
</p>]]>
           
         </description>
         <link>http://joshcarter.com/gallery/portraits/genevieves_first_ballet_recita</link>
         <guid>http://joshcarter.com/gallery/portraits/genevieves_first_ballet_recita</guid>
         <category>Portraits</category>
         <pubDate>Sun, 09 May 2010 20:45:41 -0700</pubDate>
      </item>
      
      <item>
         <title>Coming to a Bookstore Near You</title>
         <description>
           <![CDATA[<p>First, thanks to all the readers who followed my PragProWriMo 2009 writing--your support was invaluable. I'm happy to announce that <a href="http://pragprog.com">Pragmatic Bookshelf</a> picked up my book in December and I'm busy finishing the first draft. I'm not sure how long the whole process will take, the optimist in me wants to believe I can finish by the end of the year. Either way I'm very excited to bring this book to fruition and the folks at Pragmatic are fantastic to work with.</p>
]]>
           
         </description>
         <link>http://joshcarter.com/books/pragprowrimo_2009/coming_to_a_bookstore_near_you</link>
         <guid>http://joshcarter.com/books/pragprowrimo_2009/coming_to_a_bookstore_near_you</guid>
         <category>PragProWriMo 2009</category>
         <pubDate>Mon, 01 Mar 2010 09:27:07 -0700</pubDate>
      </item>
      
      <item>
         <title>Quality: Beginning vs. Afterward</title>
         <description>
           <![CDATA[<p class="disclaimer">Yes, PragProWriMo 2009 was over yesterday. However, I can&#8217;t introduce the topic of quality and then just stop there, can I? After this it&#8217;s time to start working on my book proposal.</p>

<p>There are two approaches to building a quality product: build it in from the beginning, or beat it in afterward. The former approach requires a lot of discipline and effort from the engineering team. The latter requires a lot of testing and, again, effort from the engineering team.</p>
]]>
           
             <![CDATA[ <p><a href="http://joshcarter.com/books/pragprowrimo_2009/quality_beginning_vs_afterward">Continue reading "Quality: Beginning vs. Afterward" &raquo;</a></p> ]]>
           
         </description>
         <link>http://joshcarter.com/books/pragprowrimo_2009/quality_beginning_vs_afterward</link>
         <guid>http://joshcarter.com/books/pragprowrimo_2009/quality_beginning_vs_afterward</guid>
         <category>PragProWriMo 2009</category>
         <pubDate>Tue, 01 Dec 2009 23:05:52 -0700</pubDate>
      </item>
      
      <item>
         <title>Quality is Job 0.99999</title>
         <description>
           <![CDATA[<p class="disclaimer">This is intended to introduce a chapter on quality. There&#8217;s a myriad of topics here; this post is merely setting the stage.</p>

<p>I take it as a given that any product should be a high-quality product. Why bother making it otherwise? This seems like a straightforward goal, but the technology industry has had a hell of a time figuring out how to build quality software. There&#8217;s a joke that&#8217;s been around for at least a decade:</p>

<blockquote>
  <p>There&#8217;s word in business circles that the computer industry likes to measure itself against the Big Three auto-makers. The comparison goes this way: If automotive technology had kept pace with Silicon Valley, motorists could buy a V-32 engine that goes 10,000 m.p.h. or a 30-pound car that gets 1,000 miles to the gallon&#8212;either one at a sticker price of less than $50. Detroit&#8217;s response: &#8220;OK. But who would want a car that crashes twice a day?&#8221; </p>
</blockquote>

<p>Any good joke has an element of truth to it&#8212;this one especially so. Auto makers can build cars that&#8217;ll drive hundreds of thousands of miles, but Windows 95 would crash after 49.7 days of continuous operation&#8212;a bug that took <em>four years</em> to discover <a href="http://news.cnet.com/2100-1040-222391.html">1</a> because other bugs would crash Windows 95 long before 49.7 days could pass.</p>
]]>
           
             <![CDATA[ <p><a href="http://joshcarter.com/books/pragprowrimo_2009/quality_intro">Continue reading "Quality is Job 0.99999" &raquo;</a></p> ]]>
           
         </description>
         <link>http://joshcarter.com/books/pragprowrimo_2009/quality_intro</link>
         <guid>http://joshcarter.com/books/pragprowrimo_2009/quality_intro</guid>
         <category>PragProWriMo 2009</category>
         <pubDate>Mon, 30 Nov 2009 22:49:37 -0700</pubDate>
      </item>
      
      <item>
         <title>Millie Berger</title>
         <description>
           <![CDATA[<img src="/images/gallery/millie_berger.jpg" class="photo_center" alt="Photo"/>

<p>
Portrait of my grandmother. I don't consider myself a portrait artist but I do get lucky once in a while. On-site lighting was two flashes bounced off the ceiling. Photo toned to black-and-white using Exposure 2 and vignetted with Bokeh.
</p>]]>
           
         </description>
         <link>http://joshcarter.com/gallery/portraits/millie_berger</link>
         <guid>http://joshcarter.com/gallery/portraits/millie_berger</guid>
         <category>Portraits</category>
         <pubDate>Sat, 28 Nov 2009 22:25:14 -0700</pubDate>
      </item>
      
      <item>
         <title>Platforms</title>
         <description>
           <![CDATA[<p>It used to be that the &#8220;user interface&#8221; for a computer was assembly language and its &#8220;user manual&#8221; was the programming manual. Back in those days, the distinction between the physical machine and its programming interface was somewhat academic.</p>

<p>These days, there&#8217;s a lot more layers involved. Taking the &#8220;simple&#8221; example of C++, the layers could look like this:</p>

<p><img src="http://joshcarter.com/images/books/pragprowrimo_2009/software_stack.png" class="photo_center"/></p>

<p>In this example, the physical machine is a x86, 64 bit. The machine&#8217;s architecture has various ramifications, for example a 64 bit machine can allow a single process to address much more memory than a 32 bit machine. The operating system has numerous implications; any &#8220;system call&#8221; like accessing a file goes through the operating system. Then there&#8217;s the libraries, for example the C standard library which provides functions like <code>printf()</code> for formatted output. Then there&#8217;s the programming language itself.</p>
]]>
           
             <![CDATA[ <p><a href="http://joshcarter.com/books/pragprowrimo_2009/platforms">Continue reading "Platforms" &raquo;</a></p> ]]>
           
         </description>
         <link>http://joshcarter.com/books/pragprowrimo_2009/platforms</link>
         <guid>http://joshcarter.com/books/pragprowrimo_2009/platforms</guid>
         <category>PragProWriMo 2009</category>
         <pubDate>Fri, 27 Nov 2009 21:16:52 -0700</pubDate>
      </item>
      
      <item>
         <title>Programming Languages</title>
         <description>
           <![CDATA[<p>There are few topics that can get programmers riled up more than programming languages. Language flame-wars have been raging on Usenet since about the dawn of Usenet. They&#8217;ll continue burning until, as best I can tell, the end of time. Why? The programming language is your most-used tool (second only to your text editor) and it takes a long time to master, so it&#8217;s reasonable that people get attached to their languages.</p>

<p>In college you likely focused on one &#8220;do it all&#8221; language like Java. There&#8217;s nothing wrong with Java, in fact it&#8217;s a great language. The problem is the &#8220;do it all&#8221; part&#8212;no language does it all, at least not well. You simply cannot be productive and versatile without knowing a couple programming languages.</p>
]]>
           
             <![CDATA[ <p><a href="http://joshcarter.com/books/pragprowrimo_2009/programming_languages">Continue reading "Programming Languages" &raquo;</a></p> ]]>
           
         </description>
         <link>http://joshcarter.com/books/pragprowrimo_2009/programming_languages</link>
         <guid>http://joshcarter.com/books/pragprowrimo_2009/programming_languages</guid>
         <category>PragProWriMo 2009</category>
         <pubDate>Fri, 20 Nov 2009 23:48:28 -0700</pubDate>
      </item>
      
      <item>
         <title>Optimism</title>
         <description>
           <![CDATA[<p>In the 90&#8217;s Bare Bones Software released a text editor called BBEdit with the tagline &#8220;It Doesn&#8217;t Suck.&#8221; It retains the tagline to this day. Truly brilliant marketing. Who&#8217;s their market? Programmers.</p>

<p>Programmers are pessimistic and sarcastic lot. The vast majority will tell you about a hundred things that suck for every one thing that doesn&#8217;t. The highest praise a programmer will give a product is, &#8220;it doesn&#8217;t suck.&#8221;</p>

<p>Pessimist programmers are in good company. I&#8217;ve read various reports saying the vast majority of projects fail. 80 or 90 percent. Adding insult to injury, it&#8217;s not the <em>good</em> 10 or 20 percent that succeed, it&#8217;s some hodgepodge of good and bad. It almost seems that bland to downright crappy products are <em>more</em> successful, on average, than really good ones. When a programmer says such-and-such sucks, chances are he&#8217;s right.</p>
]]>
           
             <![CDATA[ <p><a href="http://joshcarter.com/books/pragprowrimo_2009/optimism">Continue reading "Optimism" &raquo;</a></p> ]]>
           
         </description>
         <link>http://joshcarter.com/books/pragprowrimo_2009/optimism</link>
         <guid>http://joshcarter.com/books/pragprowrimo_2009/optimism</guid>
         <category>PragProWriMo 2009</category>
         <pubDate>Thu, 19 Nov 2009 22:34:48 -0700</pubDate>
      </item>
      
      <item>
         <title>Corporate Myths</title>
         <description>
           <![CDATA[<p class="disclaimer">
Author&#8217;s Note: it&#8217;s really hard coming up with good examples for the assembly language discussion. Either I make something meaningful that compiles into pages of assembly, or I make something too trivial that compiles into nice snippets. I&#8217;ve tried three times to write about pointers and the balance still isn&#8217;t right. So today I&#8217;m flipping back to corporate life.
</p>

<p>Executives and managers like to think they&#8217;ve got it all together. Walk with some swagger, put on the game face, don&#8217;t show weakness. Just as you learned about your parents, your management doesn&#8217;t always know as much as they say they do. I&#8217;m a manager, I&#8217;d know.</p>

<p>So let&#8217;s take a tour of myths you&#8217;ll probably hear in the corporate world. When you hear these, make a mental note: this guy is a bozo.</p>
]]>
           
             <![CDATA[ <p><a href="http://joshcarter.com/books/pragprowrimo_2009/corporate_myths">Continue reading "Corporate Myths" &raquo;</a></p> ]]>
           
         </description>
         <link>http://joshcarter.com/books/pragprowrimo_2009/corporate_myths</link>
         <guid>http://joshcarter.com/books/pragprowrimo_2009/corporate_myths</guid>
         <category>PragProWriMo 2009</category>
         <pubDate>Wed, 18 Nov 2009 21:36:02 -0700</pubDate>
      </item>
      
      <item>
         <title>Functions and Parameters</title>
         <description>
           <![CDATA[<p class="disclaimer">This entry is a day late because I started writing about pointers, but I realized I needed to discuss function calls first.</p>

<p>Now that we&#8217;ve got the foundation of stack frames and the debugger for exploring them, we can use the stack for more than just local variables. The stack is also used for passing and receiving parameters to functions.</p>

<p>Let&#8217;s say I&#8217;ve got this very-nearly-useless function:</p>

<pre><code>int sum3(int a, int b, int c)
{
    return a + b + c;
}

int main()
{
    sum3(1, 2, 3);
    return 0;
}
</code></pre>
]]>
           
             <![CDATA[ <p><a href="http://joshcarter.com/books/pragprowrimo_2009/functions_and_parameters">Continue reading "Functions and Parameters" &raquo;</a></p> ]]>
           
         </description>
         <link>http://joshcarter.com/books/pragprowrimo_2009/functions_and_parameters</link>
         <guid>http://joshcarter.com/books/pragprowrimo_2009/functions_and_parameters</guid>
         <category>PragProWriMo 2009</category>
         <pubDate>Tue, 17 Nov 2009 13:25:46 -0700</pubDate>
      </item>
      
   </channel>
</rss>