July 18, 2006

Quotes: Coincidence, life, private victory, unconsenting soul and a good way to live

Category: Personal development,Quotes — by Amit Chaudhary @ 1:08 am

blog-hdrjetty.jpg

Coincidence

Twice is a coincidence, thrice is a pattern. By Amit (Me) derived from
Once is an accident; twice is a coincidence; three times….a conspiracy. By A.C. Clarke

Life

My life is my message. By Gandhi

Private Victory

In The Seven Habits of Highly Effective People, Stephen Covey writes that private victory should precede public victory. For example, if you can’t discipline yourself to get your own work done, then you won’t function well as part of a team. I think it’s equally true that physical victory should precede psychic victory. That isn’t a requirement of course, but I think it’s best to achieve a reasonable degree of success with your health, home, career, and finances before you go full out trying to communicate with spirit guides. By Steve Pavlina

Unconsenting soul

He had not consented. It is very hard for evil to take hold of the unconsenting soul. From Wizard of the EarthSea by Ursula K. Le Guin

A good way to live

This is how a man should live. Well, it’s one good way. There are others. From Wizard of the EarthSea by Ursula K. Le Guin

HDR Image courtesy Matty_P on flickr

• • •

July 14, 2006

27th way to save your job: Eight-Hour Burn ‘or’ Work less hours with more focus

Category: Software development — by Amit Chaudhary @ 2:37 pm

Chapter 27: Eight-Hour Burn ‘or’(my alternative title) Work less hours with more focus

from My Job Went to India And All I Got Was This Lousy Book: 52 Ways to Save Your Job by Chad Fowler.

Excerpts from the chapter

  • Bob Martin renamed 40-hour workweek to “eight-hour burn.” The idea is that you should work so relentlessly that there is no way that you could continue longer than eight hours.
  • When it comes to work, less really can be more. The primary reason cited by the Extreme Programmers is that when we’re tired, we can’t think as effectively as when we’re rested. When we’re burnt out, we aren’t as creative, and the quality of our work reduces dramatically. We start making stupid mistakes that end up costing us time and money.
  • Most projects last a long time. You can’t keep up the pace of a sprint and finish a marathon.
  • You get to work and think, I’ve only got eight hours! Go go go! With strict barriers on start and end times, you naturally start to organize your time more effectively. You might start with a set of tasks that need to get done for the day, and you lay them out in prioritized order and start nailing them one at a time.
  • Budget your work hours carefully. Work less, and you’ll accomplish more.

My notes and comments

  • I believe and try to follow this philosophy in my career. it is also been a crucial reason that I did not burnout when we had our baby and that I can explore spirituality and other areas of life.
  • However, I do not deny that productivity is a multiple of ‘output rate’ and ‘hours worked’ and also thay given age, priorities and motivations, some engineers will work long hours for a longer time without a burnout. And that compensation and promotion should be based on productivity and impact.
  • It will be good to have more companies including startups with this philosophy, kind of like the Patagonia ( Let My People Go Surfing by Yvon Chouinard)

Summary: I agree completely with the premise of the chapter. Move towards balance.

Final verdict: Agree

Comments, Thoughts?

Rest of Entries and Main Post: My Job Went to India, 52 Ways to Save Your Job: TOC, Notes and Comments

• • •

July 13, 2006

Suggestions to New Parents

Category: Parenting — by Amit Chaudhary @ 5:40 pm

I read a blog posting by Erin Pavlina: Children vs. Purpose: Do the two mix?

It’s timing was interesting as a few people I know have or are having children and our child became 3 year old recently, giving me enough space to think with somewhat experience and hopefully insight.

My own difficulties were not from if I do someother things, what will it take away from my child, but more of, what should I drop from other areas of my life due to the new things in life.
My letter to new parents, especially for the first two years in forms of suggestions

  • Get help when the new born comes, particularly for the first few months. Ask grandparents to come(if possible) for a few months, one at a time, get a maid to clean up, iron clothes and even cook a little. Grandparents are great also because they have done it all and are mostly wise and cool at handling child issues.
  • Make a conscious decision of what you will drop from your life else things will drop anyways, but without your knowing. Hints: Meeting with friends will happen less, so will Movies or or TV books that you read for leisure. The career and success by hard work (> 40 hours per week) will go on a hold or take away from other areas including sleep and health.
  • Get healthy and stay healthy, especially if you have a sendetary career (like software development.) I would highly recommend Yoga.
  • Finally some guideposts from a parent’s POV: First 3 months: Will be a blur, lot of tiredness and lack of sleep. Stick together and share the burden. Next 6 months: Getting better, but still tough going and requiring stamina but with more free time and energy. Go slow in bringing up old or new activities back. Next 9 months: The best and great fun, the baby responds, smiles and laughes, even walks and some words come out. Sleep times are now much longer (6-8) It is a delightful time. Try to ensure, baby sleeps in her bed\room by this age, 9-18 months. Next 12 months: It is easy from here on, things only reduce including no diapers and so on.

And if I were to reply to the question to Erin, it would be:

Question: Can one live their life with purpose if the purpose seems to be almost entirely for or through their children? And if a person feels like they need to be doing more, how do they do so without being as invested in their children as they could have been? – Laura

Yes one can live their life with purpose, if their purpose is entirely for their children. I know people who do and are happy. It is same as people who can work in a single company and job all their life and be happy. Satisfaction is a personal goal, everyone needs to find their own.

If I were to look at purpose as find one’s calling or even increase in one area of life (Career, Spiritual, Money), early parenthood is a tough time to make new leaps. Things are better off put on a hold for say 2 years.
If a person feels they need to do well and can(say afford daycare) and are happy with things happening in their child’s life, they should make changes to go and explore their purpose. It will take away from other parts of life including parenthood, however after a certain threshold, the impact of this will be less and less. Think of what will benefit the child as well as you, playtime or daycare will take the child away from the parents, but teach them social skills and let them have fun.

This threshold is yours to choose and know, for example, one threshold would be, you are happy making the child and having dinner, playing for an hour and teaching\learning for one hour each day. Another threshold would be, tucking in every night and reading a book. Choose it consciously.
Finally, I would point to the song, Cat’s in the cradle by Ugly Kid Joe among others.

• • •

Software development lessons I learnt from Amazon

Category: Entrepreneur,Software development,Technology — by Amit Chaudhary @ 1:19 pm

Though I never worked at Amazon and once did not make it beyond the screening test, there are lessons I learnt from Amazon, from friends who work(ed) there, from others in neighboring companies and from the web.

These are views as a software developer, as a customer I love the company and if all the internet companies were to go away, I would want amazon.com to be last.
1. On work distribution: It is important for developers to know and even run their software, but it should not be more than say 10-15% of a developers job.

Reason being it is a overkill, both in terms of capability and money (Read reason 5. in Joel’s article: Top Five (Wrong) Reasons You Don’t Have Testers)

Background: Amazon teams manage their environment. This means, they know their web servers, the queues and database. It also means, it is common for software engineers sit for hours and upgrade web servers do other similar tasks. Typical backend Amazon engineer will spend 25% of their time, a decent IT person can do.

2. Monitor workload during oncall days\weeks and take steps to reduce it if it is getting out of hand.

If a software developer is on call one week every month and there are enough escalations to keep them too busy, something(quality, workload) is broken.

3. If nothing on core work gets done during certain months or more (Christmas, Harry Potter release), new work will suffer.

Background: Most of software development comes to a halt during these times at Amazon. That is 3-6 months of support and recovery time.

4. Watch why candidates are getting rejected.

Background: An interview candidate got low points on fit and got rejected as he did not seem hard working (12 hour days, 6 days a week.) On the other hand, software development members quit as the work pressure was too much. Another interview focused on advanced core language skills (C++ Template Meta Programming.) which then one never use once you join.

5. Know where small teams fit (Called Two Pizza in Amazon) and where they do not

This will also show up as hurdles due to mixed up priority, lack of predictablity or missed deadlines of cross team projects. Small teams fit well for new projects with minimal dependencies like say, Amazon web services, however for large leaps like search in books. you need VP or Director level buyin and priority setting.

6. The CEO on down should know what is being done at the lowest (Developer) level

Bezos does it like few do. I believe, if it is a startup, a CEO should interview or meet every candidate.
Background: Bezos: I am not worthy on Geeking with Greg


PS: This post got triggered by the Amazon CTO, Verner Vogels posting a comment as follows

the best way to completely automate operations is to have to developers be responsible for running the software they develop. It is painful at times, but also means considerable creativity gets applied to a very important aspect of the software stack. It also brings developers into direct contact with customers and a very effective feedback loop starts.

Hat Tip to Eighty-Twenty

• • •

July 12, 2006

26th way to save your job: Learn to Love Maintenance ‘or’ Maintenance should be minority or less of your work

Category: Software development — by Amit Chaudhary @ 2:49 pm

Chapter 26: Learn to Love Maintenance ‘or’ (my alternative title) Maintenance should be minority or less of your work

from My Job Went to India And All I Got Was This Lousy Book 52 Ways to Save Your Job by Chad Fowler.

Excerpts from the chapter

  • Though the caste system is officially dead in India, the hierarchical thinking it imposed lives on in the hearts and minds of its citizens.
  • So, the motivating factors are the ability to be creative and the chance to make steps toward a promotion. The funny thing about it is that project work is not necessarily the best place to do either.
  • Typically, if all is going well, customers will stay pretty hands-off with the daily management of the maintainers and their work.
  • A hidden advantage of doing maintanence work is that the maintenance programmer often has the opportunity to interact directly with his or her customers.

My notes and comments

  • Maintenance results in a software developer working on less and less relevant software (read less revenue to company), reducing work(read less engineers needed) and requires different skillset than new software development. However, it is part of a product cycle and a software developer’s work. Hence, do maintenance work, but do not let it become majority of your work, else you will never develop the skills to create complete systems. Think of it as changing a painting by enhancing a nose versus creating a new painting.
  • Caste system, sadly is entrenched and alive in the modern India I knew, from Colleges to Office (Modern or Government.)
  • It is true that creativity is needed for all sort of software development work. But maintenance is less creative than understanding requirements, putting that complete design together and making all that happen which makes the final product. Maintenance can result in promotion, but so will new software development, promotion depends on other factors including phase that a company is in, and so forth.
  • Maintenance engineers are not hands off by management, as a matter of fact the opposite is true. If a critial bug fix comes in, expect more than one manager to visit you asking how is it going?, when will it be done? and can they do something?
  • You will deal with customers in both type of work, in maintenance, the interaction will be, when will I get this fix, in new software, it will be I would like this and this.
  • For some companies like startups, a lot of work will be new software. These jobs will be out of your reach, if you stay in maintenance only mode

Summary:

I disagree completely with the premise of the chapter. Get good at maintenance, but do not love it. Do not let it become majority for your work for more than short (6 month) durations.

Final verdict: Disagree

Comments, Thoughts?

Rest of Entries and Main Post: My Job Went to India, 52 Ways to Save Your Job: TOC: Notes and Comments

• • •

My Job Went to India, 52 Ways to Save Your Job: TOC, Notes and Comments

Category: Software development — by Amit Chaudhary @ 2:43 pm

My Job went to India cover

I am reading this excellent book called My Job Went to India And All I Got Was This Lousy Book 52 Ways to Save Your Job by Chad Fowler. More appropriate title of the book could have been “Staying relevant as a Software Developer” or “Tips for Programmers to get ahead in your career “. Here is the amazon.com link.
I ran into this book when checking the Pragmatic Programmer website, the free excerpts showed me ways to improve as a software developer, so I brought a pdf version of the book which was a first for me. I would suggest reading the book, if you are into software development.

I will write my comments on chapters worth note from this book. Some starting thoughts:

  • I have not yet lost a job to India or other reasons, so far, but it helps to be aware it can happen.
  • I believe I will add some insight as I have worked more on Product companies as compared to Chad who brings an IT background
  • I have worked in linux, kernel, old fashioned C and some C++ as compared to Java and Web for Chad’s
  • Have both worked in India and USA and as part of offshored work and product work and still know people who do.
  • Finally have not transitioned to being a manager, so the perspectives are more narrow (in a good way :-) )

I will add links below to posts as I write them. Though I will start with chapters I am reading right now.

For my opinion, I will color code the chapters as follows:

Green = Agree
Yellow = Neutral
Red = Disagree

Table of Contents:

Part I—Choosing YourMarket
1. Supply and Demand
2. Coding Don’t Cut It Anymore
3. Lead or Bleed?
4. Invest in Your Intelligence
5. Be a Generalist
6. Be a Specialist
7. Don’t Put All Your Eggs in Someone Else’s Basket
8. Be the Worst
9. Love It or Leave It
Part II—Investing in Your Product
10. Learn to Fish
11. Understand Business Basics
12. Find a Mentor
13. Be a Mentor
14. Practice, Practice, Practice
15. The Way That You Do It
16. On the Shoulders of Giants
17. Automate Yourself into a Job
Part III—Executing
18. Right Now
19. Mind Reader
20. Daily Hit
21. Remember Who You Work For
22. Be Where You’re At
23. How Good a Job Can I Do Today?
24. How Much Are You Worth?
25. A Pebble in a Bucket of Water

26. Learn to Love Maintenance
27. Eight-Hour Burn
28. Learn How to Fail
29. Say “No”

30. Say It, Do It, Show It
Part IV—Marketing…Not Just for Suits
31. Perceptions, Perschmeptions
32. Adventure Tour Guide
33. Me Rite Reel Nice
34. Being Present
35. Suit Speak
36. Change the World
37. Let Your Voice Be Heard
38. Build Your Brand
39. Release Your Code
40. Remarkability
41. Making the Hang
Part V—Maintaining Your Edge
42. Already Obsolete
43. You’ve Already Lost Your Job
44. Path with No Destination
45. Make Yourself a Map
46. Watch the Market
47. That Fat Man in the Mirror
48. The South Indian Monkey Trap
Part VI—If You Can’t Beat ’Em
49. Lead ’Em
50. Manage ’Em
51. Learn from Open-Source
52. Think Global

• • •
« Previous PageNext Page »
Powered by: WordPress Theme based on Sharepoint like theme from: ADMIN-BG