30 March 2007

The Human Misinterface Development

After many years in Java development and interviewing different candidates for development positions, much of their profiles still dwells in the server-side and no time was given, at least, to learn the actual aesthetics of the front end or the user interface. Many of these developers rants about "working a lot for so little" when it comes to user interface development and worse is its notion as a "weaker sex" job. On the other hand, an elegantly coded server-side module which the developer devoted so many sleepless nights at work will all go the down the drain because of poor user interface design that can render the whole application useless, so what happened to the "working a lot for so little" then?

Don't try to outsmart the users, they know what's useful or not. Seriously, if a Java developer's profile is still very much on the server-side stuff, it's really going to be serious problem in the future. Even if keywords as JSF, JSP or even (yikes) AJAX appears on each developer's CV it will still not count, it's the understanding of the aesthetics that matters. Once, these aesthetics has been understood, these developers will learn what technologies to forget.

22 March 2007

It's 2 Years Now...

I just realized that my blog is 3 years old. Time flies. All I can say is, somehow, this blog is solid. I did see some people change blog several times in less than a year, they change what they want to talk about, change the template, change the theme, in short, there's truly a lost of focus and the old enthusiasm has a vague motivation -money.

I just entered my second year living in a foreign land. From the little excitement I had in my first day, nothing much have changed. In fact, things are starting to breakdown. Traffic jam is getting worse, weather is becoming more interesting, buses are travelling slower than usual, and...the mobile TV! Oh yes, that one. It sometimes works, sometimes doesn't but most of the time doesn't. The bookstore that I used to hang out with still offers great books but it seems only journalists and other media people are reading them 'cause it looks like they are the only people that are really learning from it. In two years all I can say is this land has one really very strong asset: Governance. There isn't really much in here but that and the rest just depend on it.

Customer Service Standards are at best is pitifully a flatliner, I really don't know why, is it because of their accent that sometimes misunderstood as a bit confrontational? Ok, this is not a comparison of apple to oranges but actually a learning tip. When you do your groceries in one of the biggest supermarkets in the Philippines this is how the flow will go: 1.) You get in to store, grab a shopping cart(no $1 deposit required) 2.) Grab what you need to buy, ask questions to any store personnel and they will gladly assist you and if they don't know the answer, they will look for someone who knows instead of the typical "sorry lah, I only got 6 hours to work not a minute to waste" answer. 3.) And when you check out from the cashier with all your overflowing merchandise(because it's really dirt cheap you could almost buy everything inside a supermarket) a store clerk or assistant will gladly push your cart to the taxi stand or to the parking lot and help you load your stuff in to the trunk. That's three simple step to basic excellent service, why can't they do it here? That's just the basic, you have to be there to see the gold standard.

When my father used to work in the Middle East as an engineer(these are the real ones, not the software ones) during the 80's they are periodically introduced to different technologies that are happening in their respective fields. Really something breakthrough and really something new and when he finally came home, he set up his own engineering shop and applied what he has picked up from the Western oilers. But me, as a software "engineer" didn't learn anything new in my stint in a foreign land, I just used what I've learned before I came here and used for all it's worth, I never came in to any training to really learn something new and compelling (forget Fatwire, Hyperion, SAP, BEA and all this crap) I'm still using the stuff that I learned back home with nothing in return except a good currency but that is very vague. When I get back home, I will also setup my own "engineering" shop with nothing new to apply but only a lot of stupid things to unlearn.

It's 2 years now and it's really very short. The only consistent thing is change, I have changed my template so that my code samples will fit nicely. I still had my focus with no thanks to some few distractions. I am a programmer and that's the hat I wear most of the time and that is my favorite hat, I can not be a maintenance guy, I can not be a salesman. I don't sell stuff because my stuff sells by itself. Oh and that's another thing, I see a lot of software salespeople sells like a car or an insurance salesman, pushing themselves to the death march just to win an account. Back in the Philippines when I first worked on my own, I never did that. No hard selling, no bullshit. The pitch is simple, we'll just talk over coffee and I will tell them what I can do and what I will not do if they are fine with that then we're in business, if not, then have a nice day no need to chase time after time. Software is abstract but the business is simple specially if you really have something compelling, no need to do hard selling, no powerpoints, no long talks and a no bullshit time because you know people will need it. It's really difficult to ingrain these into some people's mind, a product that sells by itself, and they are missing a lot.

DON'T TREAT YOUR JOB AS IF IT IS YOUR VERY EXISTENCE! Our country is not a starving nation(because stroke is our number 1 killer now) and yet we have the luxury to relax, we have the luxury not to be afraid to our customers and give in to their stressful demands, we have the luxury to reject service to anyone. We don't really mind losing business to a difficult customer because they deserve a difficult provider.

It's 2 years, and nothing seemed to move significantly.

16 March 2007

Web [Application] Is Dead

Don't panic. You're favorite social networking site, search engines and other nice sites laundered by AJAX may still survive. But if you're one of the turds who have fancied the idea eons ago of stuffing the web browser with enterprise applications in the name of "low deployment costs". Then you have to think again.

If you're in a place with a perfect network structure as Singapore, then enterprise web apps are just fine or still acceptable. But if you're in a battle-hardened marketplace where online and offline processing is inevitable then you have to junk all your web applications together. Some will really try it harder with XForms for "offline" web applications, but that just won't work because you still need to build your update functions both for client and server, unless some turds still want to go through this death march it's up to them. Rich Client Platform is the answer, not hype.

14 March 2007

And Justice For All...

Today I felt vindicated upon reading this news, somehow the Universal Justice System will really going to extend its arms fully. Anyway let me share the story.

Almost a year ago, DynamicBeans got in touch with one of the promising startups that won a citation from StartUp@SG who also developed the same technology (note: this technology can never be patented, so you can throw away your IP ramblings to the window) that can lock a mobile phone if it's lost or stolen, plus the rest of the features similar to that one from the Bulacan kids. During the presentation of this concept and a few demo. I was convinced that this will be a big hit in the Philippines. In short, I told the founder if we can discuss further the possibility of marketing this phone security application back in the Philippines. So we lay out our "cards" and the plan on how are we going to do it, I also made a brief presentation of the Patriot on what is the role it's going to play.

After several exchanges of emails and phone calls which made things a little exciting. Then suddenly there's something that hits me like a surprise left. The founder told me that they are flying directly to our contacts who are the decision makers of the country's largest wireless telecommunications company. And they are going to present their concept and demonstrate it. WTF!!! So I kept my cool until some time and then I said "Good Luck!". This wireless telco company is very notorious for plagiarizing ideas that really works, they will not mind spending a fortune to do it by themselves so if you're there and you don't know how to safeguard you're "assets" you can kiss it goodbye for all they care. So the same curse happened to this Singapore-based startup, I'm expecting that they can not enter that "space" without us and I'm expecting this wireless telco company will not leave it hanging like that. The founder who flew directly made another attempt to crosscut me, by calling our colleagues in Makati to get in touch with another wireless telco which is the competitor, I know he's doomed that time. And justice was served.

These are just bunch of kids who founded a cool startup, they didn't learn all these things by themselves, they were mentored. These are the mentors that teaches them how to be "uncool" in the business community, sad to say, these mentors are the ones that should be burned at stakes. Now we have our own homebrewed stuff done by our great kids back there, watch out, here we come!

13 March 2007

Doomed

"Adding manpower to a late software project makes it later..." - Frederick Brooks

And managers who often would pretend it will never happen to them will always find themselves...DOOMED. So the best people on the job have learned their mistakes more than twenty years ago in any software projects but why they are still being notoriously repeated? Ignorance?

12 March 2007

What Kind of Programming Language I am?

I know, I haven't been doing AI for a long time...


11 March 2007

Another Book Buy

After acquiring a copy of Dreaming in Code, I still haven't started reading it. But finally, now I can after finishing a book that I borrowed from our nearby community library entitled Software Project Secrets (Why Software Projects Fail). I would highly recommend this book to those who are graduating with "I.S. Management" major and I will really say "Please read it". Because it's really scary when someone with little or no coding experience starts managing a software project at any stage. After 2005, every software project manager should be really reading this book.

After borrowing this book, I must have my own copy.

09 March 2007

Code Everyday, No Matter What...

I learned something from John Grisham (he's not a programmer dude) just now. His secret to writing is "Write everyday, no matter what...". A very consistent way of sharpening a skill. And I guess there's no other way, but my problem is if I overdo, I falter.

Code everyday. Don't over-emphasize much on the methodologies and patterns, just code everyday and you'll learn. Code everyday, and don't be afraid to make mistakes because most likely you're not wasting thousands of dollars like others do.

Coding is not a dirty work, if you think it is, then same thing goes to painting or playing music. Coding is harder than management, management is piecemeal. Just code everday, no matter what, you'll be surprised what you have done in a week's time.

06 March 2007

Bug Fixing

This is what I can call a 10-year irritation to people who can never learn. Users can easily conclude that there is a bug in the system when something went wrong during the operation, that's understandable. But this is the most irritating question of all; "how long do you think you can fix this?" and definitely the developer's answers could nothing be shorter than a guess or a balony.

Bugs may take a minute or weeks to fix. You can never tell until you find it and fix it. In years of Developer vs. Manager Wars it seems only the earlier has written enough books and articles to learn to fight the latter. And still, the blood spills.

05 March 2007

I Got My Book!

Ok, I finally got the Dreaming In Code by Scott Rosenberg, I feel like I'm holding a hardbound Harry Potter book. As an added bonus, I also stumble on Bob Walsh's Micro-ISV which was foreworded by Joel Spolsky. I'm not really an avid reader of Joel's articles, the first sentence of the book's back cover is "This book is for software developers who are fed up with working for someone else." I'm almost there, so I bought it.

03 March 2007

Fragile Code

What is a fragile code? It's a piece of code in a system that works, but is not extensible and resistant to change. Sounds familiar? So you think you have a code that works perfectly for the past five years and suddenly conks out when a new feature was added is called a robust code? No, it's a failure waiting to happen. Some folks judged a failed software project based on deadline and cost. But some things are rarely given attention when new changes are introduced. Other developers will blame the change and will make change the "enemy". When an enterprise application is designed to be resistant to change, it's a failed project before it even begins.

Does it all matters when you have rolled out the initial cut and collected the money? Yes it is, because a lot of "Mom-and-Pop" Professional Services and Solutions Provider today is in the brink of self-destruction because of self-denial that such fragile code exists in their projects and so-called products.

01 March 2007

My Next Book Buy

"Dreaming In Code" by Scott Rosenberg. After almost 10 years of programming experience, why do I still want to buy this book? Because I am a programmer. And programmers are programmers because they like to write code. I did not desire to learn programming so that I will get a nice paying job in Singapore. It's simple, I just like doing it. To me, the Singapore Job is just like tripping and stumbling at the end of the rainbow, it came to me.

Hopefully this book will open the eyes of senior managers and non-technical managers on why programmers behave as they are, why reusable code is only good on papers and articles. As a programmer it is easier and faster to write your own code than learn somebody else's code, rewrite somebody's code or even fix somebody's code.