• About

    Swaroop C H is 29 years of age. He is a coder and startupper. He has previously worked at Yahoo!, Adobe, his own startup and Infibeam.


    Read more about him


    Email: swaroop (at) swaroopch.com

  • Subscription

    If you want to know when new stories and articles appear on this website, you can receive them via:

  • I'm a Wannabe Hacker

    The Glider: A Universal Hacker Emblem

Archive for the ‘Work’ Category

Working out of Goa

Friday, October 21st, 2011

I finally got to check one particular item out of my bucket list – working out of Goa. This was possible purely because of freelancing which means I can be anywhere as long as I’m getting the work done.

When my wife and myself were planning this month-long road trip – driving from Bangalore to Mysore (so that I could run a half marathon to Mulki (so that the wife can learn surfing in the ocean to Goa, we charted out the course and stay, but I insisted we don’t book any hotels in Goa. “Why?” she asked, and I said I wanted to test travelling the way the foreigners do as I had written earlier. That turned out to be a great idea, because we found the perfect room for us – clean, spacious, reasonable tariff, separate entrance, undisturbed by neighbours, and most of all, we can see the beach and the ocean from the bed! And there was no way we could have ever found out about this place online when the owner was puzzled what “WiFi” means…

This was the view from our porch:

2011-09-26 14.11.55

2011-09-30 18.14.12

2011-09-27 18.21.36

2011-10-05 18.14.10

The owners even had a friendly cat:

2011-10-04 06.52.33

The best part about having a room almost on the beach was the amazing evening walks after a long day of work and hot weather.

2011-09-24 18.05.56

2011-10-03 18.40.09

2011-10-03 18.40.03

2011-10-03 18.44.07

2011-09-30 18.19.55

Of course, there had to be a “but.” It couldn’t be all perfect. I had a Reliance NetConnect+ as well as a Tata Photon+ connection. The former hardly worked throughout the trip after we left Bangalore, so I cancelled that. However, even the Tata Photon+ connection didn’t work in our room :( … after much calls and even a visit from a Vodafone personnel, it seemed that nobody gave connectivity towards the beach! How ironic for me when I said “All I need is my laptop and an Internet connection for me to work anywhere”… so we started searching for rooms in the main market area where we could get connectivity.

I literally held my laptop with the Photon+ USB stick attached and checking for signal at each place we checked out, heh! But the quality and location of rooms were pathetic. So I decided that we’ll continue to stay at our perfect room, so what about connectivity? Everyday morning, I drove 3–4 km to the main market area, parked the car, sat in the backseat, and had access to full Internet connectivity signal as long as the laptop battery lasted! Then, I would go back to the room and continue to work mostly offline – I connected my laptop to the WiFi hotspot from my Android phone and used the GPRS connection for the occasional technical searches I ended up doing. That was interesting for sure.

Two things I relearned – having a deadline (the battery is running out!) made me get more stuff done, and having no internet connectivity is good for your productivity (there, I said the P-word, hadn’t written about it in a long time! :-P )

Another aspect of the trip was the major expense – food. Initially, we ended up going to bad restaurants. Then, we resorted to the simplest trick in the travel book – ask the locals! The best restaurants we ended up going was Bed Rock, Infantaria and Jay Jays.

2011-10-08 16.58.31

2011-10-08 17.01.20

2011-10-08 18.09.15

… as well as Cape Town Cafe which had great salads and fantastic live performances (on Tuesdays and Thursdays):

2011-09-27 21.59.18

On days when my brain was tired, we would escape to nearby sights such as Fort Aguada:

2011-10-11 13.06.39

Overall, I surprisingly did get a lot of work done and yet had fun in visiting places, enjoying the night life and the general relaxed atmosphere. We had got so used to it that we had difficulty in motivating ourselves to start our journey again from Goa!

After the three weeks were up, we continued our journey visiting places like Ambaulim Falls where I dunked my head in flowing cold water…

2011-10-15 12.42.41

… and visiting a colourful Kolhapur, and so on.

2011-10-16 12.39.03

2011-10-16 14.20.12

Oh yeah, there was an unintended side-effect of writing about this trip – one fine day, my Dad called me up to tell me that I had received a snail-mail from the police that I jumped a traffic signal near Ulsoor on the very same day that we were on the beaches of Mulki, near Mangalore. I consulted a friend who advised me to email the head of traffic police which I promptly did and also included the blog links which had photos of us driving the very same car. A few days later, the Ulsoor traffic police inspector called me and said “nice pics” and informed me that the traffic violation ticket will be cancelled! (It was heartening to see that the entire process was over email and to note that the Bangalore traffic police is actually using modern ways to connect with citizens).


Update: Also see Traveling, Writing and Programming by the awesome Alex MacCaw.

Leaving Infibeam

Wednesday, June 22nd, 2011

Today is my last day at Infibeam.

I’m going to miss working in this environment because I learned a lot about ecommerce and online buying in India. For example, I was surprised to know how much sales go up during Diwali (in hindsight, not so surprising, of course) and was surprised at the amount of online buying that happens from Tier II cities. Then there was the learning on the huge amount of logistics that happens – the part where the customer visits the website and clicks on the Buy button is just 1% of the total stuff that happens behind-the-scenes.

I am also thankful to Ajay and Infibeam for getting me into the Rails wagon, I’m finally starting to see the light. Learning a new language and framework from scratch to delivering a full ecommerce platform in 4–5 months was a fascinating experience. And soon, anyone can set up their own online store on top of Infibeam’s infrastructure.

Infibeam has done many things right, has many things to improve, and rumors say they may face many challenges in the future. All in all, that’s a good thing. Infibeam launched at the right time and is helping to grow ecommerce in India, and it will continue to do so.

But alas, it’s time for me to move on. I can haz plans.


Listening to Stand Up by The Prodigy

Passionate Programmer book review

Tuesday, May 17th, 2011

Every once in a while I get an email like this:

Sir, I am a beginner to python and programming. I started with the C++ and found it hard so one day via google I found your perfect tutorial “A byte of Python”. I read the whole tutorial in one day because it is so interesting and helpful. Sir, I have created the script to backup files from directory as you mentioned. Please see the script once and tell me if I have chances in programming career. Sir I am final B.tech student and I love programming. But I was rejected by every company during campus placement because of my poor communication skills and due to this my confidence level is very low. Sir I have also created a web based application using PHP, MySQL and Kannel on Debian based server for intra-college communication. Sir, I am regular reader of your blog and I respect what you are doing to help freshers like me. Sir I would like to know if you have any advice for me.

And like this:

I want to thank you about this great book ;-) . I am a 20-years-old student in computer science from Bulgaria and i found this book very interesting and helpful. I’ve been programming in python for half a month. I had little experience in C from the university and I wanted to learn a high level language with simple syntax like Python and then learn C++ and start writing useful programs. I send you a solution of the problem in the end of the book that is just a demo version. Can you give me a hint what i got to improve to make the address book program better and give me the source code of your solution? I really want to become a programmer so any advices especially from a man with your knowledge would be highly appreciated! Thanks.

For a long time, I used to scratch my head for every such email because I really didn’t know what advice I have to offer. I did end up writing How Fresh Graduates Can Grow which a lot of students have liked.

In the past couple of years, I have started replying with just one line - I ask them to read The Passionate Programmer: Creating a Remarkable Career in Software Development by Chad Fowler. I happily recommend this book knowing that if they actually do read and apply the principles in this book, they can’t go wrong.

I had read this book in its first edition when it was called My Job Went to India and I read it again when the renamed second edition came out.

The title of the book is self-explanatory but what makes the book special from other regular career books is that it is geared specifically to the art of software programming as well as explaining networking and many soft concepts/human aspects in a for-geeks “53 recipes” style.

Some of my favorite recipes/lessons are:

4. Be the worst

Legendary jazz guitarist Pat Metheny has a stock piece of advice for young musicians, which is “Always be the worst guy in every band you’re in.” Being the worst guy in the band means always playing with people who are better than you.

Being the worst guy/gal on the team has the same effect as being the worst guy in the band. You find that you’re unexplainably smarter. You even speak and write more intelligently. Your code and designs get more elegant, and you find that you’re able to solve hard problems with increasingly creative solutions.

6. Don’t listen to your parents

I remember talking to a friend about potentially moving out of this company, and he said, “Is it your destiny to work at $bigcompany for the rest of your life?”Hell no it wasn’t!_ So, I quickly found another job and left.

This movement marked the clear beginning of a nonlinear jump in my success in the software industry. I saw new domains, I worked on harder problems, and I was rewarded more heavily than ever before. It was scary at times, but when I decided to be less fear-driven and conservative in my career choice, the shape and tone of my career – my life – changed for the better.

15. Practice, practice, practice

When you practice music, it shouldn’t sound good. If you always sound good during practice sessions, it means you’re not stretching your limits. That’s what practice is for. The same is true in sports. Athletes push themselves to the limit during workouts so they can expand those limits for real performances. They let the ugliness happen behind closed doors – not when they’re actually working.

Our industry tends to practice on the job. Can you imagine a professional musician getting onstage and replicating the gibberish from my university’s practice rooms? It wouldn’t be tolerated. Musicians are paid to perform in public – not to practice. As an industry, we need to make time for practice.

Practicing may include learning more about your programming environment (APIs, libraries, methodologies, etc.), sight reading (reading new pieces of open source code to improve your ability to read and understand code), improvisation (introduce new constraints in small projects to improve your thinking abilities) and so on. [paraphrased]

32. Say it, Do it, Show it

You should start communicating your plans to your management. The best time to start communicating the plans is after you have executed at least one cycle of the plan. And – this is an important point – start doing it before they ask you to do it. No manager in his or her right mind would be unhappy to receive a succinct weekly e-mail from an employee stating what was accomplished in the past week and what they plan to do in the next. Receiving this kind of regular message unsolicited is a manager’s dream.

Start by communicating week by week. When you’ve gotten comfortable with this process, start working in your thirty, sixty, and ninety-day plans. On the longer views, stick to high-level, impactful progress you plan to make on projects or systems you maintain. Always state these long-term plans as proposals to your manager, and ask for feedback.

The most critical factor to keep in mind with everything that goes onto a plan is that it should always be accounted for later. Every item must be either visibly completed, delayed, removed, or replaced. No items should go unaccounted for. If items show up on a plan and are never mentioned again, people will stop trusting your plans, and the plans and you will counteract the effectiveness of planning. Even if the outcome is bad, you should communicate it as such. We all make mistakes. The way to differentiate yourself is to address your mistakes or inabilities publicly and ask for help resolving them. Consistently tracing tasks on a plan will create the deserved impression that no important work is getting lost in the mix.

43. Making the Hang

Speaking for myself (and extrapolating from there), the most serious barrier between us mortals and the people we admire is our own fear. Associating with smart, well-connected people who can teach you things or help you find work is possibly the best way to improve yourself, but a lot of us are afraid to try. Being part of a tight-knit professional community is how musicians, artists, and other craftspeople have stayed strong and evolved their respective artforms for years. The gurus are the supernodes in the social and professional network. All it takes to make the connection is a little less humility.

Of course, you don’t want to just randomly start babbling at these people. You’ll obviously want to seek out the ones with which you have something in common. Perhaps you read an article that someone wrote that was influential. You could show them work you’ve done as a result and get their input. Or, maybe you’ve created a software interface to a system that someone created. That’s a great and legitimate way to make the connection with someone.

44. Already Obsolete

You have to start by realizing that even if you’re on the bleeding edge of today’s wave, you’re already probably behind on the next one. Timing being everything, start thinking ahead with your study. What will be possible in two years that isn’t possible now? What if disk space were so cheap it was practically free? What if processors were two times faster? What would we not have to worry about optimizing for? How might these advances change what’s going to hit?

Yes, it’s a bit of a gamble. But, it’s a game that you will definitely lose if you don’t play. The worst case is that you’ve learned something enriching that isn’t directly applicable to your job in two years. So, you’re still better off looking ahead and taking a gamble like this. The best case is that you remain ahead of the curve and can continue to be an expert in leading-edge technologies.

Looking ahead and being explicit about your skill development can mean the difference between being blind or visionary.

P.S. This lesson was the reason why I started admiring DHH even more after seeing he is not afraid to include CoffeeScript and SCSS in Rails 3.1

51. Avoid Waterfall Career Planning

The important thing to realize is that change is not only possible in your career but necessary. As a software developer, you would never want to pour yourself into developing something your client doesn’t want. Agile methodologies help prevent you from doing so. The same is true of your career. Set big goals, but make constant corrections along the way. Learn from the experience, and change the goals as you go. Ultimately, a happy customer is what we all want (especially when, as we plan our careers, we are our own customers) – not a completed requirement.

I probably put more excerpts from the book here than I should, but I wanted to drive home the point on some of the non-obvious-but-critical points that the book raises that every software developer should ponder about.

Go buy the book / ebook now!



Update: Also see Top 5 Developer Skills That Will Get You Hired or Promoted

Joining InfiBeam

Friday, January 15th, 2010
Update: As of 22 June, 2011, I’m no longer with Infibeam.

Thanking the community

First and foremost, thanks to all who encouraged me, and offered support and help when I wrote about leaving my own company. Many people, without any personal benefit in mind, connected me to very interesting opportunities. And this is exactly how I got my next gig.[1]

What was specifically amazing to me was that folks were connecting me to opportunities that I would not have heard of otherwise, and enthusiastically vouching for me. Now that was really humbling. Within two weeks of my blog post, I had a job! And I didn’t even have to look for it, so thank you guys. As Seth Godin put it, who needs a resume indeed!

InfiBeam

So where am I joining? InfiBeam – which I can best describe as “Amazon of India.”[2]

infibeam 001

So why am I excited about InfiBeam?

In my previous startup, I experienced the phase of starting from scratch till creating a product. Unfortunately, I did not get to see the second part, the business side of things, including the hard part of selling, the act of knowing the customer, the logistics and operations, etc. I was still yearning for that.

At the same time, getting to see this second phase a few years later would not have made sense because I would’ve lost the enthusiasm and momentum that I have at this point in time. So, in that sense, I’m really excited about InfiBeam because I’ll get to be part of this second phase.

Second, I was specifically looking for companies in “core” areas, in the sense, someone who makes consumer products and services in India for India, and specifically, either ecommerce or mobile. And, voila, the universe conspired.

Third, I was being cautious and really looking to understand the people in the company and not only what the company makes. After all, it’s only the people aspect which makes or breaks your experience and enthusiasm. And I spent quite a bit of time interacting with the people I would potentially work with, and I came out of the discussions very happy.

Fourth, what I especially liked most about the company was their customer focus as well as the focus of building the right culture inside the company. It’s very hard for startups to focus on these soft aspects, because it easily gets sidelined compared to the hectic everyday.

InfiBeam Customer Service InfiBeam Core Values (list)

There were quite a few opportunities that I explored, but I intuitively felt that InfiBeam was the place to be. And I went ahead with that gut instinct.

Both Business and Tech

And, as an example of a great fit for me, my job description says that I have to take up any product or strategy and deliver it end-to-end from the business model to the technical implementation.

I had thoughts of shifting back to pure coding at first, but then decided a business focus is indeed a good thing, and something I wish I had taken seriously right at the start of my career (better late than never!). For example, quoting from a recent Deccan Herald article: > It cites Nasscom study which states that India faces IT talent shortfall of between 8,00,000 and 1.2 million workers by 2012. It observes that, though many producers continue to work with universities, government and other firms to improve the quality of technology education, and Asian countries continue to produce large numbers of IT employees, they, however, lag in comparison with North America and Europe in providing well-rounded technology education. Among Asian economies, the concern is that education systems puts too much focus on pure IT skills and not enough on IT in the business context. Likewise, top schools in the US and Europe, which do better in this area, face long-term challenges in cultivating science and technical engineering skills of its younger students. Thus, globally, the study posits that investment in skills development remains long-term imperative.

If it feels scary…

I am positive about this gig because I will be forced to become good at what I do because of the quality of people I work with, and knowing that you’re in a good environment when you consider yourself the dumbest guy in the room.

In such situations, I keep quoting Jeff Atwood:

If it feels scary, it’s the right choice.

Wish me luck!

[1] Specifically, a shout of thanks to Nimish Adani of Workosaur.

[2] Yes, this was a way of skipping the topic that, yes, InfiBeam’s current web design looks similar to that of Amazon.com design. Yes, I don’t like it too. It is a distraction which prevents potential users to proceed to the next step of appreciating the amazing services provided by InfiBeam.

Update on Jan 31, 2010: InfiBeam has launched the first Indian ebook store and the first Indian ebook reader.

The 5-year limit to being a coder in India?

Wednesday, December 9th, 2009

Let me start with a story I had heard about long ago when I was at Adobe.

There was this guy who had come in for interviews for a technical role. He passed all the tech interviews with flying colors, the team liked his personality and felt he would fit in well, and the manager was all smiles. In the last HR-style round with the group head, he was informed that the team works on products that are completely owned by the Bangalore-based group and that there won’t be any travel to USA. The guy was taken aback. He told the group head “Sir, please let me go to USA for just one day. If I have a USA stamp in my passport, I will get one crore dowry.”

Needless to say, the guy was not offered a job.

I’m sure you can draw your own lessons and observations from this incident, because it will come into context below, about a discussion we’ve been having on Twitter. It all started with @debabrata who read my previous blog post on the magic of foss.in and asked:

why this ’5 years limit’ applies to Indian software pro ? In other countries people are happy being programmer after 20 years .

I asked the tweeps for their opinions, and it got very interesting.

@cruisemaniac said: society defined age to get married and settle down = ~27 = 22+5 failing which u’re an outcast! and: also, post that age, ur risk apetite goes down due to family and other commitments…

to which:

@HJ91 said: True. Very true. Outcast is the right word, and its sad. Outcast. Insulting, hurting and pathetic.

Wow, this feeling runs deep.

so I asked:

You mean risk appetite or time commitment? … how does risk appetite relate to interest in coding?

And the replies came pouring in:

@mixdev: One of the reasons why brilliant people end up being (just) tell-me-whatto-do-n-leave-me-alone software engineers

@cruisemaniac: I’d say both… U cant risk a new tech and venture 4 fear of financial security… U want tat cozy safe zone and pay packet.

@cruisemaniac: time is a big costly commodity 4 us… we indians cant afford to spend it at our will with spouses and children at home…

@mallipeddi: It’s very hard to keep getting bigger paychecks yr after yr if you’re a 30 yr old coder. You’re expected to become a mgr/MBA

@abhinav: I believe the reason is our society. We tie success to degrees, and later, more ppl you manage more successful you are.

@abhinav: Where in western societies your idea fails, here it is you who have failed! Our society doesnt appreciate risk takers

@abhinav: Yes, more money, higher status, easy life. And most importantly, more dowry!

@mixdev: Because our goals are set by the society & achieving them also in their control. You get bored faster.

@debabrata: I guess to the great extent our society dictates us what we want to be unlike the west

I found it surprising that the situation why people cannot remain coders in India is almost the same as why people want to become entrepreneurs! It’s like this: The passion for coding will remain only when you’re doing cool and interesting stuff. But big companies (at least in India) want only stability which implies boring tedious jobs with standard languages and libraries. There is no room for experimentation. So the coder will have to move to a smaller company or a startup if he/she wants to continue to like coding (I’m ignoring the case of research laboratories for obvious reasons of numbers).

But moving to a smaller company or startup is, by definition, not encouraged. As @abhinav mentioned, there is societal pressure for more money, higher status, fancier cars and bigger houses. There is nothing wrong with wanting this, but don’t force it on other people! Alas, it is hard to reason regarding this. I remember having a long argument with an uncle of mine, he was, hmm, “strongly” suggesting that I buy a car and I reasoned out why it makes no sense (after all, most peers of mine use the car only for weekend drives, not for everyday commute) but it fell on deaf ears.

So I’m conflicted here: Are there not enough people who are actually interested in coding, or is it that the interested people are being peer-pressurized into “moving up” into managerial roles and hence lose touch with coding? Or are we completely off the mark here?


Update 1: As suggested by Peter, read this entry tited “Stuck in Code” by Ravi Mohan for his tale on this topic.

Update 2: A related article in NYTimes recently titled “In India, Anxiety Over the Slow Pace of Innovation”


The difference between fun and work

Monday, April 27th, 2009

Reading a book is fun. If you have to do a review on the book for the newspaper by Friday, it becomes work.

Writing code is fun. If you have a deadline next week, it becomes work.

Spending time with that special someone is fun. After tying the knot and having no other choice makes it work (or so I’m told).

Calculating sports match statistics is fun. Spending the same amount of time to balance your checkbooks is work.

Is commitment the difference between fun and work?



P.S. Yeah, I had a Godin moment.


Update : After reading all the interesting thoughts by you folks in the comments section, maybe spontaneity is one of the major differentiatiors?

One year since I had a salary

Thursday, April 9th, 2009

It has been exactly one year since I quit my last job.

The good

Things that I thought was important but didn’t turn out to be:

It has been one year since:

  • I had to do something because I had no choice.
  • I had a boss.
  • I had to attend meetings.
  • Since I have been answerable to someone.

Things that turned out to be important:

Discovering things about myself that had been previously masked. For example, discipline is about doing things even when there is no one watching you. I realized how bad I was at this, and a year later, I’ve significantly improved.

Equally important, I’ve discovered many of my strengths. And learning how to build on those.

For example, I ended up jumping in full-time into our own startup – we have three guys in our little company, and I’m learning how to leverage each of our strengths as a team. Why is this different from previous experiences? Because I was told to do things. Here, we are the ones deciding what to do and the guys actually doing it. In all this decision making, I realized what areas I have a good nose for, and which ones I don’t.

The bad

One year flew by and I don’t even know how. Definitely not a good thing.

I’m simply not satisfied with the results.

Back to the drawing board…

The ugly

It has been one year without a salary.

Thoughts

Like a wise man once said “Only when you’re truly lost do you begin to find yourself.”

This is exactly what happened to me. When I quit, I had all sorts of visions that my freedom would be exciting and I can do anything I want. In fact, the first month was exactly that and I had lot of fun. The second month was disastrous, it is amazing how depressing one can get if there is nothing to do. An idle man is a DevD’s workshop.

I started thinking about what it is that I want out of life and what it is that I can do. Even though I still don’t have an answer, I have a far better understanding of what the answer would be like, than I previously did.

I have many things to look forward to, especially some exciting things coming up with our company. Lots of things to learn. And most importantly, focusing on lots of things to do.

Still a long way to go.

Refocus on the Basics

Wednesday, January 14th, 2009

Most of what I learned about programming was during my first year at Yahoo!. I wrote so much Perl code and dove into naive attempts at distributed computing, and the like.

I was pretty proud of my code and that I put in hard work, and was vindicated when I went back to meet old friends at Yahoo! and one of the new recruits actually praised my Perl code (because he was now maintaining it). I was taken aback. Why? That was probably the only time in my life I was proud of the code I wrote and someone actually commended on it.

But I’ve stagnated in the past three years and have not been adding to my knowledge even though I’ve been working, meeting deadlines and earning my bread. On the surface, I’m adding skills to my resumé but inside I know I should be learning more.

My theme for the next 8 months is to focus on getting back to the basics, to relearn the fundamentals and get back the joy of programming.

Ever since I’ve been working for myself, I’ve been very happy to take technical decisions and seeing it right through to the code. I get a kick out of it. I need more of that.

I’m hoping to read more books like Ship It! and The Pragmatic Programmer vs. spending time on blogs.

I’m hoping to spend more of those-moments-when-you-need-distractions at Stack Overflow and technical mailing lists vs. reading opinion / “news” sites.

Of course, it’s not just about more information but rather about getting into the flow, getting into the mood.

I will try to be at the bottom of things rather than on top of things, although its hard to let go of the addiction of trying to be “inbox zero.”

In the big picture, there’s no reason to have this goal. I can just keep on going as-is. But my life is so empty without having something to work on. That’s the thing about goals.

Let’s see how far it goes.

Do you find it useful to have a time-bound dominant theme for personal development? Have you thought about what will you learn this year?

Of course, ideas are cheap, execution is everything. So I’m getting back to coding right now.

How Fresh Graduates Can Grow

Saturday, December 13th, 2008

As a small experiment, I had put up a skribit sidebar where anybody can suggest what I can write about. Little did I know that it would actually be used seriously. Someone posted the topic “On how fresh graduates can learn independently and grow. Instead of waiting for the Company to help” and today, there are 9 votes on it!

To be honest, I think I am not qualified enough to answer this question. I am certainly no role model. But since 9 people have voted on it, I feel obliged to write something useful. I have jotted down some thoughts on what ideas and habits have helped me, it may not necessarily be useful for everyone. I hope these fresh graduates who voted will pick the best ideas and habits suited for them.

Character and Lifestyle

Instead of focusing on building a career, why not focus on building a character? The career will take care of itself.

  • “Sow an act… reap a habit; Sow a habit… reap a character; Sow a character… reap a destiny.” – George Dana Boardman
  • As Cal Newport would say, “Fix the lifestyle you want. Then work backwards from there.” … Too often, we confuse the medium (lawyer, doctor, engineer, etc.) with the message (what is important to us, what we want to do). So it’s far more important to figure out what you want out of life, then figure out how to achieve that rather than the other way around. And only you can figure this out for yourself.
  • I would recommend reading First Things First by Stephen Covey to help you understand your priorities in life.
  • Most important of all, find your inner peace. Remember that “Satisfaction is within.”

Career Building

Basically, you need to take initiative in what you want to achieve, no one can tell you what you have to do, life is not that simple. I’m glad the original question poser said that he/she wanted to grow “Instead of waiting for the Company to help”, you’ve got that part right already.

I recommend reading:

Get Results

Ultimately, you need to take action and get results. It’s not enough to just plan and hope. As Morpheus would say, “There is a difference between knowing the path and walking the path.”

Read

My personal slogan is “I read. Therefore I do. Therefore I am.” If I compare myself to my school days and today, there has been a major transformation in character and outlook, and I attribute that purely to reading.

A great part of my learning also comes from writing, hence the blog, wiki, books, and twitter. It might seem like a waste of time, but I learn more by communicating. But that’s just me.

If you don’t know where to start, I would suggest The Personal MBA Reading List.

Friends

Make valuable friends. This is the most important tip I can ever give you.

Equally important, make the right kind of friends. Yes, it’s tough to let go of friends who you intuitively know are not the right influence on you, but speaking from experience, it is worth it in the long run.

As a wise man once said, “Tell me who your friends are, and I will tell you who you are.”

Learn Your Trade

For example, if we are talking about a software engineer:

  • Debugging is the most important skill, not coding. I wish I had known this when I was in college.
  • Reading is a great habit that has a side-effect that you will also have the ability to read a lot of code and build up the structure inside your head about how the code works, just like you have to imagine what is written in a book or novel.

I also recommend reading:

If you are looking for more in-depth knowledge, I would recommend taking a look at this Stack Overflow discussion.

Make A Difference

Consider this excerpt from a Business Week article:

One vocal camp even maintains that the repetitive nature of writing software code has corrupted Bangalore’s intellectual spirit. “These 20-year-olds are like coolies, doing the same job over and over,” says CNR Rao, a Bangalorean scientist who has been an adviser to the Indian government for decades. The software industry, he says, has turned the city into a glorified sweatshop. “Where is the innovation?” he asks. “How does this contribute to anything but greed and commerce?”

The joy of programming is the joy of building and creating something. Wouldn’t it be amazing if we can build and create something useful for other people? If yes, why aren’t we doing more of that? After all, there is no dearth of things that we can create.

Closing Statement

Hopefully, I have given some food for thought here.

If this article was useful, please feel free to post suggestions on what I can write about on my skribit page.


Update on 29-Oct-2011: Also read this great article by Patrick McKenzie (a.k.a. patio11) called “Don’t Call Yourself A Programmer, And Other Career Advice”

Thought for the Day

Wednesday, November 12th, 2008

Look at the design of a lot of consumer products—they’re really complicated surfaces. We tried make something much more holistic and simple. When you first start off trying to solve a problem, the first solutions you come up with are very complex, and most people stop there. But if you keep going, and live with the problem and peel more layers of the onion off, you can often times arrive at some very elegant and simple solutions. Most people just don’t put in the time or energy to get there. We believe that customers are smart, and want objects which are well thought through.

– Steve Jobs on the design lesson of the iPod in Newsweek, 2006-10-14