📜 update cv

Signed-off-by: SindreKjelsrud <sindre@kjelsrud.dev>
This commit is contained in:
Sid 2024-08-15 09:44:27 +02:00
parent 1ca57d536d
commit 3c59e048cf
Signed by: sidski
GPG key ID: D2BBDF3EDE6BA9A6
2 changed files with 169 additions and 180 deletions

View file

@ -1,9 +1,10 @@
{ {
"basics": { "basics": {
"name": "Sindre Kjelsrud", "name": "Sindre Kjelsrud",
"email": "kjelsrudsindre@gmail.com", "email": "jobb@kjelsrud.dev",
"url": "https://kjelsrud.dev", "url": "kjelsrud.dev",
"summary": "Aspiring IT professional with a commitment to joining Capgemini post-graduation in 2024. Passionate about software development, open source and the dynamic of collaborative teamwork. Eager to leverage my technical and professional expertise to grow in the new role of Software Engineer." "linkedin": "https://www.linkedin.com/in/sindrekjelsrud/",
"summary": "Recent graduate developer set to start at Capgemini in September 2024. Passionate about software development, open source, and the dynamics of collaborative teamwork."
}, },
"work": [ "work": [
{ {
@ -14,40 +15,35 @@
"startDate": "Aug 2023", "startDate": "Aug 2023",
"endDate": "Dec 2023", "endDate": "Dec 2023",
"highlights": [ "highlights": [
"Developed a movie database application and API", "Developed a movie database application with an API using React.js, C#, and PostgreSQL, collaborating through pair programming, as well as contributing to a large, existing codebase."
"Collaborated in pair programming throughout the internship",
"Contributed to a large existing codebase",
"Utilized React.js, C# and PostgreSQL for full-stack development"
] ]
}, },
{ {
"name": "NAV IT", "name": "NAV IT",
"location": "Helsfyr, Viken", "location": "Helsfyr, Viken",
"position": "Summer intern", "position": "Summer Intern",
"url": "https://detsombetyrnoe.no", "url": "https://detsombetyrnoe.no",
"startDate": "Jun 2023", "startDate": "Jun 2023",
"endDate": "Aug 2023", "endDate": "Aug 2023",
"highlights": [ "highlights": [
"Developed an error reporting application for the new sick pay adoption solution", "Developed an error reporting application for the sick leave solution using React.js, Kotlin, and PostgreSQL, in collaboration with a team of mentors and interns."
"Collaborated within a team comprising our mentrs and two other interns",
"Engaged in full-stack development using React.js, Kotlin and PostgreSQL"
] ]
} }
], ],
"education": [ "education": [
{
"institution": "Western University of Applied Sciences",
"url": "https://www.hvl.no/",
"area": "Bachelor in IT",
"startDate": "Aug 2021",
"endDate": "Jun 2024"
},
{ {
"institution": "Universitat Politècnica de València", "institution": "Universitat Politècnica de València",
"url": "https://www.upv.es/", "url": "https://www.upv.es/",
"area": "Exchange semester", "area": "Exchange semester",
"startDate": "Jan 2024", "startDate": "Jan 2024",
"endDate": "present" "endDate": "Jun 2024"
},
{
"institution": "Western University of Applied Sciences",
"url": "https://www.hvl.no/",
"area": "Bachelor in Information Technology",
"startDate": "Aug 2021",
"endDate": "present"
}, },
{ {
"institution": "NLA University College", "institution": "NLA University College",
@ -67,60 +63,32 @@
"volunteer": [ "volunteer": [
{ {
"organization": "friByte", "organization": "friByte",
"position": "Member", "position": "fribyte.no",
"url": "https://fribyte.no/", "url": "https://fribyte.no/",
"startDate": "Sep 2022", "startDate": "Sep 2022",
"endDate": "present", "endDate": "present",
"summary": "friByte is an undependent studentorganization that delivers secure and stable IT-solutions to other studentorganizations in Bergen.", "summary": "friByte is an independent student organization that provides secure and stable IT solutions to other student organizations in Bergen.",
"highlights": [ "highlights": [
"Collaborated in team environments to enhance project efficiency", "As a member, I collaborated in team environments, managed Linux servers, deployed Docker containers, and maintained WordPress sites for clients.",
"Managed and operated Linux servers", "In Spring 2023, as Leader, I handled administrative tasks, recruited new team members, secured three new clients, and organized a successful Capture The Flag event with 35 participants.",
"Deployed Docker images and containers for application virtualization", "In Fall 2023, as PR-Manager, I led recruitment initiatives, boosted social media presence by 250%, and coordinated PR for the Bergen Open Source conference."
"Implemented and maintained Wordpress websites for clients"
] ]
}, },
{ {
"organization": "BOS-conference", "organization": "BOS-conference",
"position": "Leader", "position": "boskonf.no",
"url": "https://boskonf.no/en", "url": "https://boskonf.no/en",
"startDate": "2023", "startDate": "2023",
"endDate": "2023", "endDate": "2023",
"summary": "Bergen Open Source is an annual tech conference in Bergen driven by students and other volunteers. The conference focuses on open source code and open data.", "summary": "Bergen Open Source is an annual technology conference in Bergen, organized by students and other volunteers. The conference focuses on open source and open data.",
"highlights": [ "highlights": [
"Initiated and led the first-ever Bergen Open Source conference in 2023, overseeing all planning phases and successfully hosting over 70 participants & 5 speakers" "Initiated and led the first Bergen Open Source conference in 2023, overseeing all planning stages and successfully hosting over 70 participants and 5 speakers."
]
},
{
"organization": "friByte",
"position": "PR-manager",
"url": "https://fribyte.no/",
"startDate": "Jul 2023",
"endDate": "Dec 2023",
"summary": "friByte is an undependent studentorganization that delivers secure and stable IT-solutions to other studentorganizations in Bergen.",
"highlights": [
"Led member recruitment initiatives, expanding team talent and capabilities",
"Significantly increased social media presence, effectively enhancing brand visibility",
"Achieved a 250% increase in social media followers, adding 65 new followers",
"Coordinated PR-efforts for the Bergen Open Source conference, contributing to its successful first year"]
},
{
"organization": "friByte",
"position": "Leader",
"url": "https://fribyte.no/",
"startDate": "Jan 2023",
"endDate": "Jun 2023",
"summary": "friByte is an undependent studentorganization that delivers secure and stable IT-solutions to other studentorganizations in Bergen.",
"highlights": [
"Administrative tasks, convene meetings etc.",
"Successfully recruited and integrated new team members",
"Acquired three new clients, and managed already established client relationships",
"Orchestrated a successful Capture The Flag (CTF) event, drawing ~35 participants and enhancing community engagement"
] ]
} }
], ],
"skills": [ "skills": [
{ {
"name": "Programming languages", "name": "Programming Languages",
"keywords": [ "keywords": [
"C#", "C#",
"Java", "Java",
@ -131,7 +99,7 @@
] ]
}, },
{ {
"name": "Libraries & Frameworks", "name": "Libraries and Frameworks",
"keywords": [ "keywords": [
"Astro", "Astro",
"dotNET", "dotNET",
@ -139,7 +107,8 @@
"React.js", "React.js",
"Spring", "Spring",
"Svelte", "Svelte",
"TailwindCSS" "TailwindCSS",
"Zola"
] ]
}, },
{ {
@ -152,6 +121,6 @@
} }
], ],
"meta": { "meta": {
"lastModified": "April 26, 2024" "lastModified": "15. August 2024"
} }
} }

View file

@ -1,11 +1,11 @@
--- ---
import SectionContainer from '../components/SectionContainer.astro'; import SectionContainer from "../components/SectionContainer.astro";
import resume from '../data/resume.json'; import resume from "../data/resume.json";
--- ---
<SectionContainer> <SectionContainer>
<main class="flex flex-col gap-4 mt-4 cv"> <main class="flex flex-col gap-2 mt-4 cv">
<h1 class="text-3xl font-extrabold">📜 Sindre Kjelsrud</h1> <h1 class="text-3xl font-extrabold">Sindre Kjelsrud</h1>
<blockquote><p><em>Last update: {resume.meta.lastModified}</em></p></blockquote>
<!-- PROFILE --> <!-- PROFILE -->
<div> <div>
@ -15,16 +15,21 @@ import resume from '../data/resume.json';
<!-- WORK --> <!-- WORK -->
<div> <div>
<h2>Work</h2> <h2>Relevant work</h2>
<div class="flex flex-col gap-2"> <div class="flex flex-col gap-2">
{resume.work.map((work) => ( {
resume.work.map((work) => (
<div> <div>
<div class="flex gap-2 flex-wrap items-center justify-between"> <div class="flex gap-2 flex-wrap items-center justify-between">
<div class="flex gap-2 flex-wrap items-center"> <div class="flex gap-2 flex-wrap items-center">
<h3>{work.position}</h3> <h4>{work.position}</h4>
<p class="font-bold"><a href={work.url}>{work.name}</a></p> <p class="font-bold">
<a href={work.url}>{work.name}</a>
</p>
</div> </div>
<p class="cv-date">{work.startDate} - {work.endDate}</p> <p class="cv-date">
{work.startDate} - {work.endDate}
</p>
</div> </div>
<ul> <ul>
@ -33,7 +38,8 @@ import resume from '../data/resume.json';
))} ))}
</ul> </ul>
</div> </div>
))} ))
}
</div> </div>
</div> </div>
@ -41,33 +47,46 @@ import resume from '../data/resume.json';
<div> <div>
<h2>Education</h2> <h2>Education</h2>
<div class="flex flex-col gap-2"> <div class="flex flex-col gap-2">
{resume.education.map((education) => ( {
resume.education.map((education) => (
<div class="flex md:gap-2 flex-wrap items-center justify-between"> <div class="flex md:gap-2 flex-wrap items-center justify-between">
<div class="flex md:gap-2 flex-wrap items-center"> <div class="flex md:gap-2 flex-wrap items-center">
<h3>{education.area}</h3> <h4>{education.area}</h4>
<p class="font-bold"><a href={education.url}>{education.institution}</a></p> <p class="font-bold">
<a href={education.url}>{education.institution}</a>
</p>
</div> </div>
<p class="cv-date">{education.startDate} - {education.endDate}</p> <p class="cv-date">
{education.description ? {education.startDate} - {education.endDate}
<ul><li class="text-s">{education.description}</pli></ul> </p>
: null} {education.description ? (
<ul>
<li class="text-s">{education.description}</li>
</ul>
) : null}
</div> </div>
))} ))
}
</div> </div>
</div> </div>
<!-- VOLUNTEER --> <!-- VOLUNTEER -->
<div> <div>
<h2>Volunteer</h2> <h2>Volunteer work</h2>
<div class="flex flex-col gap-2"> <div class="flex flex-col gap-2">
{resume.volunteer.map((volunteer) => ( {
resume.volunteer.map((volunteer) => (
<div> <div>
<div class="flex gap-2 flex-wrap items-center justify-between"> <div class="flex gap-2 flex-wrap items-center justify-between">
<div class="flex gap-2 flex-wrap items-center"> <div class="flex gap-2 flex-wrap items-center">
<h3>{volunteer.position}</h3> <h4>{volunteer.organization}</h4>
<p class="font-bold"><a href={volunteer.url}>{volunteer.organization}</a></p> <p class="font-bold">
<a href={volunteer.url}>{volunteer.position}</a>
</p>
</div> </div>
<p class="cv-date">{volunteer.startDate} - {volunteer.endDate}</p> <p class="cv-date">
{volunteer.startDate} - {volunteer.endDate}
</p>
</div> </div>
<ul> <ul>
@ -76,7 +95,8 @@ import resume from '../data/resume.json';
))} ))}
</ul> </ul>
</div> </div>
))} ))
}
</div> </div>
</div> </div>
@ -84,14 +104,14 @@ import resume from '../data/resume.json';
<div> <div>
<h2>Skills</h2> <h2>Skills</h2>
<div class="flex flex-col gap-2"> <div class="flex flex-col gap-2">
{resume.skills.map((skill) => ( {
resume.skills.map((skill) => (
<div> <div>
<h3>{skill.name}</h3> <h4>{skill.name}</h4>
<div> <div>{skill.keywords.join(", ")}</div>
{skill.keywords.join(', ')}
</div> </div>
</div> ))
))} }
</div> </div>
</div> </div>
</main> </main>