Home - Genocs/documentations GitHub Wiki

Welcome to Genocs documentations wiki!

This wiki is intended to recap the main steps required to convert an idea into a software product. The process it is not straightforward ever. There are a lot of variables and these variables, often, are not clear at the beginning. Besides that, the rules and the targets change very often without evaluating the impact of the changes.

To design and correctly implement a project it is necessary to have a clear and deeply knowledge of different areas, technologies, tools, and above all, the right mindset.

Golden Rules

Before starting to do anything, do not forget to apply these general golden rules!

  • DRY (Don't repeat yourself)
  • KISS (Keep It Simple Stupid)

and remember:

  • The best and fastest way to do something is do not.
  • So before start, ask to yourself: it is really needed?

Setup the Idea

This stage shoud describe the idea behind the product. The market analysis, the MVP (Minimum Viable Product) definition and the identification of KPI.

Project management

Architecture

  • Clean Architecture patterns
  • Microservise Architecture

DevOps

Source code Versioning

The source code versioning is the repository where different developers stores the result of their work. This tool could and should be used even when the development team is composed by few members even only one.

These repositories allows to store projects both in a public and private fashion. The most importants one are:

CI/CD (Continuous Integration / Continuous Deploy) (How to build tests and run)

Package manager (How store the artifacts)

The platforms (Where the solution is executed)

The external services (What kind of infrustructure the services are needs)

Software development

  • Backend services
  • Frontend Services
  • Mobile and Embedded
  • Machine learning
  • Data analysis and processing

Backend services

Programming languages

  • C/C++
  • .NET C#
  • html/css
  • kotlin
  • GO
  • Python
  • nodejs
  • Java