I’m a freelance developer and Graph n00b.
I want to create something to help me build specialised CVs (Skillmatrix, listing relevant projects and so on) for applying to jobs.
And for future development; I’d like to be able to target freelance agencies having consultants and their skillsets in their (RDMS)databases.
I would like to ask for your feedback, ideas and comments on this :)
Please emphasise the second part regarding modelling technology relationships and versions.
I’ve read about best-practices for data modelling, and it was recommended I tried writing down questions I might like to have answered and statements about the domain.
So I did that :)
- Joe is a consultant who has a deep knowledge about C# on the .Net Platform.
- Joe has been working with Vue.js on 3 projects over 2 years.
- Joe is currently on vacation and looking for work from 1. Aug.
Questions to ask:
- How many years of experience do I have working with .Net Framework?
- Which projects have I worked on where I used Selenium?
- What is my skill level of Typescript?
- How many projects have been a Tech Lead?
- Which consultants knows vue.js
- Which Consultants knows .Net core 2.2 and has been working with it for at least 2 years.
- Which consultants have at least 4 years of experience working in the financial sector
- Which consultants have worked at KPMG before and knows MS SQL
Disregarding the technology part, this is the datamodel I came up with:
Now; for the technology. (notice there’s a simple node, Technology in the model.)
I’m struggling with 2 aspects of this:
For versions, consider the cases of Angular.
How can this be modelled?
I need to able distinguish between them as well as “include” them, meaning questions like:
- Which Projects have I worked on where Angular 5 was used?
- Which Projects have I worked on where Angular was used?
should “give the same answer” (or more precise 1 should be included in 2).
For relationships, consider the case of C#/.Net Framework/dotnet Core.
.Net is a Framework, which can be written in either C#, F# or VB. Then there’s a “flavour” of .Net which is dotNet core. The version-aspect described above also applies here.
How do best model this?
I tried making this, to get a better birds eye view:
I would love to hear your thoughts :)
So thank you in advance