Snowpal turns 9!

This month marks the ninth year anniversary of our little company. We incorporated it with big dreams, and 9 years later, I can say three things with certainty – (1) Our dreams have only gotten bigger, (2) Even the tiniest of dreams take a lot of time, energy and effort, and (3) Life is wonderful (not to mention, challenging) when it is filled with dreams (and perhaps, more so with unfulfilled ones!).

I wanted to write a little about how the journey has been, and what’s ahead of us. If you have owned successful startups, you are not going to learn much here. But if you are like me (hopefully you are much better than me, though!) or are getting started in your journey towards building a successful company, you may benefit from some of my thoughts here, mainly because I am still on that journey and don’t yet have all the answers. Personally, I have learned a whole lot more from yet-to-have-made-it stories than actual success stories because I think folks tend to forget the difficulties once they have actually made it. So, they don’t end up sharing all the mistakes they may have made along the way.

When I started my company, my only aim was to build software products – day in and day out. Between my better half and I, and our daily walks, we discuss plentiful ideas and some of them actually do make a lot of sense. One of those ideas soon enough became work that we concretely planned and started executing on. But before that could happen, and while it was happening, I realized I had never taken off from work that I got paid for, and dealing with the reality of – I am not making any money, even if voluntarily so – wasn’t as easy as I had imagined. To be candid, it was extremely hard and that has been the most difficult part of the journey so far. So, I picked up consulting projects and while I immensely enjoy doing it, it also meant that our own product ideas had to take a back seat. That was the first challenge on day 1, and it is the biggest challenge in year 9.

Over the course of the last 9 years, I’ve led numerous projects from initiation to production, and have helped a number of my clients realize their dreams. It has been immensely satisfying, especially when I tell myself not to feel jealous about it! At a certain point of time, my wife actually told me to treat her like a client so I would meet her deadlines (they aren’t easy ones, not one bit). This year, we’ve gotten as close as we ever have to realize the first of our goals. While there is still a long way to go (I am about 65 APIs in, and have another 200+ to go), I can see the light at the end of the tunnel.

Like everyone else, we’ve had our fair share of challenges but not being able to do our product development work full time has been at the top of that list. There are a number of others as well. Being bootstrap funded, you don’t have a whole lot of money to play with, and the cost of running servers (even tiny ones), purchasing licenses for development tools (Insomnia, Trello, Slack, Jira, Mindmup, Weebly, Infogram, EC2, Heroku, RubyMine, IntelliJ, MongoBooster, Insomnia, +…), paying resources, etc., etc. is nothing short of overwhelming, to say the least. Last but not the least, credibility certainly doesn’t come cheap. For someone like I who lives life by the books, I haven’t always had the pleasure of finding help that shared the same ideologies. Add poor internet connectivity, not so perfect phone lines, and accents sometimes stronger than mine to this mix, you probably get the idea.

While it would have been nice, like real nice, to have not had any of these challenges, and cruised to our destination, I would have to accept that the satisfaction may not be the same after all. When we do reach our destination this year, and launch our first product (fingers crossed), and even before a single user signs up, we will celebrate. Oh yeah. We certainly will! While being successful will be measured in terms of the number of sign ups, there is an intangible aspect of this accomplishment that only my wife and I will understand. We’ve both given it all so far, and will continue to do so till we go LIVE! And once we do, we will celebrate, take a trip, come back and start our next journey. The next product.

Thanks to all my clients who have hired me, taught me and challenged me with exciting work. Without you, we wouldn’t be able to march consistently towards our dreams. I am ever indebted to each and every one of you.

Advertisements

Consistency makes all the difference

Imagine a work area that is not a whole lot more than 25 sq. ft. (give or take). That’s all the space that is available to you to set up your shop, for you to stand and to serve. And serve a steady line of hungry customers. You carry all the ingredients in make shift containers, and none of them are exactly light. You don’t really have any help. There are no more than 5 dishes on the menu (so it is very repetitive) and each of them needs to be hand prepared at real time. You have to do it for about 4-5 hours a day. About 3-4 days a week, at the least. And for about 2 decades. And you have to do all this with a constant smile. If this doesn’t sound daunting to you, it is only because I perhaps did a poor job capturing what I saw in words.

What I have attempted to describe above is an eating place run by a single lady inside an Indian Grocery Store in Virginia. She makes a few different Indian snacks and we’ve been frequenting that place for over 15 years now. The price has changed over the years, her clientele has, the menu has undergone a few modifications, and she has moved her business to a number of stores (from one grocery store to another, that is) over the years but what hasn’t changed one bit is her relentless commitment and consistency. Rain or shine, you can be rest assured that you will find her on those days, and at those times. I mention this specifically because this establishment isn’t a traditional restaurant and I have seen one too many of her competitors show up for a week or two, or a month or two, and then, disappear.

While I can’t say for sure, I am reasonably certain that she didn’t do an MBA, go to one of the better schools or do as many management courses as I probably did in college. Yet, she understands business and entrepreneurship wonderfully well, and a whole lot better than a lot of people. Certainly better than someone like I who did numerous courses and projects way back in college but didn’t necessarily absorb the essence of entrepreneurship which I think is consistency. I understand that much better now, thanks to inspirers like this lady and gadgets like Fitbit that reset to zero at midnight only to subtly remind you that all the good you had done that day was no good anymore, and you had to start all over again.

Personally, I think the example above should serve as a great parallel for Software Development. For anything in life really, but given that I earn my bread and butter in the field of Software Engineering, I tend to relate most things to that. The work I am currently doing requires me to implement close to 300 APIs, and they aren’t the simplest of APIs or repetitive ones either. So, I couldn’t implement one and mimic it in other places because (and rather, unsurprisingly) there are certain nuances that have to be dealt with on a case by case basis. Despite the fact that I’ve done this sort of a thing for years, it still was overwhelming. But I have enough gray hairs to know that it is futile to over plan and think too far ahead so I just took one API at a time and started implementing it. A month into it, while I still have a long way to go, I think I’ve made some inroads and I feel a whole lot better about the grasp I have even on the ones that I haven’t started working on.

Missing a target of 10K steps daily on just one day, and trying to make up for it the very next day means you have to do 20K steps. That’s not easy. Try missing it on 2 days, and making a plan to walk a 30K steps on day 3. It is daunting. Miss one more, and yes, you are now getting into territory where those steps are most likely lost forever. While I always knew consistency was key, Fitbit just propelled that realization much further. That’s probably the best $130 I have ever spent.

Don’t miss your daily targets. Don’t tell yourself you can easily make up for lost steps, or APIs. Whatever (good) it is that you do, do it consistently. Never miss your daily targets. And success will be yours. One day.

Castles, Cricket & a peaceful 10 days!

Screen Shot 2017-04-04 at 5.19.31 PM.png
Serenity!

We took a bit of time off last summer and went to UK. My wife and I love cricket and castles and UK has a lot of both of those! So, every time we get an opportunity to go somewhere, we always think of going to England. For those of you who don’t know a whole lot about cricket, it should suffice to know that it is perhaps one of the most relaxing sport there is and the fact that a version of it is played over 5 days with tea, lunch and drinks breaks during the course of each of those days perhaps play a small role in making it that peaceful 🙂

I’ve always loved cricket and despite living half my life in the United States, I am yet to develop an interest in watching any other sport and I blame it on my deep rooted love for cricket. We went ground hopping from Lords to Leeds to Edgbaston, all the way up to the Scottish Cricket Club in Edinburgh. The longer form of the game is broken down into 3 sessions per day with each of them running for about 2 hours. We would walk into the grounds and catch a couple of sessions. Given that a number of these games were county games, there weren’t a lot of people in the stadiums so that added to the peace factor as well. And if memory serves right, we were perhaps the only 3 in some of the cricket grounds other than the players! That meant we would actually end up meeting the Scottish Cricket Captain who would almost actually walk up to us to introduce himself. Can you believe it?! He was not only a real nice guy but a very good batsman as well.

When we weren’t watching cricket, we were doing one of 2 things. Eating, it was very easy to find vegetarian food in UK, or visiting one of the many castles. Given that we immensely enjoy walking, a castle is one of the perfect spots to be at. They provide plenty of room for walking or climbing. And despite their histories that most likely has a lot of violence attached to it, they are absolutely peaceful to visit today. We found peace in the cricket ground, more peace walking the streets of Scotland and even more peace touring the castles.

I fell in love with Scotland so much that I started googling “Ruby, JavaScript, Java openings”. And I started imagining what writing code would be like sitting in front of, say, the Inveraray Castle. I’ve read that artists, musicians & authors travel to exotic locations to help inspire them. Agreed, I’ve no such talents but I can’t see why it might hurt to actually try and do whatever it is that you do best while enjoying the serenity of that exotic location. Well, I’ve made up my mind that one day I want to surely give that a try. Let’s see if I can produce better quality code and architecture if I have the blessing to be able to build a new ReactJS app somewhere near the Swiss Alps or in a cricket ground in UK or Australia!

In any case, we did the cricket and castle hopping, day in and day out, for 10 days and then, it was time. Time to return to reality and get back to the demands of life in general. While a vacation doesn’t last forever, and we all wish it did, it still begs the question if we are doing enough to try and make our day to day lives vacation enough so we don’t actually have to eagerly look forward to those meager 2 or 3 weeks every year. It is a given that some of us are blessed a bit more than a few others, and a whole lot more than some others. And while it is entirely true that someone else would happily trade your life for theirs as your life stands right now at this very moment, it is also possibly true that you are possibly spending your life chasing something else or catching up with someone else who you look up to. A vacation is meant to give us a break from all of that, and sometimes, it truly does.

Mother’s day. Thanks to my mom.

We all love our moms for numerous reasons. For different reasons. And for more than one reason. Not everyone documents it and I haven’t either. At least, all these years. This year is a little different and I wish the rest of the years are consistent with this one.

It’s been several years since I lived in the home I grew up in. That was more or less half my life ago. For the majority of the last couple of decades, my mom has primarily been a phone pal. I try to call her almost everyday and the days I don’t, she calls. For that matter, she calls even on the days I call her. And for that matter, I call her more than once even on the days that she calls. Or I call. You get the picture by now, don’t you?

What do we discuss? World Politics? No. Macroeconomics? No. Microeconomics? No. STEM? No. Anything remotely worthwhile? Absolutely not! And that’s exactly what I enjoy about the conversations which, more often than not, turns into a debate. While both my mom and enjoy debating, I am afraid she isn’t nearly as good as I am 🙂 And even if you consider that I am mediocre, believe me when I say that she is worse than I. She conveniently switches topics when she is close to being on the losing side! However, I enjoy those meaningless debates. All the time.

We all cherish some things a whole lot more than others and needless to mention, the things that are worth cherishing cannot be bought. Because, they aren’t sold. Because, money cannot simply buy them. Because, money can only buy meaningless, materialistic things. When I think of my mom, I think of many things – some more so than others.

I went to college about 1500 miles from home, not to mention almost 2 decades ago and in a remote part of India that didn’t have too much access. At least, not the comfortable one. You had to take a train and sit in it for almost 2 days and then, hop into a bus for about 2 hours that took you to a ridiculously old and poorly maintained station where we boarded another one. That took about 6 hours and then, you had to take a bus again for about an hour. Something along these lines. If you are like me who hates any and all kinds of travel, let alone the most uncomfortable ones, you will see what this really means. The fact that hundreds of other fellow classmates took the same train didn’t make it any more exciting for me. You couldn’t book train tickets online then and you had to rush to a building in the wee hours of the morning to ensure you had a reservation particularly if you wanted to be in an air-conditioned car as there were only a handful of seats in those cars (compared to the other cars that didn’t do anything to keep you cool and guard you from the unbearable heat). My mom went there in the wee hours, stood in the long lines patiently and ensured I got a confirmed ticket – every single time for 5 years. Not because it was reasonable for her son to expect that. Not because any other parent did that (most of them didn’t). Not because it was justifiable by any stretch of the imagination. But simply because – her son wanted it and wouldn’t have been happy otherwise.

As an immigrant, I miss many things but I dearly miss the Indian festivals and the festivities that go along with it. I can’t remember the last time I was back home for a Deepavali or a Pongal. My mom plays a significant role here as well. She has been sending me video clips (well before the age of smart phones and iPads), audio clips and goodies to keep me well connected with what’s going on and more importantly, ensuring that I didn’t miss the general feeling. While there is never going to be a fair replacement to actually being there physically during those celebrations, I have to admit that my mom does her very best to keep me engaged.

Of all the important and significant years in my life, there is none other than the year 2000. This is when my son was born. If only I had any idea about the happiness associated with being a parent, I would’ve had a child when I was 10! And if the almighty gave me a chance to go back and have a child of my choosing, I would choose my son over anyone else. Every single time. Now, you may ask what my mom has to do with this part of the post. She surely does. Being a mom, she quickly realized what had become more important to me and by a distance. So, she tried to learn more about my son and more about what I liked to do for my son and the rest, you can probably infer. And I don’t have to state how hard it is to do all of this remotely despite what Apple’s consistent offerings bring to the table.

It is easy to be nice to someone if you think they can come of some use to you at some point of time. We all run into such people all the time. But, luckily, the world has a number of people who are willing to go the extra mile to help you even when they know they don’t quite stand to gain anything from their actions. And I think that’s what makes the world a beautiful place. And that’s what makes life a blessing. If I have any more births, I know who I exactly want for my mom. If I can be half as good a parent as my mom, I would have done well.

As a finishing sentence, I will say that I’ve come to know another mom who I’ve been blessed to know as well. In the interest of not sharing the laurels, I’ll save that discussion for another day.

Snowpal is 6 years old!

 

AAEAAQAAAAAAAAVWAAAAJDQ3ZjkzOWUyLWI4NWQtNDZjMy05MWY0LWZjMWNhMGYyODZjMg

Today marks the 6th year since I incorporated my small company. Thanks to all of you for your wishes and for reminding me of this small, yet an important, milestone for numerous reasons.

I started working for myself in 2010 (about a decade and a half behind schedule but a start nevertheless) in the pursuit of a more important and lifelong dream. While I am still a long ways from it even now, I believe I have actually made some progress in the last year or so and for that, I am happy.

My company and I, and sometimes they mean the exact same thing if you know what I mean!, have been working on building a software product for a little while now and while it certainly doesn’t intend to or is capable of solving world hunger, it still has taken its own sweet time for  a variety of reasons, not the least of it being my inefficiency to manage it better. I shamelessly admit it. I’ve failed many a times over these years and it hasn’t been for the one reason that I actually thought might make it more challenging – the technical aspects. It has been just about everything else.

In any case, every failure created a learning opportunity and if you are a coder, you might agree with me that we tend to learn more from bugs and exceptions and errors than from features that magically end up working in the very first attempt or iteration. Several technology stacks and numerous feature changes later, I have a feeling I am now in the right direction at least to the extent I am able to foresee.

As I think about celebrating my company’s 6th anniversary and the little bit it has been able to accomplish over the years, I also ponder over the fact that this year marks the 2nd decade of my stay in the United States of America. I’ve now lived here half my life and only really know how to live here at this point. It has been a remarkable journey despite the fact that I’ve only achieved about 20% of my goals and have a significant portion of it to go still! Regardless, I would like to thank all my clients (previous, current and future ones), and the recruiters who helped me find them, for keeping me employed over these years and thereby, helping me keep my dreams afloat. You make all the difference to my dreams & my pursuit of them.

While my heart desires that I quit everything else I am doing right now to focus all my energies solely on building my product, I realize I still have to wait a bit longer. However, I am closer than ever to taking the plunge and that very thought gives me goose pimples. Till that happens though, I will continue to rely on my clients to help me and my company stay afloat. I promise I’ll do the very best I can, as always, and will give you no less than the best bang for your buck.

— krish @ http://www.snowpal.software

Do you find interviewing exhausting or is it just me?

I have been coding for several years now. I spent a lot of time in college before I started my first job or wrote my first line of code that made its way into production and while you may ask, “why is this any different from anything anyone else would have ever done?”, I specifically make a mention of this because I have repeatedly asked myself if I actually should have spent that much time in college before I entered the workforce. Well, hindsight is always 20/20, isn’t it? Not only that, it was almost a given at about the time I migrated to the land of milk and honey that you had to really study yet again before you started chasing the first of many of your dreams.

So, I went to college again and spent the last 3 of my almost 8 long years in college. I studied a lot and learnt a little bit over those years but it had little, if anything, to do with software. I didn’t think I would end up in software engineering. Neither did any of my friends. I had lot of other loves. Entrepreneurship was at the very top of that list. I didn’t know how to become one (and I am still trying to find out) but I wanted to be one. Other than that, I enjoyed Marketing thoroughly. So, I thought I would do something in the field of marketing. I thought I might be a lawyer except that I didn’t go to law school or didn’t even know where the nearest one was. Well, hopefully that gives you a picture of how very clear and focused I was a teenager and as a young adult.

8 long years and 3 Master’s degrees after, I finally got a sense for what I might really have to do to pay my bills. As much as I want to credit it to what I may have learnt at school, I would be lying if I did that. A friend of mine suggested that I should perhaps attend some programming classes if I intended to find a job. A job. Hmm.. Why hadn’t I ever thought of that or something like that? Clearly, everyone needed a job and I sure would need one too. Knock, knock. Welcome to reality! That was perhaps the most useful first learning for meThat happened not in 12 years of schooling or 8 years of college but in a parking lot while the two of us were waiting for a friend to join us.

And so, I decided in enroll in a couple of classes. I had written code before in college but it was because I had to enroll in those classes and they weren’t really voluntary and hence, any lesson that may have come out of it was soon gone and memory didn’t serve any of it. I remember when I walked into the Computer Science building much to the surprise of a lot of folks who went to school there who simply didn’t expect me to show up there. How can I forget the trust they might have had in my abilities? It was so much that they didn’t pick me in their project teams despite the fact that I didn’t know anyone else in the class! Not once, not twice but repeatedly. That was my second learning. Welcome to reality, one more time! Given that I had paid for the class, I had to be part of some team even if was the default last time where a bunch of us were bucketed into. That was good. At least, much better.

If I remember correctly and if my memory serves me right, it was a Distributed Object Computing course. Or, was it Object Oriented Programming in C++? Well, it was one of those, I think. All that mattered was that it gave me an avenue to write my first line of real code and I say real (for lack of a better word but also) because it was the first time I wrote code expecting it to land me a job at some point. So, I was pretty darn serious about it. I didn’t know what to expect but I enjoyed it thoroughly. It was at that moment that I realized what I wanted to do in the near future or probably for a long, long time. It wasn’t because I had to do it to find a job (though it certainly and unquestionably started out that way) but it was mainly because I enjoyed it. That was my third learning.

I attended many more programming related classes after the first one and wrote a lot of code in the next 12 months or so. I started looking for a job and thanks to some really nice people who didn’t mind hiring a fresher who knew a whole lot lesser than them & a company that didn’t mind all the paperwork needed to be processed shortly, I did find a job. I still remember my first line of code in the real world. I was worried and anxious but a developer who was as friendly as one could expect walked me through it. She walked me through every word of the one line I wrote before committing it. I had never seen a code base that big at that point given that all my work was limited to school projects. It was overwhelming but very exciting. I realized what I had learnt in the last few months might help but I had a long, long way to go before I could call myself a developer. That was my fourth learning.

I used to think that code which satisfied the compiler (at least, for compiled languages) or code that satisfied the requirements and did what it was supposed to do (from a UI or API standpoint, as a simple example) was good enough. Obviously, it isn’t. And trust me when I say that if it is obvious enough to you, it either means that you have been doing development work for a while or are a much better coder than I to begin with. I had little clue that there would be so many differences in coding styles, so many different technology stacks, so many different development methodologies, so many different deployment mechanisms and so many different ways of doing just about anything. I learnt it at some point along the way and that would be my fifth learning.

This last piece of learning brings us a little closer to what I felt like writing about today. Yeah, brevity has never been and perhaps never will be my forte. One part of what I do through my company is consulting work. It pays my bills and keeps me going so I can focus on what I really want to do (which if you had seen any of my earlier ramblings, you would know what it is). I pick up different types of consulting work and have learnt to be a little less picky about them as years have gone by. However, there are a few things I try not to compromise on, at least to some extent. Like the technology stack I work on, my read on the complexity of the problem I am asked to solve, the role I am asked to play, the rate I expect to get paid and so on and so forth.

Like everyone else, I strongly believe in what I bring to the table and more importantly, I take immense pride in my work. While I cannot understate the importance of a contract that is much needed to pay the bills (at least, for most people like I) and keep life afloat, I would be lying if I didn’t say that I consider myself blessed to have a career in software development – one that actually is not just something I consider worthwhile but also helps me find work time and again. So, I always believe that I don’t necessarily have to compromise on everything to find work. A few compromises, yes.

What has bothered me a bit lately is the tendency to trivialize software development. For starters, I am not the kind who trivializes anything because I honestly don’t believe anything is trivial. If you feel something is trivial, it is because you are very good at it. It is like my favorite composer, A. R. Rahman, creating music. He makes it seem all too easy but that’s simply because he is so good at it (and a genius!). What urged me to write this particular post (despite the fact that I repeatedly struggle to get to the actual point and get absorbed in the numerous digressions) is the fact that development is sometimes (and I feel like it is becoming more frequent) treated as a menial task. I would rather not go into the specifics but I say this in the context of me looking for contracting work every now and then & me getting the feeling, not to mention repeatedly, that there are some serious shortcomings in the hiring process that come in the way of potentially hiring the right candidate for the job.

Software Development and Architecture, is not trivial. I am stating the obvious and it is obviously because the obvious doesn’t seem obvious enough most of the time. Every developer takes pride in the line of code they write. Please don’t trivialize it. A developer is no different from an artist even though art may be a whole lot more difficult (it definitely is for someone like me who cannot draw anything, ever). Please don’t assess a developer purely by how long they may have done something. Try to find out how well they might have done it. Try not to test their memory but rather, try to test their ability to solve a particular problem. Problem solving is a skill that I believe isn’t necessarily tested, at least well enough, in most of the interviews. How do you test someone’s passion for coding in a 15 minute conversation about Server Side JavaScript? How do you test their commitment? You can only find out if the candidate can help you solve your problem and would be a good fit in your team if you actually make them comfortable to begin with! It is hard to argue that technical interviews have a good and a very important purpose but I am not convinced they are actually helping find the right candidate most of the time. There are quite a few tools out there that aim to solve this problem but the real question is, have they helped and if yes, to what extent?

If you are a developer or an architect and do something along the lines of what I do, you can perhaps relate to my gripe (or, maybe not!). Are there times when you feel that you could do what the position requires not just quite well but a whole lot better than what the client might even expect but are unable to seal the deal for numerous reasons? I see myself spending quite a bit of time between contracts trying to find out better ways to manage my time so I can actually spend time doing the work than doing the convincing. I try to do something a little better every time and I have to say it perhaps has helped in my saving a bit of time every time but I am still far from where I would like to be. Contracting is challenging in its own way but I still like it. Besides, I hope it helps me achieve my more important (not to mention, only) goal. A product that finds its way from the Git repository to one that actually has a paying customer. One day…

Thanks for reading and thanks for not dozing off!

— krish @ http://www.snowpal.software

Working remotely and why I enjoy it for the most part

If you live in one of the metros that is constantly growing, it is a double edged sword. It is obviously encouraging because more companies move into the area and there are more jobs and opportunities and all the nice things that go with it but it also means that you are going to be sitting in traffic for a few hours everyday. Add to it a personality like mine that doesn’t really agree well with any form or length of commute, it will make it all the more challenging.

I’ve enjoyed working from home over the past several years despite some of its downsides. For starters, I am an extrovert and immensely enjoy interacting with people. As much as I enjoy software and am grateful to the way things actually panned out resulting in my picking that as a career, I have always wondered how life might have been if I were fortunate & qualified enough to become a lawyer or something along those lines. When you work from home, you miss out on a lot of interactions and tend to know your coworkers that much lesser. Sometimes, you get quite desperate that you don’t want to hang up even after a meeting is actually over. Yeah, can you believe it?!

Coding in the wee hours of the morning has always helped my thought process. I want to believe I like the quiet, sometimes.

Other than the part that involves interaction (or the lack of) with your coworkers, working remotely may not necessarily help if you are looking to grow in your career at an organization because when you don’t get to see anyone, they don’t get to see you as well. Of course, if the entire team is working remotely, this may not play a role. But, it is hard to argue that you may want to be onsite at least in the early stages of your career.

What I do like about working remotely is the flexibility it brings to the table and the shift in focus it mandates. I’ll explain what I mean by that. Given that my company does both Time and Materials contracts along with Fixed Price work, I’ve had to make constant changes in the way I work primarily from a logistics standpoint. Fixed Price work is exciting in some ways because you have a target in mind and you constantly march towards it. While you keep the client constantly updated with your progress, you still work in isolation for the most part with the interacting mainly limited to the members of your team (not so much the client’s). Time and Materials requires a slightly different work model as one of its primary differences is that the time needs to be logged. When you are onsite, it is much easier as you go in at a certain time and leave at a certain time so you know how much time you spent at work. When you are remote, this requires a lot of discipline. I’ve done this for many years now so it has become a practice but I do work with other remote resources (offshore and onshore) who tend to find this challenging from what they’ve told me.

The fact that you end up working more (remote) hours that you actually bill your client for isn’t discouraging in anyway. It tends to make you feel happier!

Ultimately, and just like everything else, it comes down to personal preference and options that are available but the ideal work environment for me would be something that supports remote work primarily with some onsite work, as and when necessary. I’ve tried to enjoy the commute when I’ve had to do it by listening to music, trying not to think about things and yada, yada, yada, but my honest, first thought (and I am a very firm believer in that uncorrupted first thought as the ones after that tend to become rational because of past experience and aren’t necessarily true reflections of what you truly, truly feel) has been that I would rather spend these valuable minutes doing actual software related work instead of aimlessly staring at the bumper in front.

In an ideal world, I would be at the client site when I need to present my proof of concept, or do a presentation, or iron out some architectural issues, or close a deal with me (and my team) doing most of the actual work remotely. That would be perfect. I’ve had the pleasure of working in that capacity over the last several years (thanks to my clients!) and pray that it remains an option in the years to come.

Ultimately, I believe that we all work to the best of our abilities when we are allowed the freedom to think in a space we value most (be it onsite or offsite or at a coffee shop!) with the primary objective being the necessity to get the job done in the best possible manner.

— krish @ http://www.snowpal.software