Poor man, you are out of luck. Unfortunatelly today I have the time to write a boring piece describing my saga at the current job. It can be entertaining, despite that.
Something like one year ago I called the IT director and said: - Go is a great tool, I used it at my previous job, and we have plenty of opportunity to leverage the language ecosystem here. Can I use it? - Cool! I am fine with that, of course. Just make sure your coworkers agree before we can adopt it. The next day I called my two coworkers by the time (both C++ programmers, no working knowledge of Go), and explained why I think Go brings great opportunities. I finalized by saying: - ... that's why I think we should give Go a try. I have the ok from our IT director. He told me to ask your opinion. - No. Let's keep using C++. Hahah. This last laugh was true. They coldn't hide it. Only then I understood that it would be easier to convince two turkeys to accept the importance of Thanksgiving Day. Technical choices shouldn't have an emotional impact, but for me that one had. You can bet I got a lot frustrated by that "No. hahah". I asked for the IT director for support, but he was always busy at the following days so I understood he was not willing to risk his relationship with the rest of the team only to put a smile at my face. Two months later a new IT director was hired. I called him and told why I like Go. After all my explanation I got his answer: - Yeah, that's pretty interesting, but from these new languages I prefer Rust. By that time I knew two things: 1. I would therefore use Go to my own advantage as an individual programmer, since the company I work for showed no interest at all. 2. I need to improve my sale skills, just in case I eventually loose my job and have to work as a salesman. So, I went ahead as planned, using Go only for my own tools and prototypes. When time came to put something into production I had to translate my Go code into C++ code before uploading to our official version control. Yes, that means I couldn't use some cool Go features I like, but that scheme worked well enough for practical purposes. The funny part is that the Go prototypes were faster than the C++ version. Always. Despite that, I decided not to try to convince anyone. Life is short and I was not willing to ear another "No, hahah". Go was my "not so secret" weapon, because everybody knew I used Go daily for nearly everything. I just didn't put the code under our common version control. Weeks later when I was editing some Go code a newcomer take a look at my screen and say: - Hey, guy, do you use Go?! - Yes, I do. - Man, that's wonderful. I absolutely love Go! If by any chance you stumble upon a Go project, please count me in! And by the way, that other new coworker came from a succesfull Go project at his previous job. So, I went to talk to the other guy: - Someone told me you can code in Go. - Yes! At my last job there was this legacy component, bending at an increasingly production load. They tried several alternatives, but the only solution that really worked was to recode that part in Go. It worked flawlessly. Are your using Go here? - Nothing official yet. - If there is anything I can help, please count me in. - Thanks. I could feel the passion. I was not alone. We were like girls talking about the our favorite boy band. No, not exactly, but you know what I mean. Some weeks later, at a meeting, I suggested: - we need a validation tool to share with our business partners, for them to be sure the file set they produce is ok before sending it to us. - No need to spend our precious time on such a tool. Our partners know the format and rules. Can you smell it comming? I could. So I went ahead and coded the tool privately anyways. In few hours I had a working validator, checking for more than 60 rules. When the first partner sent the file set I ran it thru my tool and found in excess of 25 thousand errors. Replied to the partner along the lines "Found some glitches. They are in the attached file. Could you fix it, please? Thanks" A week later we were still exchanging emails like that one, because "our partners know the format and rules" proved to be not enough. It becames obvious they needed a tool. So I went to my IT director and said: - I imagine you know how I could find those errors. - Yes, you have a script. - I think we could share this tool with our partners allowing them to find the issues by themselves. What do you think? - A script? They would have to install a runtime? - No. It's a Go program. Go produces an executable file. - Really? - It's a compiled language. The compiler produces native code, much along the lines of C or C++. - What do they must install to run it? Some library? - Nothing. Just the executable itself. - Hum, interesting. Ok. - By doing it I will have to upload the code to our version control. By that time he already knew we had a couple of gophers in the company, besides myself. - Of course. Go ahead. I couldn't hide the grin upon my face. That was the first time Go code was accepted into our company official repository. The gate was open. Some days later, two coworkers asked me about a change in the tool. I said: - It's simple enough. Let's do it together. I went ahead and guided them to install Go tools and implement the desired change. They were amazed it was so easy. - Where is the makefile, or project file, or whatever? - No makefile needed. You just command "go build". - Wow. The build is fast! People began to understand why I liked Go so much. They were shocked by the smartness of Go ecosystem as they learned each detail. The next improvements to our new tool were made by them. As we use to say: there is nothing like one day after another. -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.