Tag: software development

Things we cannot see.

I’m starting to read Start With Why by Simon Sinek. I haven’t gotten very far into it yet, but I just read a chapter with a couple of quotes I really like:

… great leaders understand the value in the things we cannot see.

… it is what we can’t see that makes long-term success more predictable.

These come after a story about American auto manufacturing business men who traveled to Japan to learn from Japanese auto manufacturers. While the American factories solved an issue with how car doors fit by employing a person to use a mallet to ensure a correct fit, the Japanese factory took a different approach. The Japanese factory went back to the design of their components to make sure the engineering was done in such a way that the doors fit correctly every time. It really didn’t make much difference in the bottom line, but it’s important in the sense that the Japenese factory was solving the right problem instead of just fixing the symptoms.

Another quote:

So many organizations function in a world of tangible goals and the mallets to achieve them.

I think this is very applicable to software development. There are so many things when writing software that are analogous to fixing doors with a mallet. When we have defects, do we send them to the person with a mallet to just “fix it” or do we go back to the design and see where we could improve at a more fundamental level? How can we improve our design, or our process, so that we don’t need somebody with a mallet at the end of the line just to get things functioning?

When working with non-developers, it is often difficult to convey the importance of tackling technical debt, or spending twice as long on a feature just to “do it right”. But these things are important. They may not show up to the end user, but they show up in long term success.

Just some food for thought…

Advertisements

GIT-PROTIP: Copy Most Recent Commit Hash

I often have the need to get the latest commit hash on my current branch so I can reference it on GitHub in response to a comment on a pull request. My workflow was always:

  1. Make code changes
  2. Commit changes
  3. Run git log
  4. Copy latest commit hash
  5. Run git push
  6. Paste the commit hash into GitHub

I decided to make this workflow a little easier by adding an alias for the following command which cuts out steps 3 and 4:

I aliased this command to glc and now I just run that alias and the latest commit hash is copied to my clipboard and ready to be pasted into GitHub.

Installing a JAR into your local Maven repository

I was testing out Java encryption libraries today and needed to install the Jasypt JAR into my local maven repository. I’m pretty new to Java and Maven and wasn’t sure how to do that, so I went searching. It took me a few tries to find an example, so I’m writing it up here so I can remember it and maybe help somebody else in the same situation.

from: http://jeff.langcode.com/archives/27