Skip to main content

What I learned in Software Life... Find Solutions!

In my previous post What I learned in Software Life... Develop yourself! I talked about developing yourself in order to find better solutions.

It is only imperative, that our job is to find solutions to customer's problems. That is the primemost reason why customer goes out and seeks help.

Good design can deliver miracles.

This is true for any field. Be it Engineering, software, Medicine... what ever. Creating a good design is definitely a challenging job. It is a bridge between 'requirements' that are only stated and 'implementation' that realizes the solution. Any flaw in design will always show up at some stage or other.

Practical ideas make more sense in business world.

There is a distinct difference between Scientist's world of perfection and idealism and Engineer's world of realization of solutions with available resources. To be able to deliver in given resources which are always limited, tools, processes and competency become essential. Having a practical idea to solve a seemingly complex technical problem, always finds real solutions.

Code is the last point to instruct computer

This is the key fact many of us forget. You cannot do much after code is baked into binaries and delivered. Settings and configurations cannot alter much of the behavoir. They only choose a route already coded. One has to have a feeling of 'this code will never come back' attitude while coding.

If customer reports a defect, THERE IS A DEFECT! 

People argue with customers on how a behavior is not a defect. But mind you, if customer is reporting a defect there IS one. The cause may be any thing; a bug in software, customers understanding of new system, lack of documentation, undocumented work around, hardware problems, or even out-of-scope case. Instead of arguing with customer, if you find a route cause and provide logical explanation, customer will agree more than you think!

Comments

Popular posts from this blog

Pune-Goa-Pune Motorcycle solo ride: A ride that was many things!

  Part 1: We decided to ride "Let's go Goa!" College group of friends and families announced the yearly Goa trip. Some said: We are flying.  Some said: We will take train.  Some said: We will drive. Shree (my friend) and I: (our wives not coming because of prior commitments) let's ride our RE Meteors! That's how we decided to ride. And a plethora of things started. Route search, Road condition R&D, riding schedule, packing list, load distribution, checking on safety gear, rain preparations, pre-ride maintenance and so many. We searched a lot on the web. read a lot of articles, blogs, updates and finalized on Pune-Karad-Anuskura-Rajapur-Goa route. While preparations were in full swing, Shree caught Chikungunya infection and was down with high fever! There was no possibility of him riding! However, I decided to ride solo and complete the trip. With Solo riding decision, few things changed. Non-stop one-way ride changed to a break journey. I d

A short ride to Kondane caves

This time it was a combined Trek and Ride experience. Motorcycle ride for 3 hrs. from Pune to Kondane caves base, Mini-trek of 45 min. to Kondane caves and ride back home.  My younger son Chinmay was my partner. He likes to ride with me once in a while, and definitely likes to trek :-)

Forcing to lock, Choosing to engage...

In last post Customer is the king... and more! , I wrote about inevitable customer dependency and how sellers may take advantage of it. Dependency should not create a sense of 'being locked' with the product or service. Some ways by which customer gets 'locked' are: Proprietary data format and ways to read / write it Custom components to do trivial jobs User accounts, loyalty programs Restrictive licensing Artificial compatibility between hardware and software components of same seller What are the ways to reduce - if cannot entirely remove - customer's dependencies on sellers and their products? Some ways are: Increase standardization, use minimal standards Increase generalization, reduce specialization Make product flawless Make product stateless Educate customer to help himself Make system customizable / soft coded Provide compatible components and let customer assemble it to suit his purpose Make interaction transactional Some of th