Skip to content

Commit

Permalink
Automated skill analysis and report
Browse files Browse the repository at this point in the history
  • Loading branch information
applicationserver committed Jan 16, 2025
1 parent 3261f07 commit 1cee657
Show file tree
Hide file tree
Showing 6 changed files with 332 additions and 173 deletions.
159 changes: 159 additions & 0 deletions Profile/REPORT.md
Original file line number Diff line number Diff line change
@@ -1 +1,160 @@
## Software engineering self assessment

[![Skills](https://img.shields.io/badge/Self_Assessment-171 / 256 / 736-009933?style=flat-square)](https://github.com/seniaz/SelfAssessment/blob/main/Profile/REPORT.md)

```
[![Skills](https://img.shields.io/badge/Self_Assessment-171 / 256 / 736-009933?style=flat-square)](https://github.com/seniaz/SelfAssessment/blob/main/Profile/REPORT.md)
```

```
<a href="https://github.com/seniaz/SelfAssessment/blob/main/Profile/REPORT.md"><img alt="Skills" src="https://img.shields.io/badge/Self_Assessment-171&nbsp;/&nbsp;256&nbsp;/&nbsp;736-009933?style=flat-square"></a>
```

## Assessment totals

| Unit | Marked | Of |
| ---- | ------ | -- |
| [Programming](/Skills/Programming.md) | | |
| &nbsp;&nbsp;&nbsp;&nbsp; Concepts | `8` | `30` |
| &nbsp;&nbsp;&nbsp;&nbsp; Syntax and concepts | `23` | `33` |
| &nbsp;&nbsp;&nbsp;&nbsp; Types | `0` | `14` |
| &nbsp;&nbsp;&nbsp;&nbsp; Functions | `0` | `23` |
| &nbsp;&nbsp;&nbsp;&nbsp; Data structures | `12` | `26` |
| &nbsp;&nbsp;&nbsp;&nbsp; Networking | `0` | `9` |
| &nbsp;&nbsp;&nbsp;&nbsp; Process and tools | `9` | `28` |
| &nbsp;&nbsp;&nbsp;&nbsp; Antipatterns | `0` | `30` |
| &nbsp;&nbsp;&nbsp;&nbsp; Runtimes and virtual machines | `0` | `5` |
| &nbsp;&nbsp;&nbsp;&nbsp; Operating systems | `5` | `13` |
| &nbsp;&nbsp;&nbsp;&nbsp; Standards | `0` | `15` |
| [JavaScript](/Skills/JavaScript.md) | | |
| &nbsp;&nbsp;&nbsp;&nbsp; Language | `57` | `57` |
| &nbsp;&nbsp;&nbsp;&nbsp; Statements | `18` | `19` |
| &nbsp;&nbsp;&nbsp;&nbsp; Functions | `10` | `10` |
| &nbsp;&nbsp;&nbsp;&nbsp; Data structures | `8` | `8` |
| &nbsp;&nbsp;&nbsp;&nbsp; Standard classes and namespaces | `14` | `14` |
| &nbsp;&nbsp;&nbsp;&nbsp; Infrastructure | `6` | `6` |
| [Async](/Skills/Async.md) | | |
| &nbsp;&nbsp;&nbsp;&nbsp; Theory | `0` | `20` |
| &nbsp;&nbsp;&nbsp;&nbsp; Async contracts | `0` | `18` |
| &nbsp;&nbsp;&nbsp;&nbsp; Async adapters and utils | `0` | `5` |
| &nbsp;&nbsp;&nbsp;&nbsp; Async abstractions interfaces | `0` | `11` |
| &nbsp;&nbsp;&nbsp;&nbsp; JavaScript & Node.js specific | `0` | `17` |
| &nbsp;&nbsp;&nbsp;&nbsp; Techniques | `0` | `10` |
| [NodeJS](/Skills/NodeJS.md) | | |
| &nbsp;&nbsp;&nbsp;&nbsp; Internals and concepts | `0` | `9` |
| &nbsp;&nbsp;&nbsp;&nbsp; Modularity, layers and dependencies | `0` | `14` |
| &nbsp;&nbsp;&nbsp;&nbsp; Environment | `0` | `6` |
| &nbsp;&nbsp;&nbsp;&nbsp; Internal API | `0` | `26` |
| &nbsp;&nbsp;&nbsp;&nbsp; Network | `0` | `28` |
| &nbsp;&nbsp;&nbsp;&nbsp; Technique and tools | `1` | `12` |
| &nbsp;&nbsp;&nbsp;&nbsp; Data access | `0` | `7` |
| &nbsp;&nbsp;&nbsp;&nbsp; Error handling and debugging | `0` | `14` |
| &nbsp;&nbsp;&nbsp;&nbsp; Integrations and bindings | `0` | `16` |
| [Paradigms](/Skills/Paradigms.md) | | |
| &nbsp;&nbsp;&nbsp;&nbsp; Theory | `0` | `25` |
| &nbsp;&nbsp;&nbsp;&nbsp; OOP basics | `0` | `21` |
| &nbsp;&nbsp;&nbsp;&nbsp; GRASP | `0` | `8` |
| &nbsp;&nbsp;&nbsp;&nbsp; SOLID | `0` | `5` |
| &nbsp;&nbsp;&nbsp;&nbsp; Patterns | `0` | `25` |
| [Architecture](/Skills/Architecture.md) | | |
| &nbsp;&nbsp;&nbsp;&nbsp; Application structure | `0` | `27` |
| &nbsp;&nbsp;&nbsp;&nbsp; Application architecture | `0` | `36` |
| &nbsp;&nbsp;&nbsp;&nbsp; Solution architecture | `0` | `18` |
| &nbsp;&nbsp;&nbsp;&nbsp; Enterprise architecture | `0` | `18` |

## [JavaScript](/Skills/JavaScript.md)


| To start asynchronous programming | actual || required |
| --- | --- | --- | --- |
| `undefined` | 🎓 known || 🖐️ used |
| `null` | 🎓 known || 🖐️ used |
| `this` | 🎓 known || 🖐️ used |
| `...spread` | 🎓 known || 🖐️ used |
| `...rest` | 🎓 known || 🖐️ used |
| `try..catch` | 🤷 unknown || 🎓 known |
| `extends` | 🎓 known || 🖐️ used |
| Mixins | 👂 heard || 🎓 known |

Total: you have `64` of `72` skills, `8` to be upgraded, and `25` above needed

| To start Node.js | actual || required |
| --- | --- | --- | --- |
| `BigInt` | 🎓 known || 🖐️ used |
| `Infinity` | 🎓 known || 🖐️ used |
| `NaN` | 🎓 known || 🖐️ used |
| `undefined` | 🎓 known || 🖐️ used |
| `null` | 🎓 known || 🖐️ used |
| `this` | 🎓 known || 🖐️ used |
| `...spread` | 🎓 known || 🖐️ used |
| `...rest` | 🎓 known || 🖐️ used |
| Generators | 🎓 known || 🖐️ used |
| Async generator | 🎓 known || 🖐️ used |
| Async iterator | 🎓 known || 🖐️ used |
| Async IIFE | 🎓 known || 🖐️ used |
| `global` | 🎓 known || 🖐️ used |
| `globalThis` | 👂 heard || 🖐️ used |
| `void` | 🎓 known || 🖐️ used |
| `yield` | 🎓 known || 🖐️ used |
| `await` | 🎓 known || 🖐️ used |
| `static` | 🎓 known || 🖐️ used |
| `export` | 🎓 known || 🖐️ used |
| `try..catch` | 🤷 unknown || 🖐️ used |
| `extends` | 🎓 known || 🖐️ used |
| Async function | 🎓 known || 🖐️ used |
| Typed arrays | 👂 heard || 🎓 known |
| `Promise` | 🎓 known || 🖐️ used |
| V8 | 👂 heard || 🖐️ used |

Total: you have `73` of `98` skills, `25` to be upgraded, and `19` above needed

## [Async](/Skills/Async.md)


| For Node.js applied programming | actual || required |
| --- | --- | --- | --- |

Total: you have `0` of `50` skills, `50` to be upgraded, and `0` above needed

| To start Node.js | actual || required |
| --- | --- | --- | --- |

Total: you have `0` of `37` skills, `37` to be upgraded, and `0` above needed

| For Node.js platform/system programming | actual || required |
| --- | --- | --- | --- |

Total: you have `0` of `75` skills, `75` to be upgraded, and `0` above needed

## [NodeJS](/Skills/NodeJS.md)


| API and domain logic developer | actual || required |
| --- | --- | --- | --- |

Total: you have `0` of `0` skills, `0` to be upgraded, and `1` above needed

| Enterprise applications | actual || required |
| --- | --- | --- | --- |

Total: you have `0` of `0` skills, `0` to be upgraded, and `1` above needed

| Real-Time, gamedev, messaging | actual || required |
| --- | --- | --- | --- |

Total: you have `0` of `0` skills, `0` to be upgraded, and `0` above needed

| Web and Frontend | actual || required |
| --- | --- | --- | --- |

Total: you have `0` of `0` skills, `0` to be upgraded, and `1` above needed

| Fullstack development | actual || required |
| --- | --- | --- | --- |

Total: you have `0` of `0` skills, `0` to be upgraded, and `1` above needed

| Platform/system development | actual || required |
| --- | --- | --- | --- |

Total: you have `0` of `0` skills, `0` to be upgraded, and `1` above needed
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## Software engineering self assessment

<!--- $BADGE -->
[![Skills](https://img.shields.io/badge/Self_Assessment-171&nbsp;/&nbsp;256&nbsp;/&nbsp;736-009933?style=flat-square)](https://github.com/seniaz/SelfAssessment/blob/main/Profile/REPORT.md)

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.

Expand Down
2 changes: 1 addition & 1 deletion Skills/Databases.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
## Databases

- Theory and concepts
- Data types h
- Data types: 👂 heard
- Performance tuning
- Migrations
- Schema versioning
Expand Down
Loading

0 comments on commit 1cee657

Please sign in to comment.