Fast Dev/DevOps Research
Published: 2023-05-15 16:41:52

---
title: Fast Dev/DevOps Research
published: true
description: 
tags: 
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k619wtx3s2ghj02epp7j.jpg
# cover_image: https://direct_url_to_image.jpg
# Use a ratio of 100:42 for best results.
# published_at: 2023-02-01 02:32 +0000
---
As Developers and DevOps, we get to build new things. We deliver our projects quickly and as much quality as possible. It *really* helps to be effective at research! Once we find relevant accurate information, we adapt into our own solution.

When researching, I use six resources. In order:

## well-written blog articles

A single article, describing a real dev solving a real business challenge with real code, is the best way to answer technical questions. They provide a lot of context, and reasoning, and have real-world advice which is invaluable to me.

I use Google for this, but it requires care. A lot of sites are poorly written, or copied from other sites, or are gibberish. With experience you can quickly tell if a blog post is going to be of high enough quality or not.

## AI-generated reference code

Copilot and ChatGPT are incredible tools for writing or adapting Dev/DevOps code... with substantial drawbacks. Details will be outlined in another JohnTellsAll post.

Example: Just recently I've switched to asking GitHub Copilot for answers to small questions. It's not perfect but incredibly valuable. The big downside is since Copilot sends code to a server, it's not okay when working with client code. Copilot is great for learning, though. By building up my own experience and knowledge, I can apply it without reservation to my real-world client projects.

## short answers


Google/StackOverflow is okay to answer the question "I have tech X and want feature Y using library Z". 

StackOverflow also has relevant commentary, often saying "solution says X, but Y is better for these other contexts."

It's a valuable resource but low-level, and pre-supposes feature Y actually is best implemented using tech X and library Z.

Example: once a coworker spent some time copying a sixty-line script to scrape a website, vs just using the standard [wget](https://www.gnu.org/software/wget/) tool.

## reference documentation

For reference documentation I use Google to find manpage sites, then I setup a [Custom Search Engine](https://www.groovypost.com/howto/add-custom-search-engine-chrome/)  for them.

Examples:

* [https://man.cx/](man.cx) for Linux docs
* [https://ss64.com/osx/](macOS manpages) for macOS

There's also [https://devdocs.io/](devdocs.io) which is incredibly fast but too webdev-centric compared to my normal work.

## example code

If I know the exact function name, I can find dozens or hundreds of example uses from public code.

This site is magic! Incredibly useful source code search engine: [https://grep.app/](grep.app)

Example: Kubernetes manifests can be complex and mysterious. The following produces 250,000(!) Kubernetes YAML manifests for study. 

https://grep.app/search?q=apiVersion%3A&words=true&filter[lang][0]=YAML

## books/workshops

When I'm going to be using a technology for long time (e.g. Terraform or AWS), it's worth it to build and execute a study program.

Commonly I find 3-5 short YouTube videos as an intro to the topic. This gives me a quick survey.

For in-depth study, books or a workshop are invaluable. They are very high quality, well written, and have dozens or hundreds of relevant code snippets. Spending money on something you'll use for a dozen hours is incredibly cheap!

I've subscribed to [Oreilly](https://www.oreilly.com/) for years. It's reassuring to get a new hot project, spend 3-4 hours studying a few books/workshops on the topic, then bringing new ideas and experience to my team. If the response is solid I can spend another 2-3 days to get an in-depth solid introduction to the topic!

## Conclusion

As Developers and DevOps, to build new things quickly we do tons of research. Depending on the speed, quality, and scope of the project, there are many resources to apply. With practice, we can make a huge jump-start for our team in delivering quality Dev/DevOps projects.