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

<channel>
	<title>Michel Billard &#187; Work Experience</title>
	<atom:link href="http://www.mbillard.com/category/work-experience/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mbillard.com</link>
	<description>News and information about me, Michel Billard. I'm a Web developer with a formation in software engineering.</description>
	<lastBuildDate>Tue, 23 Mar 2010 01:40:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Two years at Hint Innovation</title>
		<link>http://www.mbillard.com/131/two-years-at-hint-innovation/</link>
		<comments>http://www.mbillard.com/131/two-years-at-hint-innovation/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 16:03:28 +0000</pubDate>
		<dc:creator>Michel Billard</dc:creator>
				<category><![CDATA[Work Experience]]></category>
		<category><![CDATA[Hint Innovation]]></category>

		<guid isPermaLink="false">http://www.mbillard.com/?p=131</guid>
		<description><![CDATA[Well, it seems I have been working at Hint Innovation for 2 years now (as of August 13). I&#8217;m happy that I can say that I still love my job. In my previous work experiences I usually got bored after a few weeks, good thing they were just internships. I guess having more responsibilities and [...]]]></description>
			<content:encoded><![CDATA[<p>Well, it seems I have been working at <a title="My company's Web site" href="http://www.hintinnovation.com" target="_blank">Hint Innovation</a> for 2 years now (as of August 13). I&#8217;m happy that I can say that I still love my job. In my previous work experiences I usually got bored after a few weeks, good thing they were just internships. I guess having more responsibilities and real challenges makes my brain happy.</p>
<h3>Retrospective</h3>
<p>I&#8217;ve learned a lot in my two years and I now know myself a lot more (work-wise). I&#8217;ve seen a few employees come and go (though I&#8217;m still the youngest&#8230;) and worked on plenty of interesting projects. I&#8217;m still keeping up with the latest advancements and I feel like I have the skills to improve my field. I&#8217;m feeling more confident with my writing skills on my blogs which I&#8217;m glad I started doing regularly.</p>
<p>The company also improved a lot, moving from a 10 feet by 10 feet room to a huge 1000+ square feet office. We also improved our processes and we can now produce code much faster than we used to. We learned from our mistakes and we have great things planned for the future.</p>
<h3>Future</h3>
<p>First of all, I plan to stay at Hint, mostly because we have a great team and we have what it takes to make a difference in our field. In the last two years, we fixed a lot of issues in the way we handled clients and we can now use this experience to go ahead and create better applications than ever before. I now have decent experience in my field and I (and my bosses) feel that I now have what is needed to start managing/leading people. This is not entirely new to me since I&#8217;ve helped the various employees that started working at Hint, but I think I could handle a small team. That&#8217;s why, as more employees start working for us, I would love to take the role of a team lead.</p>
<p>On the personal side, I will keep blogging (mostly at <a title="My programming blog" href="http://crossbrowser.net" target="_blank">crossbrowser.net</a>) and I will do my best to start one of my many projects that are currently just ideas.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mbillard.com/131/two-years-at-hint-innovation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;It&#8217;s only on your copy.&#8221;</title>
		<link>http://www.mbillard.com/67/its-only-on-your-copy/</link>
		<comments>http://www.mbillard.com/67/its-only-on-your-copy/#comments</comments>
		<pubDate>Tue, 09 Dec 2008 04:38:51 +0000</pubDate>
		<dc:creator>Michel Billard</dc:creator>
				<category><![CDATA[Work Experience]]></category>
		<category><![CDATA[Cyber Generation]]></category>

		<guid isPermaLink="false">http://www.mbillard.com/?p=67</guid>
		<description><![CDATA[I wanted to talk about a funny story that happened during my first internship at Cyber Generation. In my last post, I mentioned a feature which would keep the user&#8217;s session alive for as long as the page was up in the browser. This feature was requested by my manager. The feature did have a [...]]]></description>
			<content:encoded><![CDATA[<p>I wanted to talk about a funny story that happened during my first internship at Cyber Generation. In my last post, I mentioned a feature which would keep the user&#8217;s session alive for as long as the page was up in the browser.</p>
<p>This feature was requested by my manager. The feature did have a purpose so I did not bother asking the importance of this feature or if it was important for everyone (plus it was my manager asking it and I didn&#8217;t want to disappoint). It was a relatively simple request too, so I code the feature, test it on my machine and release it. The feature affected the intranet so everyone using it would get my feature the next time they load a page in the intranet.</p>
<p>One thing that I did not mention is that the manager asked that the feature be implemented with a small permanent pop-up window (if someone closes it, it will be re-opened the next time a page is loaded). Of course, less than 5 minutes after releasing the feature, a manager comes in the developer room asking for what the hell that little window is doing there.</p>
<p>I explain the feature request, I learn that no one else was aware of the feature request and talk about it with my manager. We decide to disable it until I add an option in the user management page to enable or disable it. So I add a column in the <em>Users </em>table, add a field in the user management form and release the code while re-enabling the feature. The process was not this smooth due to an oversight from my part, but this is for another post. I&#8217;ll just say that the problems involves a SQL <em>update</em> statement and no <em>where</em> clause&#8230;</p>
<p>The feature was working correctly (except for the bug mentioned in my last post) and everyone could choose to use it or not. As you may have seen it coming, a few days after rolling the feature out, the only one who has it enabled is my manager. This brings me to a Dilbert comic which sums up the situation perfectly:</p>
<p><a title="Dilbert comic for 2007/02/02" href="http://www.dilbert.com/strips/comic/2007-02-02/" target="_blank"><img class="aligncenter size-full wp-image-73" title="\&quot;It\'s only on your copy.\&quot;" src="http://www.mbillard.com/wp-content/uploads/2008/12/dilbert_20070202_onlyonyourcopy.gif" alt="Dilbert comic for 2007/02/02" width="500" height="155" /></a></p>
<p>I did learn a few very valuable lessons from that little project though:</p>
<ul>
<li>Question the validity of a feature request, make sure it is something people would actually want</li>
<li>Proofread your queries before running them (however, we should have had test servers)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.mbillard.com/67/its-only-on-your-copy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My first internship</title>
		<link>http://www.mbillard.com/48/my-first-internship/</link>
		<comments>http://www.mbillard.com/48/my-first-internship/#comments</comments>
		<pubDate>Wed, 03 Dec 2008 20:23:35 +0000</pubDate>
		<dc:creator>Michel Billard</dc:creator>
				<category><![CDATA[Work Experience]]></category>
		<category><![CDATA[Cyber Generation]]></category>

		<guid isPermaLink="false">http://www.mbillard.com/?p=48</guid>
		<description><![CDATA[After my second year at the Polytechnique, it was time to get my first internship. A combination of circumstances made this process more difficult than I first thought it would be. I had no prior computer-related work experience, my interviewing skills were quite weak at the time (formal interviews were new to me), I was [...]]]></description>
			<content:encoded><![CDATA[<p>After my second year at the <a title="Polytechnique de Montréal" href="http://www.polymtl.ca/" target="_blank">Polytechnique</a>, it was time to get my first internship. A combination of circumstances made this process more difficult than I first thought it would be. I had no prior computer-related work experience, my interviewing skills were quite weak at the time (formal interviews were new to me), I was a bit lacking in the confidence department (or so I thought) which made me nervous. To top it all, I began applying for positions a bit too late, meaning that many interesting positions were already filled.</p>
<p>I know that I can sometimes lack confidence during my interviews, so I usually try to compensate by trying to look confident. However, the manager who hired me told me that I was bit arrogant during the interview. I made a note of it for the future. The line is fine between confidence and arrogance.</p>
<p>Anyway, I finally got a job that was pretty much perfect for me at <a title="Cyber Génération" href="http://www.cybergeneration.com/en/" target="_blank">Cyber Génération</a>. It&#8217;s a web company so I would be able to improve my then newbie web development skills. It was 20 minutes away from where I lived and the pay was above average for a first internship.</p>
<h3>Responsabilities</h3>
<p>My official responsibilities were to do technical support and help with network administration. The tech guy was overloaded and needed some assistance. During the first month or so, I would help set-up computers and link them together over the network.</p>
<p>After that, a new permanent network admin was hired to help him so my tech duties were reduced significantly. Fortunately for me, I would be given small development projects instead. I had to take over some of the tasks of the other intern which had gotten really sick and could not come back.</p>
<p>I was asked to improve and fix some bugs in their custom-built intranet (which is the best, biggest and most useful intranet I&#8217;ve seen so far). At the time I only had a few months worth of PHP experience and they were developing with ASP. The transition was effortless and after a few days I was releasing improvements and fixes at a steady pace.</p>
<p>During the last month and a half I was given two &#8220;major&#8221; projects (major to me at the time). These projects were different because they were completely new features instead of just adding functionality to existing parts of the application.</p>
<p>During the final weeks, the work load became quite light however and it was clear that they did not plan enough work for me for the entire duration of the internship. They even asked me to assemble a storage shelf to keep me occupied (which had to be done by someone anyway).</p>
<h3>Experience</h3>
<p>This internship, being my first real computer-related work experience was very benefiting for me. I learned a lot about web development and about what to expect for my future jobs. I improved my skills with ASP, SQL, JavaScript and CSS. I even had the chance to follow a short SEO (search engine optimization) formation from <a title="Abacus Référencement" href="http://www.abacus-referencement.com/" target="_blank">Abacus Référencement</a> (french only, sorry) which I really enjoyed.</p>
<p>Unfortunately, I had some issues with the manager, but nothing that made me dread going to work every morning. I just remember one thing that annoyed me from his official evaluation of my internship. He once asked me to fix something in a feature I had implemented to keep the connection to the intranet alive as long as the page was up in the browser. However, once in a while the javascript timer would not behave properly and the session would time out anyway. He asked me to make it so that it never times out. I applied the only fix I could think that would solve the issue, told him that I did something to try to fix the issue, but that I could not be sure if it was completely fixed (we did not have test environments and the bug happened so rarely that it was difficult to know if it was fixed for good or not). I also mentioned that I didn&#8217;t think any other programmer in the company could fix the issue we were having trouble with (now I&#8217;m pretty sure there wasn&#8217;t but at least there would have been a workaround, which was most probably beyond my capabilities at the time). Somehow this translated to him in a refusal to fix the bug and made sure to mention it in my evaluation without talking about it to me first.</p>
<p>Even though this particular manager might not have been particularly impressed with what I did, I know that everyone else in the company was more than satisfied with my work and that&#8217;s what really matters.</p>
<p>It was my first real work experience and it solidified my love for web development.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mbillard.com/48/my-first-internship/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ORA-01010: Oracle hiring process error</title>
		<link>http://www.mbillard.com/39/ora-01010-oracle-hiring-process-error/</link>
		<comments>http://www.mbillard.com/39/ora-01010-oracle-hiring-process-error/#comments</comments>
		<pubDate>Fri, 10 Oct 2008 18:42:29 +0000</pubDate>
		<dc:creator>Michel Billard</dc:creator>
				<category><![CDATA[Work Experience]]></category>

		<guid isPermaLink="false">http://www.mbillard.com/?p=39</guid>
		<description><![CDATA[During my final year at the University I was, as a good student, actively looking for a company to hire me. Since I had good grades and I knew I was a great prospect, I went for companies that seemed to be the best for my future. By that I mean a company where I [...]]]></description>
			<content:encoded><![CDATA[<p>During my final year at the University I was, as a good student, actively looking for a company to hire me. Since I had good grades and I knew I was a great prospect, I went for companies that seemed to be the best for my future. By that I mean a company where I would learn a lot, have plenty of great mentors around me, offer a lot of possibilities for advancement and where resources would not be an issue. Let&#8217;s just say that my definition for that has changed quite a bit since I started working in a <a title="Life in a startup" href="http://www.mbillard.com/24/life-in-a-startup/" target="_self">startup</a>. Oracle seemed to offer all of this: plenty of senior developers around, plenty of management levels and I think it&#8217;s safe to say that Oracle isn&#8217;t short on money.</p>
<p><em>I applied at a few other companies but none seemed to offer the level of professionalism Oracle could offer (except Google but I did not get a position there). However, the Google story is for another post.</em></p>
<p>Everything was going well with Oracle, I had already applied there for an internship but I did not take the position because I had to accept or reject another job before I received any feedback from them (more about the internship process in a future post), however after 3-4 interviews I guess I was not doing too bad. I did all their interviews and after a lengthy process they told me I was chosen for the position. Unfortunately, there was a catch: I first had to go through their background investigation process which is standard procedure for big corporations and their headquarters in California (I was applying for a position in Montreal) had to approve the expense.</p>
<p>The background investigation took a lot of time because my references were either in vacation or did not know how to return a phone call (and I was in vacation so it was difficult to handle all the communications), but it finally came to an end positively. This was very tedious but it&#8217;s usually a fairly straightforward process which just happened to hit all the obstacles.</p>
<p>By the time the background investigation had ended (about two months after being told I was their candidate of choice) they had not yet received any new information about my approval from the headquarters. The office in Montreal could not hire me before this was completed and approved and my contact did not have access to information about the time frame this would take (or could not tell me). I was told this usually take a few weeks sometimes up to two months, but this had already taken over two months and they did not know how much longer it would take. Everything else was done and approved, all they needed was an approval for my salary.</p>
<p>I was optimistic that the approval request would eventually get through soon since everything else was done so I decided I would wait and take the free time as vacation. However the months passed and by mid-summer, four months after being &#8220;chosen&#8221;, I was running low on money and I finally gave up hope on them, I would have to find another job. Luckily for me, in a matter of two weeks I had found a new job and <a title="Working at Hint Innovation" href="http://www.mbillard.com/24/life-in-a-startup/" target="_self">things turned out pretty good</a>.</p>
<p>I did not hear from them for a month or two after being hired at Hint Innovation. My contact at Oracle called me in fall offering me the &#8220;chance&#8221; to apply for another position at Oracle. They didn&#8217;t offer me a job, they offered me the opportunity to waste my time again, just like last time.</p>
<p>No thanks.</p>
<p><em>P.S.: For those wondering about the error number, it&#8217;s the date of the post.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mbillard.com/39/ora-01010-oracle-hiring-process-error/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>My time at Gameloft</title>
		<link>http://www.mbillard.com/31/my-time-at-gameloft/</link>
		<comments>http://www.mbillard.com/31/my-time-at-gameloft/#comments</comments>
		<pubDate>Fri, 26 Sep 2008 15:54:39 +0000</pubDate>
		<dc:creator>Michel Billard</dc:creator>
				<category><![CDATA[Work Experience]]></category>
		<category><![CDATA[Gameloft]]></category>

		<guid isPermaLink="false">http://www.mbillard.com/?p=31</guid>
		<description><![CDATA[After my third year at the Polytechnique de Montréal, I went for an internship at a gaming company. I&#8217;ve always liked video games but I wasn&#8217;t sure if I would really like working in the domain so an internship was the perfect solution. As some of you may know, Gameloft is a rather big player [...]]]></description>
			<content:encoded><![CDATA[<p>After my third year at the <a title="Polytechnique de Montréal" href="http://polytml.ca" target="_blank">Polytechnique de Montréal</a>, I went for an internship at a gaming company. I&#8217;ve always liked video games but I wasn&#8217;t sure if I would really like working in the domain so an internship was the perfect solution.</p>
<p>As some of you may know, <a title="Gameloft" href="http://www.gameloft.com/" target="_blank">Gameloft </a>is a rather big player in the cellphone games market and is known worldwide. It is also affiliated with the giant Ubisoft. That makes Gameloft a good entry point for real gaming development positions (programming cellphone games isn&#8217;t especially thrilling).</p>
<p>My tasks consisted of porting a version of a game that worked (and was released or approved for release) on a particular cellphone to another very similar cellphone. Most of the time, it was very boring and didn&#8217;t involve much thinking from me. I must say that I didn&#8217;t learn a lot in terms of programming knowledge. However, I did learn a lot about project and team management, bug reporting as well as versioning.</p>
<p>The hierarchy was just right at Gameloft, porters worked under a team lead who was assigned a producer who makes the final decisions regarding bugs and features (to let a bug in the game if it is not worth fixing for example). The management overhead was not excessive at all, we only had meetings when it was really needed and I was not constantly monitored while working.</p>
<p>They used a few tools that I now find necessary for the success of a project or organization. The first one is their in-house bug tracking application which I used daily and helped tracking the progress of my projects. The second one was the company wiki. I will talk more about it in a future post, but this tool, as hard as it may be to get it started (because it needs contributors) proved itself very useful for documentation.</p>
<p>The last major skill I learned (I should say perfected) was versioning (or source control). They used a quite standard branches-tags-trunk process (well more of a tags-trunk process in practice) which I was not familiar with before working there. This is an important skill that should be taught in schools. The only thing I remember from University regarding source control was using one trunk where everyone commits its work (they did suggest not to commit breaking changes though).</p>
<p>Working at Gameloft might not have been the most thrilling experience and I did not learn a lot from a technological point of view, but the knowledge I got about everything orbiting around the coding tasks was immense.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mbillard.com/31/my-time-at-gameloft/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Life in a startup</title>
		<link>http://www.mbillard.com/24/life-in-a-startup/</link>
		<comments>http://www.mbillard.com/24/life-in-a-startup/#comments</comments>
		<pubDate>Sat, 20 Sep 2008 13:08:51 +0000</pubDate>
		<dc:creator>Michel Billard</dc:creator>
				<category><![CDATA[Work Experience]]></category>
		<category><![CDATA[Hint Innovation]]></category>

		<guid isPermaLink="false">http://www.mbillard.com/?p=24</guid>
		<description><![CDATA[For a little more than a year, I&#8217;ve been working at a startup called Hint Innovation. I was their first employee and it has been a tremendous experience that I hope will continue for a long time. The two co-founders are actual computer/software engineers too and have a lot of expertise in the business and [...]]]></description>
			<content:encoded><![CDATA[<p>For a little more than a year, I&#8217;ve been working at a startup called <a title="Hint Innovation inc." href="http://www.hintinnovation.com" target="_blank">Hint Innovation</a>. I was their first employee and it has been a tremendous experience that I hope will continue for a long time. The two co-founders are actual computer/software engineers too and have a lot of expertise in the business and financials domains.</p>
<p>Since we were only 3 developers when we started, I had a lot of responsibilities and it didn&#8217;t take long before I had my own projects. I could take part of the design portion (probably my favorite one) of the software even though I was just fresh out of the University. I did not expect to have an impact on the design and architecture of the applications so quickly after graduating. Even though I knew I could bring something good, I just thought the corporate world would have me wait for my turn. The startup life is really something to look for if you want to do more than just programming.</p>
<p>Together, we&#8217;ve been working on developing software products using the latest trend in software engineering, domain-driven design. Before working there I had never heard anything about the concept, but I can assure you that this is what OO programming was created for. The main aspect of domain-driven design is that it helps <strong>manage complexity</strong>. The applications we build are very complex, yet it&#8217;s very easy to understand how it works underneath and fixing bugs or adding features is a breeze.</p>
<p>At the beginning of this summer (2008), I had the chance to experience managing and leading for a small project. We had an intern for the summer (who just renewed for fall) and, because of some time constraints, I was the one who would teach him and give him assignments. This was an amazing experience, the (internal) project turned out really good and we will be using and improving it for a long time.</p>
<p>Finally, I just want to say how glad I am to have decided to take the risk with the company (there&#8217;s always a risk when going for a small 2 people company), I have learned so much in that year and I can truly say that I love my job.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mbillard.com/24/life-in-a-startup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
