Archive | Ranting RSS feed for this section

How to do a remote programming interview with code review

17 Mar

I’ve just read a post at Coding Horror – Jeff Atwood’s popular blog where he goes into the problem that many candidates applying for a programming job simply can not program. He claims that it’s almost all of the applicants, which I find hard to believe. I tend to think that their resume evaluation techniques are just not good enough, which is surprising since Jeff is good friends with Joel Spolsky who had an interesting article about screening resumes.

Anyways, Jeff’s article is not about that. It’s about a little nifty tool that will allow you to see other person type. It’s very simple you give your interviewee a link and open a link in your browser and can see everything the other person types with a couple seconds lag. This tool is definitely nice, but hell, why not just use google wave? It’s easy, many technical people should already have it. If the programmer applying doesn’t have it and doesn’t have a good reason as to why this is so you should think twice about putting further time and effort in the interview process.

Android development vs. Blackberry Development

11 Apr

I was contemplating quite a lot about the title for this post. Originally I wanted to give it the title of “Why developing for Blackberry sucks” but then I thought it might be too harsh and does not really reflect the content of the post which is about comparing the experience of developing for Android and experience of developing for Blackberry and settled for the current title. There were other titles revolving in my head, but all of them were just variations of  the original “why developing for Blackberry sucks”

I have been developing for Android for some time and lately I have been working on developing for Blackberry and I must say development for Android wins hands down in all aspects. Many times, especially frustrated with Blackberry buggy IDE or other cumbersome experience I wanted to write this post, but I had to find the time for it.

So what is so bad about Blackberry development? It starts at the very basics – development environment. Google has developed a very nice plugin for Eclipse which works very well and even has the basics of support for visual editing of user iterface screens. RIM – the company behind Blackberry for a long time had their own development environment – JDE. Written using basic SWING components, there’s no need to mention how bare boned and outdated it looked. They have recently introduced Eclipse plugin as well, but it is pretty buggy and half baked. It is hundreds times better than the first version of the plugin, but it is still from being stable and feature rich.

Then we have the emulators – gosh, why do I have to restart the emulator everytime I want to test a new build? It can take up to a few minutes to restart the emulators for the more advanced models. To feel the pain, just imagine the nightmare of programming the UI for Blackberry in that setup. And no, there is no visual helper that can show the layout quickly, not to mention visual builder.

The compiler, or more exactly the packager – “rapc” has many times weird problems and behaves like a whiny child with lots of attitude problems. Same goes for the MDS server emulator.

Compared to Android, this can be nightmare. Yes I’ve had some issues and observed buggy behavior with aapt while developing for Android, but it was quite easy to resolve. For the UI part of the development, Android beats Blackberry as well. Constructing layout using XML is much easier than writing actual Java code. (Apple had actually went one step furthergiving the developers visual tools.)

Localization is much easier in Android as well. Besides conceptually being easy, the support of the Eclipse plugin for localization is half baked and buggy and what’s most important, it is not that easy to find documentation on how to implement localization for Blackberry in Eclipse.

The last but not the least (and in fact probably most important) is the vibrant, enthusiastic and active community of the Android platform. It is so much easier to find answers to any problems you have while developing for Android. I was a little considered about Android being all open source in a sense that there is no central authority with central responsibility for certain things, and Blackberry has all this and it turns out that what many enthusiasts can do, easily outweighs any size company organized or not.