I got this! No, I don't

I confess, I have failed. I was given an assignment with an unrealistic timeline, but I still believed that I could complete it with sufficient effort, focus, and late nights. However, I did not meet the deadline. Is it acceptable for a programmer, let alone a consultant, to acknowledge failure? Perhaps.

Lessons learned.

I attribute my failure to my lack of communication and the bravado I displayed thinking that “I got this!”.

I got this!

No I didn’t. I had to learn Linux namespaces, Docker, NSQ, ElasticSearch, Kibana, LogStash, a custom Go app, and secure tunneling with Zebedee all in 6 weeks.

What was I thinking? I did notify my managers that it was a hefty task for 6 weeks, but we really had no choice. It was a fixed-bid project.

What I did was what I thought was best at the time. I will put in as many hours and I can in a week, kill myself and get this done. Heads down and ready to go… until I crashed and burned. By the fourth week I was a walking zombie. I had no taste for the work. My motivation was gone and I was no where complete. Lesson learned? Maybe the first is, don’t kill yourself.

Ask, ask, ask.

There was so much space to cover I was stupid for me to not bug anyone about the code. The code was given handed to me to take over. I was excited about the idea because, even now, I think it’s a really cool project. I wanted to own it and finish it.

But the folks who wrote the Go app did not have the time to help me. What ended up happening was that I was swimming in really bad written Go code. It violated the DRY principle in so many ways. But that’s no excuse. I came in as a Go dev and it was my duty to fix all that. Right? Right! So, no blame on the previous developers.

I blame myself. Even if they were busy. I jeopardized the project by not asking. I spun my wheels a few times and that ate up too much time and brain cells. I should’ve raised the flag early and often. I was brave and stupid. I’d rather be a coward and lucky to be honest.

Something good had to come out of all this, right?

Of course. I was found another tool I love, Docker. I don’t think I could live without anymore. I was also able to contribute to the NSQ project with this documentation.