Resume
Skills
- Programming Languages: Python, Scala/Java, Go, a bit of C/C++, Nix expression language, sh/bash
- Programs/Systems: systemd, Docker, various package managers, git, GNU make, Vim, ...
- Operating Systems: Linux (Ubuntu, Alpine, NixOS, ...), OS X/Darwin
- Public Clouds experience: AWS (EC2, S3, Route53, ...), Google Cloud (Compute Engine, GCS, ...)
Public Work
GitHub profile: https://github.com/AmineChikhaoui
Contributor to some of the open-source projects that are part of the NixOS org. Contributed mainly to NixOPS (significant portions of the AWS and Google Cloud backends), but I'm not involved in the project nowadays.
Experience
Infor Aug 2015 - present
I started as an application developer at Predictix/Logicblox, a ∼ 100-person startup. The company was acquired by Infor in June 2016.
Infor Nexus, Senior Software Engineer Nov 2021 - present (Atlanta, USA)
Infor Nexus is a privately-owned cloud supply chain platform, founded in 1998 in Oakland, California. It runs an on-demand global supply chain management platform that is used by organizations to manage global logistics and trade processes.
- Working with the DevOPS team on internal tooling and deployment infrastructure.
Logicblox Team, Software Engineer Feb 2018 - Nov 2021 (Atlanta, USA)
-
Responsible for the build and packaging of the Logicblox Platform which consists of various projects;
C++/GNU make
(db runtime),Scala/SBT/Java
(web),Javascript/NodeJS/Yarn/NPM
(UI).The packaging is all
Nix
based and targeting various platforms:Linux/NixOS
,darwin/OSx
as well as various Linux distros includingRHEL
with oldglibc
versions for some customers. -
Continued support for the Nix infrastructure as well as helping teams use
Nix
for builds and deployments. -
Embedded in the retail product team from July 2019 as a
Logicblox
platform expert:-
Set up the benchmarking infrastructure.
-
Performance analysis and tuning of online/batch workloads.
-
Coordinate between the retail product team and the Logicblox platform team.
Tracing,perf
,async-profiler
, flamegraphs, ...
-
DevOPS team, DevOPS Engineer Apr 2017 - Feb 2018 (Tunis, Tunisia - Atlanta, USA)
-
Logicblox Jobs multi-tenant service
Technologies:lb-jobs
is an internal highly distributed job scheduler designed for running concurrent Logicblox based batch jobs.AWS/EC2/SQS
,Google Cloud
,Logicblox
,Java
,Nix
- Feature development, bug fixes and application support.
- Helped add support for Google Cloud backend (workers and provisioner).
- Managing the deployment and monitoring of the production and development clusters.
- on-call for production
-
Nix/NixOS/NixOPS
:Nix
expert, help the different teams write Nix deployments and build expressions. Troubleshoot issues and help fix them.- Factor out the common code across client deployments and builds into generic expressions used by all teams.
- Contribute needed features and bug fixes to upstream projects such as the
Nix package manager (
C++
), Hydra (Perl
andC++
) and significant parts of NixOPS (Python
). - Managing our private deployment of the Hydra build farm consisting of ~40 Hetzner bare metal machines, Mac minis as well as EC2 spot instances for auto-scaling.
Application Development, Software Engineer Aug 2015 - Apr 2017 (Tunis, Tunisia)
-
Work on the back-end of one of our major Forecast and Replenishment projects:
Technologies: LogiQL, Logicblox workflow DSL- Production support: on-call
- Manage the production cluster of +40 nodes deployed in AWS EC2 using
NixOPS/NixOS
- Improve monitoring and metrics collection.
- Improve system and batch performance, including application database tuning and system performance troubleshooting.
Education
Ecole Nationale des sciences de L'informatique ENSI Sep 2012 - June 2015 (Mannouba, Tunisia)
National Diploma of Engineering in Computer Science
- Focus: Networks and Distributed Systems
Institut Preparatoire aux Études d'Ingenieurs de Tunis Sep 2010 - June 2012 (Tunis, Tunisia)
Preparatory courses in engineering education, advanced Mathematics, Physics and Chemistry