-
Understanding the core of the issue--am I solving the problem for myself now and leaving a potential mess behind me or can I build it in a way that address the core of the issue? Do I understand where the issue originated? Will others ask themselves why I built it the way I did (if so, can I at least document it in a way that others understand why the approach was chosen)? Will the solution be reliable and supportable for the future?
-
Building a solution together--if I'm working on a team am I building with the team? Who knows more about this than me? Are they willing to talk about it? If at any point I find myself talking too much do I need to ask for others input? If their input is lacking understanding it at least provides the opportunity for them to gain understanding. If their input is valid, I have the opportunity to grow my own knowledge. If their input doesn't enrich or contribute to the solution (decisions where it won't matter in the long run like bash vs. perl) move forward with the most effecient solution for the task. I don't know everything about any subject and if I think I do, I'm wrong. Am I treating others in alignment with my belief system in a Savior? Would in my conversations and interactions accurately reflect that? Do others genuinely enjoy working with me?
-
Respect for resources--if at any point I'm spending the money (whether it's a penny or a dollar) am I doing so wisely? Are the processes I'm spinning up costing enough that it's worth thinking about longer to consider optimizing for a better solution. Is there a way I could do this without costing money? Is the time spent building that solution (whether by myself or others) worth the cost of foregoing an out of the box solution? Should/will the service be retired soon? My personal information is also a resource--does the given solution account for security and encorporate sound design principles to avoid a potential security breach.