diff options
| author | Ahmed Abdelhalim <[email protected]> | 2023-08-10 15:39:23 +0300 |
|---|---|---|
| committer | Ahmed Abdelhalim <[email protected]> | 2023-08-10 15:56:39 +0300 |
| commit | f722d20725586ee4744d077770ef7a89ab05e360 (patch) | |
| tree | eb141eb2831164a2b1078f56cb52a356ad2171a5 /data | |
| parent | aac6c22687ca78f5131545e46b637fd63a8dff89 (diff) | |
Migrate from brunch to hugo
Diffstat (limited to 'data')
| -rw-r--r-- | data/.keep | 0 | ||||
| -rw-r--r-- | data/home/index.yaml | 48 | ||||
| -rw-r--r-- | data/home/projects.yaml | 11 | ||||
| -rw-r--r-- | data/home/work.yaml | 81 | ||||
| -rw-r--r-- | data/home/writing.yaml | 29 |
5 files changed, 169 insertions, 0 deletions
diff --git a/data/.keep b/data/.keep new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/data/.keep 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 + Email: [email protected] + 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+% documentation coverage of the <a href="#note1"> infographics portal[1]</a>. API + and 90+% 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: 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. |
