resume/cv.html
2025-07-15 16:01:32 +02:00

330 lines
12 KiB
HTML

<html lang="en">
<head>
<title>Resume of John Morris</title>
<link rel="stylesheet" href="styles/jetbrains-mono.css"/>
<link rel="stylesheet" href="styles/reset.css"/>
<link rel="stylesheet" href="styles/style.css"/>
</head>
<body>
<header>
<img class="pfp" alt="an image of john" src="assets/pfp.jpeg"/>
<div>
<h1>John Morris</h1>
<p>Software Developer</p>
</div>
</header>
<main>
<section id=profile>
<hgroup class="experiences-heading">
<img src="assets/icon-user.svg"/>
<h2>About Me</h2>
</hgroup>
<p>
I am a software developer with passion for creativity and learning. My
ultimate goal as a developer is to make cool things that help people
and hopefully improve the world.
</p>
</section>
<section id=employment-history class="experiences">
<hgroup class="experiences-heading">
<img src="assets/icon-briefcase.svg"/>
<h2>Employment History</h2>
</hgroup>
<section id=lead-software-engineer-hyre class=experience>
<hgroup>
<h3>Lead Software Engineer @ HYRE Talent Sourcing and Matching GmbH, Berlin</h3>
<p class=experience-time-span>March 2023 - Present</p>
</hgroup>
<p>
As the lead software engineer at a small Berlin-based HR-Tech startup, I take care of the development of
the web frontend (Vue.js+TS) and backend (C#) of the talent-matching platform "HYRE Talents." In
addition to development, I administrate devops and cloud services while working closely with the
founder/PM to develop the roadmap and respond to the needs of both users and teammates. After taking on
the role of Lead Developer after my previous role as Frontend Developer, my responsibilities came to
include:
</p>
<ul>
<li>
Designing and implementing customer-facing features, in both the frontend and backend, from
end-to-end - starting with collecting and analyzing requirements, to architecting a solution with
necessary model updates, through to the implementation.
</li>
<li>
Handling of day-to-day technical tasks such as responding to error reports, providing technical
assistance to other teams, fixing bugs, and monitoring system logs.
</li>
<li>
Develop integrations with external services such as Salesmate, Airtable, ChargeBee, and Twilio. This
Includes developing standard patterns for creating client libraries where there are no suitable ones
available.
</li>
<li>
Maintain hosting infrastructure: Provisioning and monitoring our Azure cloud infrastructure (e.g.,
App Services, Static Web Apps, and SQL Server instances), administrating source control (on GitHub)
and maintaining CI/CD automations. I also made specific optimization to our hosting that reduced
hosting costs by 75%.
</li>
<li>
Improved and streamlined development by migrating source control and CI to GitHub (from Azure
Devops)
and pushing for the adoption of more structured development practices, i.e.: replacing Excel
spreadsheets with Linear and taking a more structured (pseudo-agile) approach to development.
</li>
</ul>
</section>
<section id=frontend-developer-hyre class=experience>
<hgroup>
<h3>Frontend Developer @ HYRE Talent Sourcing and Matching GmbH, Berlin</h3>
<p class=experience-time-span>September 2022 - March 2023</p>
</hgroup>
<p>
As the frontend developer of the talent matching platform HYRE Talents, I was responsible for the design
and implementation of user-facing features and bugfixes, as well as end-to-end deployment of the
frontend.
</p>
<ul>
<li>
I designed and implemented UIs for new features using TypeScript+NuxtJS+Tailwind. Design was
primarily
aided with TailwindUI Templates.
</li>
<li>
I introduced TypeScript to the JS codebase, as well as adopting the modern Composition API from Vue
(to
replace the legacy Options API).
</li>
<li>
I was responsible for the entire deployment of the frontend app.
</li>
</ul>
</section>
<section id=software-developer-tutao class=experience>
<hgroup>
<h3>Software Developer @ Tutao, Hannover</h3>
<p class=experience-time-span>September 2020 - September 2022</p>
</hgroup>
<ul>
<li>
As a part of the product team I implemented improvements and
bug fixes for the web, desktop (Electron), Android, and iOS variants
of the app using various languages and frameworks, namely:
TypeScript/JavaScript, mithril (JS UI Library), ElectronJS, Swift, Kotlin,
Java.
</li>
<li>
Worked on devops and had a role in improving the in-house build
system for the app, as well as streamlining CI/CD in jenkins.
</li>
<li>
Was instrumental in improving development practices, such as
participating in the introduction of scrum to the small team, and
continually working on architectural improvements such as the
modularisation of the codebase.
</li>
</ul>
</section>
<section id=software-developer-fungii class=experience>
<hgroup>
<h3>Software Developer @ Fungii - Melbourne Gourmet Mushrooms, Melbourne, Australia</h3>
<p class=experience-time-span>2018</p>
</hgroup>
<ul>
<li>
Developed a greenhouse monitoring and logging system for a
Melbourne based culinary mushroom grower.
</li>
<li>
Utilised Arduino/C++ for monitoring and reporting, and
Python-Flask+SQLite for a RESTful logging API and user interface
</li>
</ul>
</section>
<section id=web-developer-adrian-devries class=experience>
<hgroup>
<h3>Web Developer @ Adrian Devries, Melbourne, Australia</h3>
<p class=experience-time-span>2018</p>
</hgroup>
<ul>
<li>
Made an artist CV web-page for Melbourne based visual artist Adrian
Devries.
</li>
<li>
Used vanilla HTML5/CSS/JS for the webpage, and hosted via
HostGator's shared hosting
</li>
</ul>
</section>
</section>
<section id=education class="experiences">
<hgroup class="experiences-heading">
<img src="assets/icon-academic-cap.svg"/>
<h2>Education</h2>
</hgroup>
<section id=bacherlor-cs-rmit class=experience>
<hgroup>
<h3>Bachelor of Computer Science, RMIT, Melbourne, Australia</h3>
<p class=experience-time-span>2018 - 2020</p>
</hgroup>
<p>
Practiced developing software in a team based environment, using
techniques and technologies such as: Agile, UML, Git, Trello, etc.
</p>
<p>
Learnt to analyse and implement algorithms to solve concrete
problems.
</p>
<p>
Developed a mock IoT application for a library management system
using Python and Raspberry Pi.
</p>
</section>
<section id=associate-degree-it-rmit class=experience>
<hgroup>
<h3>Associate Degree of IT, RMIT, Melbourne, Australia</h3>
<p class=experience-time-span>2017 - 2018</p>
</hgroup>
<p>
Studies included computer networking (primarily OSI layers 2-4),
database design and management, and basic web development and
UX design
</p>
</section>
<section id=cs50x class=experience>
<hgroup>
<h3>CS50X, edX</h3>
<p class=experience-time-span>2016-2017</p>
</hgroup>
</section>
</section>
</main>
<menu class="links">
<li>
<a href="https://github.com/johnbotris" class="external-link">
<img
class="icon"
alt="the github logo"
src="assets/github-mark.svg"
>
<span class="print-only">/johnbotris</span>
</a>
</li>
<li>
<a href="https://git.botris.dev/john/resume" class="external-link">
<img
class="icon"
alt="the forgejo logo"
src="assets/forgejo-black.png"
>
<span class="print-only">git.botris.dev</span>
</a>
</li>
<li>
<a href="https://www.linkedin.com/in/johnbotris/" class="external-link">
<img
class="icon"
alt="the linkedin logo"
src="assets/In-Blue-48.png"
>
<span class="print-only">/in/johnbotris</span>
</a>
</li>
</menu>
<aside>
<dl id=details class="icon-list">
<dt>
<img
class="icon"
alt="location"
aria-description="location"
src="assets/icon-location.svg"
/>
</dt>
<dd>Berlin</dd>
<dt>
<img
class="icon"
alt="phone"
aria-description="phone number"
src="assets/icon-mobile.svg"
/>
</dt>
<dd><a href="tel:+491789190925">+49 178 9190925</a></dd>
<dt><img class="icon" alt="email" aria-description="email address"
src="assets/icon-email.svg"/></dt>
<dd>
<a href="mailto:me@johnmorr.is?subject=Re:+Your+application&body=Hey+John,%0A%0ANice+resume+%E2%98%BA%EF%B8%8F.%0AWe'd+love+to+hire+you!">me@johnmorr.is</a>
</dd>
</dl>
<section id="skills">
<h2>Skills</h2>
<section class="skills-section">
<h3>Programming languages</h3>
<ul>
<li>TypeScript/JavaScript</li>
<li>C#</li>
<li>Java</li>
<li>Kotlin</li>
<li>Rust</li>
<li>Linux Shell</li>
<li></li>
</ul>
</section>
<section class="skills-section">
<h3>Frameworks and Technologies</h3>
<ul>
<li>VueJS+Nuxt</li>
<li>MithrilJS</li>
<li>Azure Admin</li>
<li>Linux Sysadmin</li>
<li>Jenkins CI</li>
</ul>
</section>
<section id="human-languages" class="skills-section">
<h3>Human languages</h3>
<dl>
<dt>English</dt>
<dd>Native</dd>
<dt>German</dt>
<dd>B2</dd>
</dl>
</section>
</section>
</aside>
</body>
<script>
let originalTitle
window.addEventListener("beforeprint", (event) => {
const now = new Date()
originalTitle = document.title
const year = now.getFullYear()
const month = now.getMonth() + 1
const day = now.getDate()
document.title = `John Morris CV`;
});
window.addEventListener("afterprint", (event) => {
document.title = originalTitle;
});
</script>
</html>