Knowledge has to be where I am

Where am I? In a project, in a code repository, deep down in the code or maybe on a bash shell on a remote Linux server. And I want the knowledge I need to work to be accessible from where I am. In this article I will show a few sources of knowledge that came in quite handy for me.

Markdown

I am in a code repository checking out a project that uses a build system I am not familiar with and a framework I have not yet worked with.

Thank god the developer provides a README.md file in the repository: A well formatted document that highlights the commands I need to checkout and build the project. Direct links to frameworks and dependencies that I can download and install and after 10 minutes I have set up the project, created a branch and started coding.

No waiting for colleagues, no interrupting others, no frustration. It just works.

Manpages

I am on a server, setting up a software I don’t know yet using tools I am not familiar with.

Thank god Linux has manpages that describe the syntax, available parameters and general usage of the tools.

But wait, there’s not only Linux one could say. True. PowerShell fortunately also has similar pages.

And what if I am using a third party software? At this point the DevOps principle comes in handy: Just copy the software to the directory and start the application or go the extra mile, set up a private mirror, create packages, provide manual pages and use the deployment lifecycle to update the tools. Of course this is more effort but automated build tools can do a lot of the work automated and when the team grows this techniques are of inestimable value.

Wiki

I’m in a log file and the log gives me error codes.

Thank god the company has a wiki where these codes are described. I just open it up, paste the code into the search field and the wiki takes me directly to the description and troubleshooting guide.