How to find yourself a good programming job

Tricky isn’t it.. especially when you’re a programmer.

Its not about just getting a job anymore, isn’t it. We all need a good job.. a good company to work with. Right set of people to work with. Good environment. Good technology, nice product to work on.. etc. etc. You know all those good things.

But the reality is there are loads of companies out there treating programmers as commodities. You’re put under a manager who comes right from a factory environment.. (actually even the factories are kinda better nowadays). And before you know it, programming is just yet another thing that you do at your job. Probably the least important one too.

Many folks are happy with it. If you are, you are requested to return back from here. Stuff below can lead you in different direction..

So if you’re stuck at such a place, what do you do? How do you make the switch to the kind of workplace that you like.. A place where you’ll be at your menacing best. Thrashing programmatic solutions one after another. Discussing all fantastic tech stuff. Breathing fresh air and coding stuff that you like.. How do you find the right place?

Job Portal (Hmm.. still many programmers are recruited this way)

Job portals are a great way to land yourself in yet another place you want to get out of. I really wonder if companies should even bother looking at them, unless they need posers and half-arsed programmer look-alike in their company.

I mean, look at the process of recruitment.. You enter your resume (one which says nothing about you..) into a site which catches keywords like java, c, etc.. and not your real traits. Then you talk to a recruitment guy, who knows nothing about programming or programmers, except that programmers are a bit odd looking and need to be taught manners.

Then there’s a fantastic interview process. You are made to sit for longer durations, where they check your endurance and frustration limits. This gives them a good idea if that person can bear the frustration that is to ensue once he’s joined the company.  And once the actual discussion starts, its not actually a discussion. Its a one-way street. Questions being fired one after another which has very less to do with actual work that one does.

Its a clear recipe for hiring average folks. One who works for money and has little to no passion for programming as such. One who’s likely to bring all wrong practices into your system. One who’ll never bring an innovative thought, even if his life depended on it.

So you ask what’s the alternative..

Go network with programmers..

Go where good programmers hang out. Talk to them. Know where they work.

Hang out at conferences. Find companies that do good work. Companies that project the right attitude.

Build your personal brand online

Identify a good open-source project that you could relate to and start contributing. Else, start a project of your own and get other contributors to contribute to it.

Get yourself on Twitter, Stackoverflow and earn good reputation in the community.

Earn good referrals.

Earn recommendations and referrals from respected folks in your community. Identify companies that you’d like to work with and earn your way towards meeting their standards of hiring.

These are of course not easy to achieve, but yeah.. are sure going to land you a job which is better than the one you’re currently in.

Try it out..

We’re just getting started with touch apps..

Its yet another post on the touch based tools and apps, but I couldn’t resist. So here it goes..

We heard about the coffee table from gates (Microsoft) a few years back.. The idea was to change the way human machine interaction modes. In layman terms, move away from a mouse, keyboard based interaction to a more natural way of interaction.. (i.e.) through voice, body gestures, pen, touch, etc.

It got me thinking. What happens when people are presented with such technology. How would people react to that?

Well.. I haven’t heard about the coffee table much since. But recently we were presented with a more portable version of it by a gentleman named Steve Jobs. Apple presented iPad to the world. One of the better products that has greeted the market in the last decade and maybe even longer than that. The options of utilization are massive, limited by only one’s imagination.

Here’s a look at recent future with touch screens..

It presents expandable, transparent and easily connected touch based apps. Thats one of the direction they’d move.

Children and Education:

Other area of applicability are children and the whole education and learning space around them. Have you seen a kid with an iPad in hand? Have a look at these pictures and figure out the most natural interface in this:

Obviously the third one with iPad looks the most natural for kids. Kids learn a lot through touch and feedback. With right kind of apps, it can be very intuitive and can change the face of child learning.

Help with Autism:

This also opens up unlimited opportunities to enhance improvement in communication especially for kids with communication disorders. There have been many stories where this interface has helped families communicate better with their special kids.  Have a look at this amazing heart-warming video and see for yourself..

Rural reach:

Owing to its size and intuitive interface, its again a natural choice for apps/services that reach out of rural areas in different parts of the world with low literacy rates. I’m sure with mass production and subsidized rates from government, this can be made available to huge population and large number of people can benefit from this.

Industries like rural healthcare, micro-finance and different services and benefit from this too.. There has been a recent announcement from Indian HRD ministry to launch a 35$ tablet. It may not be a possibility currently but it shouldn’t be long before we reach that point technically..

Looking at the impact that mobile has created in the rural sections, this would be accepted instantly.

The UnConference of Entrepreneurs

Imagine a place full of enthusiasm, activity and positivity. Thats how it was at Chennai Tie Unconference event last saturday hosted at Thoughtworks premises. The theme was “How to scale your business” and the idea was to do it in unconference style. This model we believe results in better knowledge transfer between the seasoned ones and the rookies.

The day started with Dorai sharing few details about the event and then requesting for participants to declare their proposed sessions. To be honest, we did not expect much activity in the beginning.. but we were surprised to receive about 20 sessions right within the first 5-10 minutes. So there we had the agenda for the whole day. Great start to an unconference.

Then started the sessions.. Couple of them that I enjoyed being part of were,

1. When to become an entrepreneur..

2. Bootstrapping your startup

3. (the high point) Panel discussion on scaling your business

Lots of discussions, many useful ones.. some not so useful, but a nice event at the end. It is rather difficult to summarize the events since they were so many and so distributed that I lost track of them all. But I’ll try to share few things that we tried out and learnt from this experience.

1. The position paper experiment

This was seriously good and has given me many ideas to make such unconferences/events more interesting and useful to all participants. My experience from conferences and events have been that I’ve always found myself bored at speakers/lectures sessions and waiting for them to end so I can meet other participants or engage in networking. Now imagine if I already knew all the participants and knew the reasons they’ve brought themselves to the event, it gives me a clear idea of who to talk to and what to talk as well.

2. Three sessions in parallel

Sometimes this means, people can only go to one session and lose on other sessions. But it also means lot of people getting a chance to share their views and having a smaller audience who’ve preferred this to the other things going on. Beneficial to both the parties.

3. Panel discussion

This was the only organized session in the whole day. Terrific panel and crisp replies to questions. Extremely efficient use of time. We expected this to be the high point and it was.

Pictures and more information on individual sessions are available on facebook and twitter

Organized by Tie and Thoughtworks with the help of Dorai, Sid, Satya (myself) and host of other volunteers.

Awaiting many more in future too..

What are your interview questions?

Well.. What are they?

Let me try and guess..

1. How long have you been working in Java/.Net?

2. What is your current project?

3. What are your current interests?

4. Solve this puzzle for me..

5. My favourite.. Tell me about yourself.

Let me tell you one thing. You’re not only wasting your time, you’re wasting the time of the other person too.. All the information is already available one way or the other on the net. Go lookup.

And if you don’t find his information on the web… be sceptical. Start the interview asking why you did not find any information about him on the web.

Lets stop being so superficial in interviews. Especially for developers. Please.

Go deep. Get conceptual. Ask him to code. That is why you recruit him.

Some of my earlier posts of recruitment are Part1, Part2, Part3, Part4

Emails are just getting hotter!!

Just when you thought Emails are losing their feet and better tools are replacing them, comes a host of applications on top of common emails. You’d agree with me when I say, there’s no bigger database than emails and if that data is studied properly, would reveal a lot about the person starting from personal stuff to professional. His taste in music, movies, choice of friends, business interests, job interests.. name a thing. Its available in the mail account.

This is what I’ve come across lately..

1. Rapportive

Excellent tool. You typically have social applications asking for emails to import your friends. Reverse it now. That’s rapportive for you.

You need to hover over the email id of the person in gmail and you can see the social profile of the person in different applications like linkedin, twitter, myspace, etc. Many CRM tools have tried to do this, in the bracket of Social CRM. But this tool integrates seamlessly with your email and nothing better than that.

It makes good use of the otherwise useless ad area. Is very unobtrusive and intuitive at the same time.

2. Priority Inbox

Always wanted a tool that would show you only the most important messages to read. Typically, you do it through labels and multiple inbox.. but nothing better than the email client filtering it for you. I’ve been extremely impressed with the simplicity of the feature, though not a very simple feature if you come to think of it. Certainly a move in the right direction.

Two excellent tools here.. and there are many more out there to make your email experience better.