diff options
| author | Ahmed Abdelhalim <[email protected]> | 2022-06-06 23:17:20 +0200 |
|---|---|---|
| committer | Ahmed Abdelhalim <[email protected]> | 2022-06-06 23:17:20 +0200 |
| commit | 807c6187897d86867877128d1a085719d8cc3622 (patch) | |
| tree | 0cd4c08974e59a6c346e79378ec17211d6179d4b /app | |
| parent | a10f5e1acf28188e8c220a1a946998abbd02df71 (diff) | |
Squashed commit of the following:
commit 026e3956264da51ce35234f0dfba0f14205321c9
Author: a14m <[email protected]>
Date: Mon Jun 6 20:03:31 2022 +0200
Better styling to work on iOS and links
commit fa4c6cb335874f3a3da2f071d0973c4d9f413516
Author: a14m <[email protected]>
Date: Mon Jun 6 16:19:52 2022 +0200
Update meta information for SEO and introduction paragraph
commit 81b73232661e45167a25f3909edd8062b8e37e59
Author: a14m <[email protected]>
Date: Sun Jun 5 19:19:04 2022 +0200
Add styling spaces (margins) for better looking print
Also allows flexibility of controlling the spaces later
commit 1382bf636b23e99d7a1815903c81f16ea622f0c3
Author: a14m <[email protected]>
Date: Sun Jun 5 19:14:15 2022 +0200
Add the SN job description and tasks
commit 0089eca138c6037a0ceedff86ac991a9688f9ab9
Author: a14m <[email protected]>
Date: Sun Jun 5 17:59:42 2022 +0200
Add styling for work__experience separator
commit d3cba473d7c33dddd1fbf42e898123dc0f1069c0
Author: a14m <[email protected]>
Date: Sun Jun 5 16:41:41 2022 +0200
Update the header sections to reflect the current skills/job title
Diffstat (limited to 'app')
| -rw-r--r-- | app/assets/index.html | 70 | ||||
| -rw-r--r-- | app/print.styl | 4 | ||||
| -rw-r--r-- | app/stylesheets/print/education.styl | 1 | ||||
| -rw-r--r-- | app/stylesheets/print/projects.styl | 6 | ||||
| -rw-r--r-- | app/stylesheets/print/skills.styl | 4 | ||||
| -rw-r--r-- | app/stylesheets/print/work.styl | 12 | ||||
| -rw-r--r-- | app/stylesheets/web/work.styl | 14 | ||||
| -rw-r--r-- | app/web.styl | 7 |
8 files changed, 93 insertions, 25 deletions
diff --git a/app/assets/index.html b/app/assets/index.html index 4a9ac2b..466ade0 100644 --- a/app/assets/index.html +++ b/app/assets/index.html @@ -15,8 +15,8 @@ <meta name="theme-color" content="#ffffff" /> <meta name="author" content="Ahmed AbdelHalim" /> - <meta name="description" content="A14M · Software Developer/DevOps" /> - <meta name="keywords" content="DevOps, Rust, Ruby, Ansible, Python, CI, CD, TDD, BDD, AWS, RESTful, API" /> + <meta name="description" content="A14M · Platform Engineer/DevOps" /> + <meta name="keywords" content="DevOps, go, docker, ansible, python, bash, CI, CD, TDD, BDD, AWS, terraform, GCP, k8s, kubernetes, grafana, prometheus, loki, ELK" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="color-scheme" content="dark light" /> </head> @@ -25,7 +25,7 @@ <main> <header class="header"> <h1 class="header__name">Ahmed AbdelHalim</h1> - <em class="header__job-title">Senior Software Developer · DevOps</em> + <em class="header__job-title">Platform Engineer · DevOps</em> <address class="header__contact-info"> <div class="header__location">Berlin, Germany</div> <div class="header__tel"><a href="tel:+491770126386">+49 177 912 6386</a></div> @@ -43,41 +43,41 @@ <article class="summary"> <h2 class="summary__header section-header">Summary</h2> <p class="summary__content"> - Senior backend and infrastructure developer with 9+ - years experience in development (backend/API focused), 4+ years in infrastructure automation and DevOps, 1+ - years Security analysis and Red Team exploit testing. An avid fan of automation, sustainability, design - patterns, and clean code. Always interested in deriving a better problem-solving method for challenging tasks, - and learning sensible new technologies and tools (if the need arises). + Platform engineer at <a href="https://group.springernature.com/gp/group">Springer Nature Group</a> with + 10+ years of experience in software development (backend/API focused), + 5+ years in infrastructure automation and DevOps, + hobbyist security analyst and tester. + An avid fan of automation, sustainability, design patterns, and clean code. + Always interested in deriving a better problem-solving method for challenging tasks, + and learning sensible new technologies and tools (when the need arises). </p> </article> <article class="skills"> <h2 class="skills__header section-header">Skills</h2> <dl class="skills__content"> <dt class="skills__title">DevOps</dt> - <dd class="skills__items">Ansible, Terraform, Docker, Vagrant, Makefile, certbot.</dd> - - <dt class="skills__title">Back-end</dt> - <dd class="skills__items">Ruby on Rails, PostgreSQL, Redis, MongoDB, MySQL, Django.</dd> + <dd class="skills__items">Kubernetes, Terraform, Docker, Ansible, CloudFoundry, Helm, Fastly, Vault, + Concourse, Artifactory, ... + </dd> - <dt class="skills__title">Front-end</dt> - <dd class="skills__items">ReactJS, HTML5, Next.js, StimulusJS, TypeScript.</dd> + <dt class="skills__title">Telemetry</dt> + <dd class="skills__items">Grafana, Prometheus, Loki, <abbr title="Elasticsearch Logstash Kibana">ELK</abbr>, + Sentry, Tempo. + </dd> <dt class="skills__title">Programming</dt> - <dd class="skills__items">Ruby, Python, Bash, TypeScript, Rust.</dd> + <dd class="skills__items">Go, Ruby, Python, Bash, Rust.</dd> <dt class="skills__title">Paradigms</dt> <dd class="skills__items"> Design Patterns, Test Driven Development (<abbr>TDD</abbr>), Behavior Driven Development (<abbr>BDD</abbr>), - Continuous Integration and Delivery (<abbr>CI/CD</abbr>), RESTful APIs. + Continuous Integration and Delivery (<abbr>CI/CD</abbr>), Infrastructure as Code (<abbr>IaC</abbr>), + Configuration as Code, RESTful APIs, Micro-Services. </dd> <dt class="skills__title">Tools</dt> <dd class="skills__items"> - Vim, Git, tmux, ssh, Asana, Atlassian, CircleCI, TravisCI, Terminal, bash, Notion, Sidekiq, ... - </dd> - - <dt class="skills__title">Security</dt> - <dd class="skills__items"> + vim, git, tmux, ssh, bash, kubectl, kubevela, ansible, helmfile, vagrant, docker, certbot, dig, bosh, vault, nc, nmap, curl, ffuf, gobuster, sqlmap, xxd, searchsploit, meta-sploit, commix, gdb, ltrace, ... </dd> @@ -96,6 +96,34 @@ <h2 class="work__header section-header">Work Experience</h2> <article class="work__experience"> <div class="job-position"> + <h2 class="job-position__company"> + <a href="https://group.springernature.com/gp/group">Springer Nature AG & Co. KGaA</a> + </h2> + <em class="job-position__title">Platform Engineer</em> + <em class="job-position__duration">Feb. 2022 - Present</em> + <em class="job-position__location">Berlin, Germany</em> + </div> + <p class="note">Part of the Engineering Enablement team, that enables product teams to focus on + delivering value to the business.<br/> + We Provide: <br/> + </p> + <ul class="tasks"> + <li>Platform as a Service (<abbr>PaaS</abbr>) with centralised services like + logging, metrics, CI/CD and caching. + </li> + <li>CloudFoundry platform capable of handling an average of 13.000 requests/min.</li> + <li>CloudFoundary and Kubernetes clusters with around 2.800 apps (Micro-Services).</li> + <li>Concourse pipelines that handle an average of 4.000 deployments/week.</li> + <li>Internal tooling around building pipelines for CI/CD on Concourse and GitHub actions.</li> + <li>Prometheus as a Service, and pre-configured customizable Grafana dashboards for developers to use.</li> + <li>Logging via ELK/Loki and logging metrics.</li> + <li>Implementing solutions for cloud services, focusing on high availability, security, + disaster recovery, scaling and performance. + </li> + </ul> + </article> + <article class="work__experience"> + <div class="job-position"> <h2 class="job-position__company"><a href="https://sapera.com/">Sapera GmbH.</a></h2> <em class="job-position__title">Senior Developer/DevOps</em> <em class="job-position__duration">Apr. 2018 - Nov. 2021</em> diff --git a/app/print.styl b/app/print.styl index 7f5cff3..41ca616 100644 --- a/app/print.styl +++ b/app/print.styl @@ -8,6 +8,10 @@ body { line-height: 1.3 } +a:link, a:visited, a:hover, a:active { + text-decoration-thickness: 1px +} + .section-header { font-size: 18pt margin-bottom: -0.6em diff --git a/app/stylesheets/print/education.styl b/app/stylesheets/print/education.styl index c3d6fd8..ebefd27 100644 --- a/app/stylesheets/print/education.styl +++ b/app/stylesheets/print/education.styl @@ -1,6 +1,7 @@ .education { // avoid page breaks inside the education section page-break-inside: avoid + margin-top: 75px // remove the extra space added for the website margin-bottom: 0 } diff --git a/app/stylesheets/print/projects.styl b/app/stylesheets/print/projects.styl index 8ab284c..be9dd75 100644 --- a/app/stylesheets/print/projects.styl +++ b/app/stylesheets/print/projects.styl @@ -1,3 +1,7 @@ -.project { +.projects { + margin-top: 75px page-break-inside: avoid } + +.project { +} diff --git a/app/stylesheets/print/skills.styl b/app/stylesheets/print/skills.styl index 57c51fa..e5bba67 100644 --- a/app/stylesheets/print/skills.styl +++ b/app/stylesheets/print/skills.styl @@ -1,3 +1,7 @@ +.skills { + margin-top: 75px +} + .skills__content { margin-top: 1.5em } diff --git a/app/stylesheets/print/work.styl b/app/stylesheets/print/work.styl index 4e8a9be..2b57f74 100644 --- a/app/stylesheets/print/work.styl +++ b/app/stylesheets/print/work.styl @@ -1,3 +1,15 @@ +.work { + margin-top: 75px + margin-bottom: 180px +} + .work__experience { page-break-inside: avoid } + +// Style the Company name links in the PDF with thicker underline +.job-position__company { + a:link, a:visited, a:hover, a:active { + text-decoration-thickness: 2px + } +} diff --git a/app/stylesheets/web/work.styl b/app/stylesheets/web/work.styl index caa127d..a989349 100644 --- a/app/stylesheets/web/work.styl +++ b/app/stylesheets/web/work.styl @@ -7,6 +7,20 @@ .work__experience { } +.work__experience { + &:after { + display: flex + content: "" + border-bottom: 1px solid + margin: auto + max-width: 30% + } + &:last-of-type:after { + // remove the extra horizontal line after the last work__experience + display: none + } +} + .job-position { display: flex flex-flow: row wrap diff --git a/app/web.styl b/app/web.styl index 34a7f53..2e05848 100644 --- a/app/web.styl +++ b/app/web.styl @@ -15,7 +15,7 @@ secondaryColor = #DB0A16 } body { - font-family: "PT Sans", Arial, sans-serif + font-family: "PT Sans", "Kohinoor Bangla", sans-serif max-width: 1024px min-width: 375px margin: 0 auto @@ -30,9 +30,10 @@ main { a:link, a:visited, a:hover, a:active { - text-decoration: none + text-decoration-color: secondaryColor + text-decoration-thickness: 2px + text-underline-offset: 2px color: inherit - border-bottom: 1px solid secondaryColor } .section-header { |
