summaryrefslogtreecommitdiffstats
path: root/data/home
diff options
context:
space:
mode:
Diffstat (limited to 'data/home')
-rw-r--r--data/home/index.yaml48
-rw-r--r--data/home/projects.yaml11
-rw-r--r--data/home/work.yaml81
-rw-r--r--data/home/writing.yaml29
4 files changed, 169 insertions, 0 deletions
diff --git a/data/home/index.yaml b/data/home/index.yaml
new file mode 100644
index 0000000..5848a6d
--- /dev/null
+++ b/data/home/index.yaml
@@ -0,0 +1,48 @@
+Meta:
+ Name: Ahmed AbdelHalim
+ Title: Platform Engineer · DevOps
+ Location: Berlin, Germany
+ Phone: +49 177 912 6386
+ Srht: https://git.sr.ht/~a14m
+ Github: https://github.com/a14m
+ StackOverflow: https://stackoverflow.com/users/1769515/a14m
+ LinkedIn: https://www.linkedin.com/in/a14m
+
+Summary:
+ Platform engineer 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).
+
+Skills:
+ - DevOps:
+ Kubernetes, Terraform, Docker, Ansible, CloudFoundry, Helm, Fastly,
+ Vault, Concourse, Artifactory, ...
+ - Telemetry:
+ Grafana, Prometheus, Loki, ELK, Sentry, Tempo.
+ - Coding:
+ Go, Ruby, Python, Bash, Rust.
+ - Paradigms:
+ Design Patterns, Test Driven Development (TDD),
+ Behavior Driven Development (BDD),
+ Continuous Integration and Delivery (CI/CD), Infrastructure as Code (IaC),
+ Configuration as Code, RESTful APIs, Micro-Services.
+ - Tools:
+ 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, ...
+ - Platforms:
+ Amazon Web Services (AWS), DigitalOcean,
+ Heroku, Google Cloud Platform (GCP), Linux.
+ - Languages:
+ English (Professional), German (Basic), Arabic (Native).
+
+Education:
+ Degree: B.E. in Computer Science and Engineering
+ University: Arab Academy for Science and Technology
+ GPA: GPA 3.1/4.0 (B - Very Good)
+ Duration: Sep. 2005 - Jan. 2011
+ Location: Alexandria, Egypt
diff --git a/data/home/projects.yaml b/data/home/projects.yaml
new file mode 100644
index 0000000..7aeed8b
--- /dev/null
+++ b/data/home/projects.yaml
@@ -0,0 +1,11 @@
+Projects:
+ - title: <a href="https://git.sr.ht/~a14m/game-of-life"> Conway's Game of Life </a>
+ content:
+ A mono-repo with different command line interface (<abbr>CLI</abbr>) implementations for the
+ <a href="https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life">Game of Life</a> in multiple languages
+ (currently Ruby/Rust), with the automation for publishing updates to
+ different package managers using a git-ish workflow.
+
+ - title: <a href="https://git.sr.ht/~a14m/a14m.srht.site"> a14m.srht.site </a>
+ content:
+ The source code, and deployment scripts for this website/CV/blog.
diff --git a/data/home/work.yaml b/data/home/work.yaml
new file mode 100644
index 0000000..0b59d35
--- /dev/null
+++ b/data/home/work.yaml
@@ -0,0 +1,81 @@
+Work:
+ - Company: <a href="https://group.springernature.com/gp/group">Springer Nature AG & Co. KGaA</a>
+ Title: Platform Engineer
+ Duration: Feb. 2022 - Aug. 2022
+ Location: Berlin, Germany
+ Note:
+ Working as part of the <b>Engineering Enablement</b> team, who provides infrastructure, internal tooling, docs,
+ CloudFoundry platform, and Kubernetes clusters, to help the development teams with their daily tasks.
+ Tasks:
+ - Worked on internal <a href="https://github.com/springernature/halfpipe">(halfpipe)</a>
+ tooling for building CI/CD pipelines on Github actions and Concourse.
+ - Implemented reusable GitHub Actions workflows for deploying to CloudFoundry, Kubernetes, and Docker Registries.
+ - Implemented tooling to show and report Kubernetes deployment status (from CI/CD) to respective teams,
+ and notify them on failure.
+ - Implemented alert-routing service, to integrate with Prometheus
+ <a href="https://prometheus.io/docs/alerting/latest/alertmanager/">alert-manager</a>.
+ And sends alerts to different teams/projects, and preconfigured Slack channels or emails.
+ - Maintained team docs used by other development teams, to integrate with and use internal platforms.
+ - Maintained terraform-provisioned infrastructure of different parts of the platforms.
+
+ - Company: <a href="https://sapera.com/">Sapera GmbH.</a>
+ Title: Senior Developer/DevOps
+ Duration: Apr. 2018 - Nov. 2021
+ Location: Berlin, Germany
+ Tasks:
+ - Implemented infrastructure as code (IaC) for different projects using Terraform and Ansible.
+ - Standardized the deployment process (and maintained the process documentation).
+ - Built templates to provision infrastructure on different cloud providers and development stages.
+ - Built standardized workflows using CircleCI to automate deployments (for internal and external projects).
+ - Implemented and maintained the (Rails 5) JSON API serving our <a href="#note1"> infographics portal[1]</a>.
+ - Maintained 99+&percnt; documentation coverage of the <a href="#note1"> infographics portal[1]</a>. API
+ and 90+&percnt; test coverage.
+ - Worked with Docker to provide deliverables for some of our external projects.
+ - Provided support and tutoring to work with our standard deployment workflows (internally and externally).
+ - Worked closely with our Systems Engineer to support with various DevOps tasks.
+ - Rewrote, maintained and provisioned some of the data pipelines to adhere to a better security standards.
+ FootNote:
+ <a id="note1" href="#note1">[1]</a> A working version of the infographics portal was acquired by
+ <a href="https://scrollytelling.net/"> Scrolly Telling GmbH</a> and still worked on by them as seen at
+ <a href="https://five-times.com/"> Five-Times</a>.
+
+ - Company: <a href="https://liqid.de/">LIQID GmbH.</a>
+ Title: Senior Backend Developer
+ Duration: Mar. 2016 - Dec. 2017
+ Location: Berlin, Germany
+ Tasks:
+ - Maintained the RESTful API (used by admins and front-end).
+ - Implemented and maintained the integration with Deutsche Bank.
+ - Implemented and maintained the integration with Intercom
+ <abbr title="Customer Relationship Management">CRM.</abbr>
+ - Implemented and maintained the Invoicing system.
+ - Implemented the new authentication layer using
+ <a href="https://tools.ietf.org/html/rfc7519">(RFC7519&colon; JWT)</a>.
+ - Implemented the Two-Factor Authentication (2FA) for user/client login.
+ - Integrated other services like DocuSign, PostIdent,...
+ - Implemented day to day business/marketing/technical requirements.
+
+ - Company: PrioriData GmbH.
+ Title: Full Stack Developer
+ Duration: Jul. 2015 - Feb. 2016
+ Location: Berlin, Germany
+ Note: Was acquired by <a href="https://airnow.com/">Airnow Data Ltd.</a>
+ Tasks:
+ - Maintained the Rails web (dashboard) app.
+ - Optimized the scraping process of getting the data from Apple and GooglePlay stores.
+ - Reimplemented the queueing and monitoring around the scrapers.
+ - Migrated acquired data from different resources to Google BigQuery.
+ - Maintained and provisioned different purpose VM instances on Google Cloud Platform (using chef).
+ - Reimplemented the “Extract” step in the ETL process (using an API based crawler instead of phantomJS browser).
+
+ - Company: AskNative
+ Title: Backend Developer/DevOps
+ Duration: May. 2013 - Jul. 2015
+ Location: Remote, Egypt
+ Tasks:
+ - Implemented the test suite for the API.
+ - Implemented events booking feature via Stripe.
+ - Reimplemented caching for better response times.
+ - Maintained the Heroku stacks for staging/production.
+ - Reimplemented large portions of the API to follow better design patterns
+ (Hexagonal Architecture, and <abbr title="Publish-Subscribe">Pub/Sub</abbr> pattern).
diff --git a/data/home/writing.yaml b/data/home/writing.yaml
new file mode 100644
index 0000000..de93987
--- /dev/null
+++ b/data/home/writing.yaml
@@ -0,0 +1,29 @@
+Writing:
+ - title: The Publish/Subscribe Pattern on Rails
+ content:
+ A
+ <a href="https://www.toptal.com/ruby-on-rails/the-publish-subscribe-pattern-on-rails">
+ Toptal published blog post
+ </a>
+ on implementing the <abbr title="Publish-Subscribe">Pub/Sub</abbr>
+ pattern in practice in Rails apps.
+
+ - title: Clean Code and the Art of Exception Handling
+ content:
+ A
+ <a href="https://www.toptal.com/abap/clean-code-and-the-art-of-exception-handling">
+ Toptal published blog post
+ </a>
+ on different tactics and strategies for exception handling
+ and how to employ them to write cleaner code.
+
+ - title: <a href="https://git.sr.ht/~a14m/OTW"> Over The Wire Solutions </a>
+ content:
+ Solutions for some of the <a href="https://overthewire.org/wargames/">OTW wargames</a>
+ documented in a README files format.
+
+ - title: <a href="https://git.sr.ht/~a14m/HTB"> Hack The Box Solutions </a>
+ content:
+ Learning security analysis via documenting the solutions for some of the
+ <a href="https://hackthebox.eu">HTB machines</a>
+ in a README files format.