<?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>On Tech and Software &#187; opinion</title>
	<atom:link href="http://jmgtan.com/tag/opinion/feed/" rel="self" type="application/rss+xml" />
	<link>http://jmgtan.com</link>
	<description>Random thoughts on technology, ventures, algorithms, frameworks, gadgets and THE MAN</description>
	<lastBuildDate>Fri, 02 Jul 2010 11:14:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Rebuttal: 3 reasons to stay in a big company</title>
		<link>http://jmgtan.com/2010/01/16/rebuttal-3-reasons-to-stay-in-a-big-company/</link>
		<comments>http://jmgtan.com/2010/01/16/rebuttal-3-reasons-to-stay-in-a-big-company/#comments</comments>
		<pubDate>Sat, 16 Jan 2010 16:05:46 +0000</pubDate>
		<dc:creator>Jan Michael Tan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[opinion]]></category>

		<guid isPermaLink="false">http://jmgtan.com/?p=276</guid>
		<description><![CDATA[Reading this blog post entitled, &#8220;3 reasons to stay in a big company&#8220;, I can&#8217;t help but comment about some of the points the author made. A brief background first, i&#8217;ve worked with some big companies in the past, but all have left a bad taste in my mouth for reasons I will point out [...]]]></description>
			<content:encoded><![CDATA[<p></p>
<p>Reading this blog post entitled, &#8220;<a href="http://vasilrem.com/blog/software-development/3-reasons-to-stay-in-a-big-company/" target="_blank">3 reasons to stay in a big company</a>&#8220;, I can&#8217;t help but comment about some of the points the author made. A brief background first, i&#8217;ve worked with some big companies in the past, but all have left a bad taste in my mouth for reasons I will point out later on. I will be talking about my experiences which led me to believe that big companies aren&#8217;t all its crack up to be.</p>
<p><span id="more-276"></span>Ok lets proceed with the author&#8217;s three points:</p>
<ol>
<li><strong>Working for a big company you learn to think big</strong>.<br />
This is definitely true, lots of integration work with numerous big systems, lots of users depending on these systems to be working day in and day out for them to do their jobs, but from my experience these are the systems that are usually slow, always experiencing down times, always have bad usability, and are usually so expensive for whatever reason.</p>
<p>Having a project laden with all the buzz word technology or design pattern doesn&#8217;t usually mean better performance, it just means you can sell it better to gullible clients thinking that you have a scalable solution because its supposedly &#8220;enterprise-grade&#8221;.  Now am not saying ALL enterprise softwares are like these, but not all teams are able to properly execute a big project. Now the next team/employees that comes in will be the ones responsible in keeping it running and trying to understand/fix the mess piling more crap.</li>
<li><strong>Big companies invest money in innovations and staff education.<br />
<span style="font-weight: normal;">In my personal opinion, staff education is useless. Except for conferences, classroom trainings are usually a waste of time for me. The pacing is way slow, usually the instructors don&#8217;t teach about the more important things especially when the subject is of a technical nature. Now it might work for some, but I much prefer self-improvement over classroom training any day. Although the biggest bonus in favor of big companies is that you get paid while you&#8217;re doing your self-improvement thing if you have the spare time to do it that is.</span></strong></li>
<li><strong>It&#8217;s easier to keep work/life balance.<br />
<span style="font-weight: normal;">Maybe if you&#8217;re just a grunt, but if you&#8217;re up the corporate ladder then you&#8217;re gonna be swamped with meetings. The worst part about it is, some of these meetings that you have to attend are in different timezones because you&#8217;re a multinational company. So you find yourself spending more time in the office because of this. Now if you&#8217;re waaaay up the corporate ladder, then chances are that you have a blackberry, generously provided by the company; now unless you&#8217;re an expert in work/life balance, you will find it really difficult to resists in answering that &#8220;one last email&#8221;.</span></strong></li>
</ol>
<p>A bit of a disclaimer though, i&#8217;m a freelancer right now, got burned out working for big companies and watching them make the same mistakes over and over again with big projects. I&#8217;m enjoying the freelance life tremendously, the projects may not be that big, but the headaches are not that big also. As with all things, there are pro&#8217;s and con&#8217;s to each side of the argument, the key is finding what is more important to you and what works better for you. Freelancing is not for everybody, and so is working for big companies.</p>
<p></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fjmgtan.com%2F2010%2F01%2F16%2Frebuttal-3-reasons-to-stay-in-a-big-company%2F&amp;linkname=Rebuttal%3A%203%20reasons%20to%20stay%20in%20a%20big%20company"><img src="http://jmgtan.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://jmgtan.com/2010/01/16/rebuttal-3-reasons-to-stay-in-a-big-company/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Nokia N97</title>
		<link>http://jmgtan.com/2009/09/15/nokia-n97/</link>
		<comments>http://jmgtan.com/2009/09/15/nokia-n97/#comments</comments>
		<pubDate>Tue, 15 Sep 2009 11:16:22 +0000</pubDate>
		<dc:creator>Jan Michael Tan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[gadgets]]></category>
		<category><![CDATA[n97]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[opinion]]></category>
		<category><![CDATA[reviews]]></category>

		<guid isPermaLink="false">http://jmgtan.com/?p=177</guid>
		<description><![CDATA[Finally bought a smartphone, first time to have one actually. My former phone is a Sony Ericsson K810i, used it for around 2 years plus plus. Very sturdy phone but the mediocre support for connectivity is really hurting me since I need a good 3g connection for my mobile office. Initially was planning to buy [...]]]></description>
			<content:encoded><![CDATA[<p></p>
<p>Finally bought a smartphone, first time to have one actually. My former phone is a Sony Ericsson K810i, used it for around 2 years plus plus. Very sturdy phone but the mediocre support for connectivity is really hurting me since I need a good 3g connection for my mobile office. Initially was planning to buy an iphone 3gs but got really disappointed by the bad battery life, then decided to go for a blackberry bold, but my <a href="http://www.globe.com.ph" target="_blank">provider</a> screwed me on that one. So upon hearing about the <a href="http://www.nokia-asia.com/find-products/products/nokia-n97#/main/landing" target="_blank">Nokia N97</a> (especially the very cool 32gb of internal memory which is expandable upto 48gb), I decided to jump back to the Nokia bandwagon after being away for such a very long time. Credit goes to Sony Ericsson for not releasing any good smartphone (the xperia x1 sucks really bad).</p>
<p><span id="more-177"></span></p>
<p>So first things first, this phone is jam packed with features; ranging from all sorts of connectivity options to a built in fm transmitter for your car when listening to mp3s. I really love the cool form factor and the overall feel of the hardware; although for a phone that is pack with features, it only comes with 128mb of ram which rans out quite often especially when using the built in email client. The web browser uses the WebKit rendering engine (similar to Safari), and it has support for Flash (Lite)! Opening big sites can slow down the phone considerably, but most of the time you&#8217;ll default to the mobile version of the site (if they have one). One of the things I love is the homescreen widgets, basically it allows you to put widgets (sort of like a summarize version of an application) and allow the phone to periodically update them automatically, this can be emails, tweets, facebook, weather, or news sites. Basically any application that has support for widgets (maximum of 5 can be put into the homescreen). The usual applications for symbian also applies like adobe pdf, microsoft office, etc. Although the OVI store is really bad, you can still search the net for symbian apps and download it to your phone.</p>
<p>The real downside of this superb phone is the OS, Symbian S60 5th Edition, needless to say its downright slow and laggy, although according to some <a href="http://www.engadget.com/2009/09/07/nokia-n97-firmware-2-0-looks-to-squash-major-pain-points/" target="_blank">sources</a> new firmwares are gonna be released to address the numerous bugs of the phone. Firmwares, now there&#8217;s another issue, N97 updates are quite unpredictable, meaning that some users in a different region (sometimes same regions) get them, some don&#8217;t, now according to Nokia, each region or operator (telecom) usually has some customizations for that firmware that&#8217;s why they can&#8217;t roll them out all at once to everybody. This maybe true or not we won&#8217;t know for sure, but some users are reporting delays in weeks (sometimes in months) between updates. Like me for example, Nokia has already released v12 but i&#8217;m still at v11 and unable to update over the air or using their Nokia Software Updater. Its frustrating knowing that there is already a fix to speed up or fix stuff, but you can&#8217;t update because you have to wait for your region or operator to get it.</p>
<p>Ranting aside, if you can look past the lagginess of the UI and the use of a resistive touch screen (which means you have to press harder in order for the input to register), you&#8217;ll find a very solid phone in the current incarnation of Nokia&#8217;s flagship smartphone.</p>
<p></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fjmgtan.com%2F2009%2F09%2F15%2Fnokia-n97%2F&amp;linkname=Nokia%20N97"><img src="http://jmgtan.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://jmgtan.com/2009/09/15/nokia-n97/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Symfony Doctrine or Propel</title>
		<link>http://jmgtan.com/2009/09/10/symfony-doctrine-or-propel/</link>
		<comments>http://jmgtan.com/2009/09/10/symfony-doctrine-or-propel/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 12:22:08 +0000</pubDate>
		<dc:creator>Jan Michael Tan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[doctrine]]></category>
		<category><![CDATA[opinion]]></category>
		<category><![CDATA[propel]]></category>
		<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://jmgtan.com/?p=173</guid>
		<description><![CDATA[Been giving this alot of thought lately. What to use for my next project. Ever since symfony 1.2&#8242;s move to Propel 1.3, the major argument of speed against Propel has been solved with its migration out of creole and into PDO. So speed is definitely at par with Doctrine, but the curious side of me [...]]]></description>
			<content:encoded><![CDATA[<p></p>
<p>Been giving this alot of thought lately. What to use for my next project. Ever since symfony 1.2&#8242;s move to Propel 1.3, the major argument of speed against Propel has been solved with its migration out of creole and into PDO. So speed is definitely at par with Doctrine, but the curious side of me wishes to delve into something new to mix things up a bit.</p>
<p>What to use? Doctrine or Propel?</p>
<p></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fjmgtan.com%2F2009%2F09%2F10%2Fsymfony-doctrine-or-propel%2F&amp;linkname=Symfony%20Doctrine%20or%20Propel"><img src="http://jmgtan.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://jmgtan.com/2009/09/10/symfony-doctrine-or-propel/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>JUnit and EasyMock</title>
		<link>http://jmgtan.com/2009/09/08/junit-and-easymock/</link>
		<comments>http://jmgtan.com/2009/09/08/junit-and-easymock/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 01:04:04 +0000</pubDate>
		<dc:creator>Jan Michael Tan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[easymock]]></category>
		<category><![CDATA[junit]]></category>
		<category><![CDATA[opinion]]></category>
		<category><![CDATA[tdd]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://jmgtan.com/?p=170</guid>
		<description><![CDATA[Unit testing is tedious, but it has saved my bacon so many times already that even though it eats my time I still religiously create unit test cases for every important business logic use cases. I&#8217;ve been using Spring&#8217;s integration with JUnit and its very cool transaction support for test cases. Unfortunately with this approach, [...]]]></description>
			<content:encoded><![CDATA[<p></p>
<p>Unit testing is tedious, but it has saved my bacon so many times already that even though it eats my time I still religiously create unit test cases for every important business logic use cases. I&#8217;ve been using Spring&#8217;s integration with JUnit and its very cool transaction support for test cases. Unfortunately with this approach, I have to craft test data to test every single code path for complex business logics. Although the setup, tearDown and rollback upon completion of the test case is handy, I still have to carefully craft the data.</p>
<p>Enter EasyMock, I know i&#8217;m late in the game with mock objects, but in the quest to meet deadlines and still have close to 100% test coverage (well I try to anyway), I haven&#8217;t had the time to actually check out what&#8217;s new in the TDD world.</p>
<p>At its most basic level, it allows you to record and replay the expected method calls and return values for methods that are being used by the object/method that you are currently testing. Aside from mocking interface classes you can also partially mock concrete classes (meaning mock only selected methods) using EasyMock&#8217;s Class Extension. With this, you have fine grain control on how each and every test case will behave.</p>
<p>Check it out at <a href="http://www.easymock.org">http://www.easymock.org</a></p>
<p>I&#8217;ll post a tutorial in my next blog post. There&#8217;s so much stuff in there that I haven&#8217;t used that I&#8217;ll have to start a new tutorial series just to cover this very cool mock framework.</p>
<p></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fjmgtan.com%2F2009%2F09%2F08%2Fjunit-and-easymock%2F&amp;linkname=JUnit%20and%20EasyMock"><img src="http://jmgtan.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://jmgtan.com/2009/09/08/junit-and-easymock/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>5 ways to pissed off your teammates</title>
		<link>http://jmgtan.com/2009/02/17/5-ways-to-pissed-off-your-teammates/</link>
		<comments>http://jmgtan.com/2009/02/17/5-ways-to-pissed-off-your-teammates/#comments</comments>
		<pubDate>Tue, 17 Feb 2009 06:10:56 +0000</pubDate>
		<dc:creator>Jan Michael Tan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[opinion]]></category>

		<guid isPermaLink="false">http://jmgtan.com/?p=95</guid>
		<description><![CDATA[These are all speaking through experience Stubbornly kept on using deprecated code knowing that it will be remove from the code base in the next version, thereby hindering a smooth transition. Violating all of the company&#8217;s coding and naming standards making things difficult to trace for bugs when you go on leave all of a [...]]]></description>
			<content:encoded><![CDATA[<p></p>
<p>These are all speaking through experience</p>
<ol>
<li>Stubbornly kept on using deprecated code knowing that it will be remove from the code base in the next version, thereby hindering a smooth transition.</li>
<li>Violating all of the company&#8217;s coding and naming standards making things difficult to trace for bugs when you go on leave all of a sudden!</li>
<li>You raise a shitstorm once you find a bug in other people&#8217;s code regardless of how minor it is. While we quietly fix your mess and continue with the development, because we are already behind schedule because of your incompetence.</li>
<li>Design patterns apparently don&#8217;t mean much.</li>
<li>While trying to resolve SVN conflicts, you immediately resolve it using your copy without even looking what has changed that caused the conflict.</li>
</ol>
<p></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fjmgtan.com%2F2009%2F02%2F17%2F5-ways-to-pissed-off-your-teammates%2F&amp;linkname=5%20ways%20to%20pissed%20off%20your%20teammates"><img src="http://jmgtan.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://jmgtan.com/2009/02/17/5-ways-to-pissed-off-your-teammates/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Oh no its PHP!!!</title>
		<link>http://jmgtan.com/2008/08/23/oh-no-its-php/</link>
		<comments>http://jmgtan.com/2008/08/23/oh-no-its-php/#comments</comments>
		<pubDate>Sun, 24 Aug 2008 03:03:01 +0000</pubDate>
		<dc:creator>Jan Michael Tan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[opinion]]></category>

		<guid isPermaLink="false">http://jmgtan.com/?p=13</guid>
		<description><![CDATA[A few months ago I was doing some job hunting and i&#8217;ve come across some interesting job interviews in the process. Now I have a good mixture of full-time work and freelance work, and most of my freelance work consists of enterprise PHP web applications; while my full-time work primarily consists of J2EE and Oracle. [...]]]></description>
			<content:encoded><![CDATA[<p></p>
<p>A few months ago I was doing some job hunting and i&#8217;ve come across some interesting job interviews in the process. Now I have a good mixture of full-time work and freelance work, and most of my freelance work consists of enterprise PHP web applications; while my full-time work primarily consists of J2EE and Oracle.</p>
<p>During the course of the interview when they are finished asking me the standard questions regarding my J2EE and Oracle experience, they focused their attention on my freelance works. I must say there is a really big ignorance with the LAMP stack in the enterprise world, opinions and questions that PHP is only a toy language and it cannot &#8220;scale&#8221; like their &#8220;100 concurrent users or the app server will choke&#8221; J2EE apps.  Now this opinions are nothing new, but it&#8217;s hilarious when you actually meet people with that opinion. If only they knew that sites like Digg, Facebook, Friendster were constructed with PHP albeit the web-part only, but like they say, right tools for the right job. I cringe everytime people construct simple intranet sites with full blown J2EE architecture thinking it would automatically scale because it&#8217;s Java/Oracle; apps that could have been simply done with a LAMP stack and 1 week.</p>
<p></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fjmgtan.com%2F2008%2F08%2F23%2Foh-no-its-php%2F&amp;linkname=Oh%20no%20its%20PHP%21%21%21"><img src="http://jmgtan.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://jmgtan.com/2008/08/23/oh-no-its-php/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
