summaryrefslogtreecommitdiffstats
path: root/app/assets/index.html
blob: 2ede98469f465c35ee63d387c62f8dc896b5663c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <title>A14M</title>
    <link href="https://unpkg.com/sanitize.css" rel="stylesheet" />
    <link href="/base.css" rel="stylesheet" media="all" />
    <link href="/print.css" rel="stylesheet" media="print" />
    <link rel="shortcut icon" href="/favicon.ico" />

    <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="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="color-scheme" content="dark light" />
  </head>

  <body>
    <main>
      <header>
        <h1>Ahmed AbdelHalim</h1>
        <em>Senior Software Developer · DevOps</em>
        <address>
          Berlin, Germany<br />
          <a href="tel:+491770126386">+49 (0)177 912 6386</a>
          <a href="mailto:[email protected]">[email protected]</a>
          <a href="http://a14m.me"><abbr>A14M</abbr></a>
          <a href="https://sr.ht/~a14m"><abbr>A14M</abbr></a>
          <a href="https://github.com/a14m"><abbr>A14M</abbr></a>
          <a href="https://stackoverflow.com/users/1769515/a14m"><abbr>A14M</abbr></a>
          <a href="https://www.linkedin.com/in/a14m"><abbr>A14M</abbr></a>
        </address>
      </header>

      <article>
        <h1>Summary</h1>
        <p>
          Current senior backend and infrastructure developer at <a href="https://sapera.com">Sapera GmbH</a>, with 7+
          years experience in development (backend/API focused), 3+ years in infrastructure automation and DevOps. 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).
        </p>
      </article>

      <article>
        <h1>Skills</h1>
        <dl>
          <dt>DevOps</dt>
          <dd>Ansible, Terraform, Docker, Vagrant, Makefile, certbot.</dd>

          <dt>Back-end</dt>
          <dd>Ruby on Rails, PostgreSQL, Redis, MongoDB, MySQL, Django.</dd>

          <dt>Front-end</dt>
          <dd>ReactJS, HTML5, Next.js, StimulusJS, TypeScript.</dd>

          <dt>Programming</dt>
          <dd>Ruby, Python, Bash, TypeScript, Rust.</dd>

          <dt>Paradigms</dt>
          <dd>
            Design Patterns, Test Driven Development (<abbr>TDD</abbr>), Behavior Driven Development (<abbr>BDD</abbr>),
            Continuous Integration and Delivery (<abbr>CI/CD</abbr>), RESTful APIs.
          </dd>

          <dt>Tools</dt>
          <dd>
            Vim, Git, Asana, Atlassian, CircleCI, TravisCI, Terminal, bash, Notion, Sidekiq, ...
          </dd>

          <dt>Platforms</dt>
          <dd>
            Amazon Web Services (<abbr>AWS</abbr>), DigitalOcean, Heroku, Google Cloud Platform (<abbr>GCP</abbr>),
            *nix.
          </dd>

          <dt>Languages</dt>
          <dd>English (Professional), German (Basic), Arabic (Native).</dd>
        </dl>
      </article>

      <article>
        <h1>Work Experience</h1>
        <article>
          <h2><a href="https://sapera.com/">Sapera GmbH.</a></h2>
          <em>Senior Developer/DevOps</em>
          <em>Berlin, Germany</em>
          <em>Apr. 2018 - Present</em>
          <ul>
            <li>
              Led the front-end team working on developing and shipping our (localized) company's website.
            </li>
            <li>
              Implemented different project's infrastructure as code (<abbr>IaC</abbr>) using Terraform and Ansible.
            </li>
            <li>Standardized the deployment and infrastructure processes (and maintain the process documentation).</li>
            <li>Built templates to provision infrastructure on different cloud providers.</li>
            <li>Built templates to provision infrastructure for different development stages.</li>
            <li>
              Built standardized workflows using CircleCI to automate deployments (for internal and external projects).
            </li>
            <li>
              Implemented and maintained the (Rails 5) JSON API serving our
              <a href="https://app.visualpedia.igg.cloud"> infographics portal</a>.
            </li>
            <li>Maintained 99+\% documentation coverage of the Infographics API and 90+\% test coverage.</li>
            <li>Worked with Docker to provide deliverables for some of our external projects.</li>
            <li>Provided support and tutoring to work with our standard deployment workflows.</li>
            <li>Worked closely with our Systems Engineer to support with various DevOps tasks.</li>
          </ul>
        </article>
        <article>
          <h2><a href="https://liqid.de/">LIQID GmbH.</a></h2>
          <em>Senior Backend Developer</em>
          <em>Berlin, Germany</em>
          <em>Mar. 2016 - Dec. 2017</em>
          <ul>
            <li>Maintained the RESTful API (used by admins and front-end).</li>
            <li>Implemented and maintained the integration with Deutsche Bank.</li>
            <li>
              Implemented and maintained the integration with Intercom
              <abbr title="Customer Relationship Management">CRM.</abbr>
            </li>
            <li>Implemented and maintained the Invoicing system.</li>
            <li>
              Implemented the new authentication layer using
              <a href="https://tools.ietf.org/html/rfc7519">(RFC7519: JWT)</a>.
            </li>
            <li>Implemented the <abbr title="Two-Factor Authentication">2FA</abbr> for user/client login.</li>
            <li>Integrated other services like DocuSign, PostIdent,...</li>
            <li>Implemented day to day business/marketing/technical requirements.</li>
          </ul>
        </article>
        <article>
          <h2>PrioriData GmbH.</h2>
          <em>Full Stack Developer</em>
          <em>Berlin, Germany</em>
          <em>Jul. 2015 - Mar. 2016</em>
          <p>Was acquired by <a href="https://airnow.com/">Airnow Data Ltd.</a></p>
          <ul>
            <li>Maintained the Rails web (dashboard) app.</li>
            <li>Optimized the scraping process of getting the data from Apple and GooglePlay stores.</li>
            <li>Reimplemented the queueing and monitoring around the scrapers.</li>
            <li>Migrated acquired data from different resources to Google BigQuery.</li>
            <li>
              Maintained and provisioned different purpose <abbr title="Virtual Machines">VM</abbr> instances on Google
              Cloud Platform (using chef).
            </li>
            <li>
              Reimplemented the &#8220;Extract&#8221; step in the
              <abbr title="Extract, Transform, Load">ETL</abbr> process (using an API based crawler approach instead of
              phantom browser).
            </li>
          </ul>
        </article>

        <article>
          <h2>AskNative</h2>
          <em>Backend Developer/DevOps</em>
          <em>Remote, Egypt</em>
          <em>May. 2013 - Jul. 2015</em>
          <ul>
            <li>
              Reimplemented large portions of the API to follow better design patterns (Hexagonal Architecture, and
              <abbr title="Publish-Subscribe">Pub/Sub</abbr> pattern).
            </li>
            <li>Implemented the test suite for the API.</li>
            <li>Implemented events booking feature via Stripe.</li>
            <li>Reimplemented caching for better response times.</li>
            <li>Maintained the Heroku stacks for staging/production.</li>
          </ul>
        </article>
      </article>

      <article>
        <h1>Writing</h1>
        <ul>
          <li>
            <h2>
              <a href="https://www.toptal.com/ruby-on-rails/the-publish-subscribe-pattern-on-rails">
                The Publish/Subscribe Pattern on Rails
              </a>
            </h2>
            <p>
              A published
              <a href="https://www.toptal.com/ruby-on-rails/the-publish-subscribe-pattern-on-rails">blog post</a>
              about implementing the Pub/Sub pattern in practice in Rails apps.
            </p>
          </li>
          <li>
            <h2>
              <a href="https://www.toptal.com/abap/clean-code-and-the-art-of-exception-handling">
                Clean Code and the Art of Exception Handling
              </a>
            </h2>
            <p>
              A published
              <a href="https://www.toptal.com/abap/clean-code-and-the-art-of-exception-handling">blog post</a>
              about different tactics and strategies for exception handling and how to use them to write cleaner code.
            </p>
          </li>
        </ul>
      </article>

      <article>
        <h1>Projects</h1>
        <ul>
          <li>
            <h2>
              <a href="https://sr.ht/~a14m/game-of-life/">
                Conway's Game of Life
              </a>
            </h2>
            <p>
              A mono repo implementing different command line interfaces (<abbr>CLI</abbr>) for
              <a href="https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life">Game of Life</a> in multiple languages
              (currently Ruby/Rust), and the automation for publishing updates to different package managers using a
              git-ish workflow.
            </p>
          </li>
          <li>
            <h2>
              <a href="http://a14m.me">
                a14m.me
              </a>
            </h2>
            <p>
              This website/CV.
            </p>
          </li>
          <li>
            <h2>
              <a href="https://info.graphics">
                Info.graphics
              </a>
            </h2>
            <p>
              As part of working at <a href="https://sapera.com">Sapera</a>, I was part of the team that drafted and
              built this interactive story telling platform for creators/designers, to create and publish interactive
              stories/infographics on the web.
            </p>
          </li>
        </ul>
      </article>

      <article>
        <h1>Education</h1>
        <strong>B.E. in Computer Science and Engineering</strong>
        <strong>GPA 3.1/4.0 (B - Very Good)</strong>
        <a href="https://aast.edu">
          Arab Academy for Science and Technology (<abbr>AASTMT</abbr>)
        </a>
      </article>
    </main>
  </body>
</html>