Work routines

Organization

An empty repo will host organizational discussions and issues that don't fit on a single, particular project. Github projects can be used to manage them.

Employees will use their regular Github account and credentials, although it would be convenient they use their company email account if they want, linking it to their Github account as an alternative email.

Write everything

Any interesting link you found on your day-to-day work, StackOverflow articles, problems or questions you have, tricks you found, pending TODOs tasks, tests and checks you did (also failed ones), test fixtures... write them in a markdown log.md file with the actual date at the project root, no matter if you find the answer two minutes later (in fact, it's better if you find it :-D). Think as if all your work could be later written in a blog post or an academic article (and we hope to do so if it's on our possibilites), so the more references, quotes and links the better, don't discard them in advance.

Usability questions from (internal) developers and/or users will be added to a FAQ, and also documentation will be improved to resolve it in more detail.

Async communications

Communications will be promoted to be done asynchronously the most part of the time, following what's common on Open Source projects and communities. This implies to use Github issues and email over chat, phone or Skype calls, except for quick non-urgent questions or if both are online, but scheudle them in advance and use them moderately. Take in account that people would like to work at other hours or in a different time zone or while they are travelling around the world, or they would want to work on short periods of time with interleaves, or work on night or weekends, or they could be focuesd just at this moment and don't want distractions, so don't assume anything and asume that they would come back and answer you in several hours or the next day. This also allow to have a written record of what has been discussed for future reference.

Use the company product on a daily basis when it's available instead of other alternatives (use other ones just only as a fallback) to also take the oportunity to test the platform and think on new useful features that can be added. Until our in-house platform is available, currently third-party available platforms are GMail, Github, BitBucket, Slack y Trello. You can propose others if you find them convenient, too.

Automate everything

All procedures must be documented and replicated by at least other team member. Employees should not need to ask for help or interact with other co-workers to prepare their environment. If they can be automated in some way, a program or script must be done for that task and its execution automated by a Continuous Integration server. Crucial tasks will be dispatched and executed fully automated without intervention of a human at any moment, and only the CI servers and the administrators will have priviledges to exec them.

All projects will have a BigRedButton script that will build, test and distribute all the products generated by that project in all its possible flavours and build flags combinations (if possible). This will be used both on the CI servers for nightly checking of the project self-healing and for production builds (probably done both at the same time). It's desirable that it can works correctly in serveral platforms (Linux distros, operating systems, Docker vs. native, web vs. native, packaged or standalone...) so it can be one of the first stop-gaps for newcomers.

Be grateful

If you copy&paste code from StackOverflow or an Internet forum or from a blog article or somewhere else on Internet, or you use a proof-of-concept proyect as basis for your work or any other source that has been useful to you, add a note and a link to the original source on the code documentation and/or the README.md file of the project. If contact with the original author is possible, a 'thank you' email or message telling where and how are you using his previous work and why you are doing it would cool, too :-)

results matching ""

    No results matching ""