Software Developer Chronicles: Don't Over Do It!
I know you may have read successful people about how they work and how they overcome their limits and be successful - yes it is a good thing! Although, how they do things might not be applicable on how we software developers do things, and those things might not fit on our own personality, and might end up not achieving anything at all!
In the programming world, one of our goal is to always automate things and make them efficiently. And by this we always reach and go beyond our limits. I certainly agree with this, but only to the point that we never missed the balance between work and happiness.
Now, if you want to be successful in simple things such as:
- Balanced life and less stress environment (I say less stress, because programming always put us in that situation but still properly managed)
- Challenged happily and still learn new things with our work.
- Finishing tasks appropriately and not to overdo things that could not help us at all.
- Reaching our short goals for everyday balanced life programming :-)
Thus, again, in my own view, I say here are the basic ways that-we-may-not know-but-are-always-doing-things could try to have an alternative approach and maybe to add in our interpersonal skills.
- Don't always try to impress your clients - as this tends to overwhelm your own work and yourself. Yes, it is sometimes good to check your limit and see what else you can do, but not to the point stressing yourself, in turn might be affecting your relationship with them. Just do what you think you can do and everything will come out well.
- Don't always try to apply the latest technologies in your application - well, some programmers tend to, since 'it is the latest technology'. I am not saying not to do it, but do some validation first. For example: (1) check this technology if it would be really helpful and applicable. (2) Verify if it would also be easy to integrate and (3) last, if this will have a future updates and can be supported by a community. Then if these things are in placed, budget and a go signal from your manager, then I think you can try to apply it.
- Don't always add a new feature or nice-to-have functionality if these are not being asked by the client - come on! You know I am right! Right? Well, sometimes when we finished certain tasks earlier than expected and we have more time to do other stuffs and still has this on-the-roll feeling, this can be the case, and of course this is not bad at all, but be very cautions for an already working and stable code, will be affected by this changes. I would suggest and much better if you look at how you will optimize and/or can be extracted so it can be reusable and add more unit tests.
- Don't always push your team to their limit. Remember, your team mates are also the same as you who can also get frustrated, tired and stressed. Their limits may not be the same as yours and their enthusiasm may be different with yours - in short we are individuals with different tastes and approaches. Better to show them how you do things with productive results and still show balance with your life and work. And hopefully in the future you can inspire and lead them to this kind of approaches you are good at. And also if you show them how to properly meet half-way on certain things as this can help your relationship more open - openness with team mates will potentially help better team synchronization.
- Don't always expect a good result is to happen. Better to always anticipate things. And if you no longer think of any thing that could happen, put a buffer in your estimate. Even those who are 20+ years of experience tend to miss anticipation, thus do try to negotiate with this buffering of estimates if you still uncertain and your gut, feels, something is still missing.
These are the basics things I can think of that always happens a lot. In general, the results we are trying to achieve here is to taking-care-of-ourselves, in terms of work-life balance, health and good relationship with colleagues. These may or may not be a guiding principle towards future success in terms of being the best of best and being on top, but at the least, we became successful of doing things right. After all, this may depend on how you will absorb these guidelines that I think could do positively.
I also believe and pretty certain that these things will not have any negative effect on the others, but ironically can be inspirational.
Again, these things may not be for certain person to understand, and not for those who wish to be at the top. These are for software developers who wish to have a serenity and overcome day to day challenges with ease.
By this I say, Happy programming!