Skip to content

Latest commit

 

History

History
42 lines (27 loc) · 4.17 KB

README.md

File metadata and controls

42 lines (27 loc) · 4.17 KB

Knowledgebase

A Github issue tracker for issues discovered in the process of development.

Summary

(Copied over from my blog)

Sometimes there are errors or undesirable situations that come up while developing. It's helpful to record those in this issue tracker in order to:

  • Keep a record of the problem as it arises.
  • Record the preferred solution if it is found.
  • Help others looking for solutions to the same problem.

I’ve been using Github Issues as a basis for a personal knowledgebase. This came about as a result a couple of things; a personal development blog, where I keep track of problems that I solve on regular basis, and a desire to show more to my problem solving methods than code. The ability to define a problem, outline the scenario so that others can understand or even contribute or participate has value to technologists (and technical leaders).

Put another way, this knowledgebase is a work artifact created to better track the problem solving and explaining aspect of my career and provide context in between work sessions. Sometimes in the course of the day, challenges arise that aren’t specific to a company’s technology, or a work environment. I’ll place them here to take advantage of feedback and how issues connect.

While I chose Github Issues as a repository, one could replicate this in any issue tracking system.This benefits me a few ways, overall:

I can show transparency on what I worked on, good or bad.
People can see the public issue over time
People can offer solutions, or routes/avenues to try that can help

Perhaps some use cases or examples can clarify.

Knowledgebase Is for Mentoring

I have signed up to be a mentor on a couple of sites. Sometimes I’ll see a mentoring request about technology I have familiarity with, such as Docker and Continuous Integration. The goal was to have this image work in CI as quickly as possible. I could only help out for an hour, but during that time we were able to identify which approaches did not work as well as an avenue towards the future. The best mentoring scenario leaves the mentee with choices and options towards a solution if not the solution itself. Providing the synopsis makes it easier to remember what has been tried, what hasn’t, and what may need to be tried again, with tweaks.

Knowledgebase Is for Expanding Technical Capabilities

One of the areas where I’m deepening / expanding my knowledge is Python. While I do prefer Ruby as a language, Python has more visibility, bolstered by AI and Data Science. In order to fill in more values on this roadmap, I’m working on the bit-slack-greeting-bot . I’m also going to introduce testing with mock objects for unit tests and end-to-end for Cypress tests while upgrading seven year old code. If there’s an area that’s outside a known roadmap, there’s a place for it on my knowledgebase. One issue I ran into involved setting up virtualenv, which revealed some path issues with Python and Ubuntu/Debian. Since this isn’t specific to any one Python project, the knowledgebase is a great place to add that issue.

Knowledgebase Is for Collaboration

Sometimes this knowledge is helpful to others.

Knowledgebase Is for Affirmation

This knowledgebase is helpful to remind me of all the problems that I solve. Projects like EBWiki and QueerGlobal are large enough to have their own project boards and task lists; this helps me keep track of larger or smaller items. Those reminders are encouraging as well as evidence. Sometimes those reminders have excellent value when I get affected by doubt, or intrusive thoughts. This is one habit I consider an essential part of successful development.