/SelfAssessment

Software engineering self assessment

MIT LicenseMIT

Software engineering self assessment

This knowledge assessment can be used as an automated tool for tracking and analyzing an engineer’s microskills, for personal use, for reference in your CV or profile (github, linkedin, etc.). After filling skills, the system generates a button in html and md with a link to your fork of the repo. The tool speeds up interviews and certification for both the applicant and the interviewer: you can check only part of the key knowledge and then sign a commit with a personal GPG key. If you periodically take an assessment, or do it before and after the start of training, and store branches or tags with the results of an inventory of microskills at a certain point in time, then it is very convenient to compare the progress you have made during the period of training, reading a book, working on a project etc. Currently, assessment has more than 700 microskills and will be constantly expanded in all areas, languages and technologies (for example Proxy, Promise, Future, SRP, DI, Boxing, Cohesion, Tail call recursion...) with automatic comparison of them with roles (for example Node.js API developer, Node.js gamedev, Frontend...) the robot generates a report via Github Actions CI with recommendations on what needs to be improved. New roles and knowledge areas will be available soon, after which you can rebase your repo on the original one to receive the new report.

Skills

How to use

  • Fork repository
  • Enable Github Actions workflows at tab Actions of your fork
  • Create branch, for example: 2024-winter
  • In new branch add following levels or leave line untouched in each file:
Level Shorthand Description
πŸ‘‚ heard ~ or h Heard or have some idea
πŸŽ“ known + or k Learned, read, but didn’t use
πŸ–οΈ used * or u Used in work or real project
πŸ™‹ explained ! or e Explained to colleagues or can freely explain
πŸ“’ talked " or t Gave a public speech or lecture on a topic
πŸ”¬ researched & or r Deep research, measurements, comparisons, read sources
πŸš€ constructed ^ or c Developed an implementation or equivalent
  • Now you can create pull request and merge this to main branch of your fork (not to original repo)
  • Pull request will fire Github Actions CI processing which will generate new commit with Profile/REPORT.md file with skill analysis and role matching report
  • CI processing will fix all simple mistakes in filling and replace shorthands
  • If CI processing will detect unrecoverable error it will generate debug output and you will receive email with link
  • Auto-generated commit will also contain badge in md and html formats
  • Repeat self assessment after course or training
  • Now You can compare branches with URL:
    • https://github.com/<YOUR-ACCOUNT>/SelfAssessment/compare/2023-autumn...2024-winter

Example

It should look like following example after filling it out. And will be automatically formatted as sown in right column:

- Syntax                       - Syntax
  - Value !             ‑        - Value: πŸ™‹ explained
  - Identifier: *       ‑        - Identifier: πŸ–οΈ used
  - Variable: !         ‑        - Variable: πŸ™‹ explained
  - Constant *          ‑        - Constant: πŸ–οΈ used
  - Scalar *            ‑        - Scalar: πŸ–οΈ used
  - Literal ~           ‑        - Literal: πŸ‘‚ heard
  - Expression: *       ‑        - Expression: πŸ–οΈ used
  - Heap: +                      - Heap: πŸŽ“ known