feat: CV overhaul — modernize skills, add projects, fix proficiency scale

- Title: "Senior Technical Consultant & Full-Stack Developer"
- Add Swift & macOS Development skill category (SoundInbox, Commando)
- Rename "AI-Assisted Development" → "AI Engineering & Integration" with MCP, ADK, Gemini, CLIP
- Remove "Design Tools" (Corel Draw, GIMP) and "Legacy Enterprise" (Struts, Yii, Zend)
- Remove jQuery, Assembler, Groovy; add Swift to programming languages
- Rewrite Team Management with professional language
- Proficiency scale: 1-5 → 1-10 (validation, tests, chat agent prompt)
- Add SoundInbox (Swift) and Commando (Go+SwiftUI) to projects
- Remove personal details: dateOfBirth, placeOfBirth, domestika, driverLicense
- Trim weak LinkedIn Learning courses (speed reading, persuasive UX)
- Fix Spanish soft_skills duplicates
- Chat agent: 11 new assertions (proficiency scale, new projects, removed skills)
- Fix hardcoded year 2025 in TestDefaultCVShortcut → time.Now().Year()
This commit is contained in:
juanatsap
2026-04-13 00:07:51 +01:00
parent aae818fbc0
commit 2fbd88f28e
7 changed files with 273 additions and 152 deletions
+3 -3
View File
@@ -246,11 +246,11 @@ func (s *Skills) Validate() error {
})
}
// Proficiency should be between 1-5 (typical skill rating)
if cat.Proficiency < 1 || cat.Proficiency > 5 {
// Proficiency should be between 1-10 (half-star increments over 5 stars)
if cat.Proficiency < 1 || cat.Proficiency > 10 {
errors = append(errors, ValidationError{
Field: fmt.Sprintf("technical[%d].proficiency", i),
Message: "proficiency must be between 1 and 5",
Message: "proficiency must be between 1 and 10",
})
}
+4 -4
View File
@@ -308,7 +308,7 @@ func TestSkills_Validate(t *testing.T) {
},
},
wantErr: true,
errMsg: "proficiency must be between 1 and 5",
errMsg: "proficiency must be between 1 and 10",
},
{
name: "Invalid - Proficiency too high",
@@ -316,13 +316,13 @@ func TestSkills_Validate(t *testing.T) {
Technical: []cv.SkillCategory{
{
Category: "Backend",
Proficiency: 6,
Proficiency: 11,
Items: []string{"Go"},
},
},
},
wantErr: true,
errMsg: "proficiency must be between 1 and 5",
errMsg: "proficiency must be between 1 and 10",
},
{
name: "Invalid - No skill items",
@@ -609,7 +609,7 @@ func TestCV_Validate(t *testing.T) {
Technical: []cv.SkillCategory{
{
Category: "Backend",
Proficiency: 10, // Invalid
Proficiency: 11, // Invalid
Items: []string{"Go"},
},
},