20 March, 2014

My bet on Java IDE

intellij-shop (Photo credit: dibau_naum_h)

I have been spending some time on learning Java (7), and I was fortunate enough to grab a copy of Jay Bryant's book, Java 7 for Absolute Beginners. There's a bit of contradiction here... I surely am a beginner in Java, but I have known C# for a decade now, and the pleasant surprise I got when I started reading the book!

The 2 programming softwares were very identical, I could say 99%, in form and substance. And of course, going through the history of how they came about, why woulnd't they be? It is just that they originated from two rival camps, but the structure and capabilities given to them, I believe were at par.

The curiosity came about while job hunting: there were many job ads that indicated the need for a Java developer, but in parenthesis, C#.NET are welcome to apply. Took me a few job ads to realize the obvious, but then again, not immediately.

You see, I shun away from Java years ago, even though I was using native C in my school days. That was due to my poor experience with UNIX, but then again, it was not a mandated skill, and when I was starting to learn UNIX, I just didn't have a nice encounter with the OS, being already exposed to DOS, which is more verbose when it comes to its commands. Then I came across BASIC, then QBASIC. This really put a wedge between me and UNIX, the power and capability of which I will never know. I simply can't 'grep' the commands, and with nobody around to guide me, it became 'awk'-ward. I mean, I can read and learn by doing when I can, but I simply didn't get that chance - which I got with DOS and BASIC.

So I was quite surprised when I finally got to learn Java; I was at home, very much at home. Even so, the abstract-ness of the two software became more familiar to me. That was good, I never skipped a page, and the things that I would have forgotten in C#, the terms, the methodologies, they were refreshed in my memory, and what's more, I am learning Java!

Now, being so at ease with Visual Studio IDE made me a bit frustrated with the IDEs that were available for Java development. I have been trying to put my hand in on Android programming, and I started with Eclipse IDE, which is too much for beginners. Just look at the list in their website, and it would be too much, so overwhelming, really. As for Android, I have also tried Android Studio, by Jet Brains.

There is also NetBeans. The feature that I was looking for in Eclipse and NetBeans is the feature that I become accustomed with in Visual Studio, two actually, namely: intellisense and auto-completion. Now, I am not saying that Eclipse and NetBeans don't have these features, but the behaviour isn't what I wanted. Eclipse would automatically add ".*;" after pressing enter. That isn't the case for NetBeans.

Oracle offers JDeveloper IDE, but sadly, you have to be really a geek to make it run: I can't even install it! I've been doing softwares since 1996, but I have chosen a motto that if anything should work, it should be easily usable, even by the dumbest person.

There are many other Java IDEs available, but one IDE I have tried and I will keep: Jet Brains' IntelliJ. Fortunately, they have the Community Edition, which is free, and while being a smaller version of the Ultimate edition, the feature is not. Of course, the intellisense and auto-completion features are very close to what you get in Visual Studio.

So now at least I have two options for Java IDE: NetBeans and IntelliJ. Both free, both having the intellisense and auto-completion features, less the irksome behaviour.

Till then!

Enhanced by Zemanta

05 March, 2014

When Top Management Kills the Opportunity for Growth

Coda (web development software)
Coda (web development software) (Photo credit: Wikipedia)

My very first venture out of my country of birth was a job that I stayed in for almost one and a half decade. And being employed for so long means I wasn't moving from one employer to another. That is to say I didn't have the chance, or better yet, the challenge, of job hunting.

Now that I am, I realize a few things that were taken for granted for so long.

First in the list is my resume. It took me a while to remember my education details. Mine is quite unusual, coming from a 3-year technical course all units of which are credited when a BS or Degree course is pursued afterwards. It was a problem on the date of the BS Computer Science course that took me some time to realize, until I was reconciling the dates of my previous employments before the decade and a half job.

My next difficulty was the picking of the details to be included in each level or area of responsibility. Brevity is its own merit, and a lot had to be dropped, exercising of course great care not to prune where verbosity matters. This brings me to my main point of discourse.

I took on the interest of web development, and my very first small web apps was really something so small that all that mattered to me when I developed that single page was to see if I can do it. Of course I did it, and a couple of years later on, a really big project came up in the KPI list. It was considerable, and one that took me 2 years to complete: framework, UI design and bare functionality took about 8 months of development. And some other issues took priority. When the same KPI item came up the year that followed, my boss was worried that if it wasn’t completed ASAP, it would never get done at all, and it would be against me. Actually, it can be brought up again the third year, but it would already draw the attention of the next level supervisor – and that would mean bad to me and my boss.

It was done, finally. Self-UAT was carried, and then our internal group UAT followed. A few more tweaks, and it was rolled out for public use. And the requirement was: make it run only in IE, the rest of the browsers didn’t matter. Bummer!

I asked my boss why, and the directive was actually coming from IT: they will only support IE8, at that. He was anticipating any issue that may come, and if not IE, our support guys won’t even take a look. And that directive from top management was the killer.

I don’t blame them, but I have known from my research that cross-browser functionality was the very bane of web development. And form what I read, IE, being proprietary, was THE most uncompliant. No offense meant, but just pointing out that W3C compliance-wise, IE was off the chart.

And being the maverick that I am, I tacitly injected the cross-browser functionalities in my pages, not caring whether or not one day other browsers will be allowed use in the office. For even with that directive, I have tested my codes against 6 browsers:  IE, FF, Chrome, Safari, Maxthon and Opera.

I would understand that top management have to do their job of protecting their own interest, but when it comes to our working level, the decision is ours: do we let them kill our creativity and opportunity for growth?

The choice is ours. I did not. Certainly.

Enhanced by Zemanta