It's not that your way is not the right way, it's that everyone has their own right way. So which is the right way? Is there a right way?
Software development is full of discussions that revolve about the "right" way of doing something. The terms used in discussing software design, tools and implementation are so undefined as to make them meaningless. Code is not designed and written in a vacuum, it's designed by real people in real companies, each with their own constraints and issues. Code that may look like a hack could have been the result of an employee dragged out of bed at 2am by a company shirt that only cared that they they did not lose their personal client the next morning. Everything must be looked at in context. A project written to "Best Practices" may never be finished before development funding dries up. Goals, vision, constraints and thoughts should be somewhat aligned for project to be successful (or at least enjoyable in development).
Buddhism is about understanding oneself, how everyone's thoughts effect their actions and that everyone and everything is interconnected. Each engineer has their own "Best Practice", just as managers and the company it'self does. Engineers have goals that may or may not be the same as the companies. Managers have techniques for managing that may seem out of place for staff. Companies may have a vision that is fully (or not) understood by the sales staff. It's all connected.
How does this all come together for software development and you? You can only do so much but here are some thoughts:
Software development is full of discussions that revolve about the "right" way of doing something. The terms used in discussing software design, tools and implementation are so undefined as to make them meaningless. Code is not designed and written in a vacuum, it's designed by real people in real companies, each with their own constraints and issues. Code that may look like a hack could have been the result of an employee dragged out of bed at 2am by a company shirt that only cared that they they did not lose their personal client the next morning. Everything must be looked at in context. A project written to "Best Practices" may never be finished before development funding dries up. Goals, vision, constraints and thoughts should be somewhat aligned for project to be successful (or at least enjoyable in development).
Buddhism is about understanding oneself, how everyone's thoughts effect their actions and that everyone and everything is interconnected. Each engineer has their own "Best Practice", just as managers and the company it'self does. Engineers have goals that may or may not be the same as the companies. Managers have techniques for managing that may seem out of place for staff. Companies may have a vision that is fully (or not) understood by the sales staff. It's all connected.
How does this all come together for software development and you? You can only do so much but here are some thoughts:
- Don't try to convince others of your beliefs. You can only express yours thoughts.
- Respect how others may think.
- Work at understanding your managers and company's goals. Somethings they are undefined and that is ok to, it's their choice and that may be the what they want.
- Perform your work so that if fits with the people around you. It may not be what you really want, but it may be what is needed. It does not change you as a person to change your coding style, use a different toolkit, etc.
- Remember of what is really important in life and what brings you lasting happiness. I'm pretty sure its not getting in an argument over design elements.
Next: What code makes you happy?
Comments
Post a Comment