I've been developing in Go since late 2013 and I absolutely love the language. Of course, there will always be room for improvement; however, no other language I've utilized in my "toolbelt" has fit my needs and expectations more than Go.
- Make the code work.
- Make the code efficient (completes in the least amount of time as possible, using the least amount of allocations).
- NEVER create or utilize a 3rd-party package/library that PANICS (pass an error and let the user/developer decide how to handle it).
- Adapt to and utilize the standard library as much as possible (limit outside dependencies).
- Vet ALL 3rd-party packages/libraries (in any event that you can't use the standard library).
- Construct great tests (be specific in scope and do not include waste conditions).
- Write great documentation (no developer likes to do this, but it is necessary).
- Never stop learning (if you think you know Go [or any language] to its fullest, then you don't truly know that language).