Cloud Architect2020 - 2020Hatchdata
Technologies: Amazon Web Services (AWS), Terraform, VPN, AWS Transit Gateway, AWS
- Refactored Terraform scripts to minimize the update anxiety.
- Advised on the best network architecture involving a Transit Gateway, multiple VPNs, and multiple AWS accounts for a complex flow of IoT data with the right balance between simplicity and efficiency, also being future-proof.
- Set up AWS Client VPN using Terraform with mutual authentication.
DevOps Engineer2019 - 2020SIBOTest
Technologies: Docker, Ruby on Rails (RoR), MySQL NDB Cluster, MySQL, DigitalOcean
- Performed various system administration tasks, especially related to SSL certificates.
- Dockerized the Ruby-on-Rails web application in order to facilitate deployments.
- Designed and implemented a MySQL NDB cluster in order to increase the database resiliency.
- Designed a highly available, microservice-based cloud architecture for the SIBOTest website.
Software Developer2018 - 2020Topps Digital
Technologies: Amazon Web Services (AWS), SQLAlchemy, PostgreSQL, Flask-Marshmallow, Flask, Pytest, AWS, AWS Elastic Beanstalk, Python 3, Python
- Designed, implemented, and tested a back-end microservice in Python 3.6 running on Elastic Beanstalk in AWS.
- Implemented new services based on Flask and SQLAlchemy as part of a microservice architecture consisting of back-ends to mobile applications allowing users to trade virtual cards.
- Wrote extensive unit tests using Pytest for a number of microservices.
DevOps Engineer2019 - 2019A shopping-site startup in the Middle East
Technologies: Amazon Web Services (AWS), Let's Encrypt, SSL, AWS ECS, Docker, AWS CloudFormation, AWS
- Designed and implemented workload architecture on AWS suitable for the startup requirements based on Docker and ECS.
- Designed and implemented a complex system to generate and manage SSL certificates for this multi-tenant application.
- Automated workload provisioning using infrastructure-as-code (CloudFormation) such that white labeling would be possible.
Blockchain Specialist2017 - 2018Blocknet
Technologies: C++, Bitcoin, Smart Contracts, Ethereum
- Inspected C++ code for the BlocknetDX wallet and advised on improvements.
- Designed a protocol for the atomic exchange of bitcoins and ethers, including code for smart contracts.
- Designed a protocol for the atomic exchange of Ethereum colored coins following the ERC20 standard.
- Advised on the Ethereum side of things for the Blocknet whitepaper: https://blocknet.co/whitepaper/Blocknet_Whitepaper.pdf.
Senior Software Engineer2017 - 2017G4S
Technologies: DBus, Docker, Git, C++11, C++, Python 3, Python, Ubuntu, Linux
- Added new features to an access control system written in C++11 and Python 3.
DevOps Engineer2016 - 2017Cisco
Technologies: ELK (Elastic Stack), Kibana, Logstash, Elasticsearch, VMware vSphere, VMware ESXi, Rally, Git, NMap, Netfilter, Iptables, Bash, Scrum, Continuous Integration (CI), BlackDuck Protex, Jenkins, Coverity, Python, Ubuntu, CentOS, Linux
- Worked as part of the system team—releasing STB software to a major EU broadcaster.
- Helped design and implement a black box STB test framework written in Python.
- Set up and maintained a variety of software tools to enable the smooth running of the continuous integration and development/testing work.
- Set up Coverity static analysis and nightly automation using Jenkins.
- Set up Black Duck open source code matching.
- Configured Nagios and set up of NRPE with custom Git checks.
- Implemented various Cron/Jenkins jobs in Bash/Python to automate tasks.
- Installed and configured a DHCP server.
- Worked within a Scrum process with six weeks iterations, and the team was spread over three countries.
- Worked with a code base with 20 million+ lines of code.
- Detected and responded to system problems.
Release Manager2015 - 2016V-Nova
Technologies: MPEG, Kernel, Boost, Standard Template Library (STL), Scrum, Agile, H.264, Git, Linux, C++11, C++
- Worked on the Perseus-based contribution encoder.
- Acted as the link (release manager) between the development and the product teams.
- Translated high-level business requirements into technical requirements.
- Established timelines and work breakdown structures in collaboration with the development team.
- Reported on the progress on a weekly basis and detected and reported impeding difficulties.
- Devised an Agile process with weekly iterations (based on Scrum).
- Changed the supplier of video cards to a cheaper product with much better support.
- Coded new features; including debugging and fixing of bugs and also integrated a TS muxer.
Senior Software Engineer2013 - 2015Ovation Systems Ltd
Technologies: SQLite, H.264, Git, Embedded Linux, ARM, C
- Worked on the next generation of surveillance camera running on ARM9 with embedded Linux.
- Designed and developed the subsystems managing the date/time, mass storage, and multiplexing of the audio (AAC) and video (H.264) into a Flash file (FLV).
- Implemented automated unit-testing for the above subsystems.
Senior Software Engineer2013 - 2013Samsung
Technologies: WebKit, OpenGL
- Investigated and analyzed the performance of the OpenGL stack for WebKit.
Lead Software Engineer2011 - 2013e2v
Technologies: DOORS, ASM, Embedded C, Code Composer Studio, RS-232, Serial Peripheral Interface (SPI), I2C, XML, TCP/IP, UML, Redmine, Subversion (SVN), Embedded Linux, BeagleBone Black, DSP, Software Architecture, Project Management, C++
- Worked on a modulator for a radiotherapy cancer treatment machine.
- Worked with a team of 15 people (including five who were under my direct management).
- Developed software that controls the modulator, from requirements to specifications, design, implementation, unit tests, and integration tests.
- Made all the critical decisions: choosing the programming language (C++), software compilation suite, coding standards, and RTOS vs bare metal.
- Defined C++ coding guidelines adapted to this high-integrity software.
- Designed the software architecture, including the structure of a 1 kHz control loop with hard real-time requirements.
- Verified the progress against time estimates and regularly reported to the project manager.
- Demonstrated successfully a proof of concept.
Software Engineer2010 - 2010AB Tools
Technologies: AAC, MP3, HTTP, Icecast, C
- Made modifications to the Icecast MP3 server to seamlessly insert audio ads for internet radio.
Software Engineer2009 - 2010Megger
Technologies: USB, SQLite, U-Boot, .NET, C, Microsoft Project, UML, Agile, Visual Studio, Win32 API, C#, C++, Systems
- Worked on the next generation of a portable appliance tester running on Integrity.
- Designed and developed some GUI screens and widgets.
- Designed and developed C++ classes to access SQLite databases; also designed the database schemas.
- Proposed an agile iterative software development process; it was partially adopted.
- Developed a USB printer class driver.
- Developed a Win32 PC application allowing the user to upgrade the PAT SW.
- Developed various device drivers: SPI driver, RTC driver, keyboard driver, and more.
- Made some modifications in U-Boot.
- Developed a .NET PC application to automate the programming of boards.
Software Engineer2007 - 2009Amino
Technologies: Linux Kernel, Embedded Linux, MPEG, IPTV, C
- Performed various jobs on the next generation of IPTV STB, including a CA integration and MPEG Demux driver.
Software Engineer2006 - 2007Imagination Technologies
Technologies: GLib, Windows Media Audio (WMA), MP3, Linux, GStreamer, RTCP, RTP, RTSP, SHOUTcast, C
- Integrated GStreamer to the next generation of digital radios able to play internet audio streams.
- Developed the following: an RTSP/RTP/RDT stack, ASF Demux, Real Media Demux, and a HTTP streaming client.
Software Engineer2006 - 2006NXP Semiconductors
Technologies: JTAG, MIPS, Linux Kernel, C
- Upgraded some software drivers from an old STB to a new one running on Linux.
Software Engineer2006 - 2006NDS
Technologies: MPEG, ARM, JTAG, MIPS, PVCS, C
- Developed some test tools to test STB drivers that wwere developed by STB manufacturers for the US digital TV market.
Software Engineer2005 - 2006Ezurio
Technologies: WiFi, TCP/IP, C
- Developed various software components for a tiny WiFi board.
- Delivered successfully an SW—allowing the demonstration of the smallest WiFi board on the market to a key trade exhibition.
Networking Software Engineer2004 - 2005Sagem
Technologies: MIPS, TCP/IP, Ethernet, VxWorks, Linux Kernel, Embedded Linux, C
- Wrote for an ADSL modem a Linux Bluetooth API calling VxWorks.
- Developed an ethernet bridge making use of the network processor.
Software Engineer2003 - 2004Philips CE
Technologies: MIPS, Continuum, USB, VxWorks, C
- Worked on the next generation of high-end Philips Digital TV.
- Integrated the VxWorks USB stack.
- Developed various plug-ins.
Software Engineer2003 - 2003Reuters Financial Software
Technologies: CVS, Design Patterns, Standard Template Library (STL), Solaris, Oracle, TIBCO Rendezvous, C++
- Maintained a server providing access services to an Oracle database.
Validation Manager2002 - 2002MBDA
Technologies: RPM, Solaris, Linux, VxWorks, UDP, TCP, CVS, C
- Managed the validation of a test bench of a missile launching system.
Software Engineer2001 - 2002Philips MP4NET
Technologies: RPM, UDP, TCP, Solaris, Linux, CVS, Shell Scripting, RTCP, RTP, RTSP, C++, C
- Developed a network tool to replicate a distant video session.
- Maintained a video streaming server.
Software Engineer2000 - 2001Alcatel Optronics
Technologies: Oscilloscopes & Tester Equipment, MPLAB, C
- Developed software that was embedded on transmitting laser chips to control the laser's wavelength.
Software Engineer1998 - 2000Sagem
Technologies: Solaris, CVS, RPM, Microsoft SQL Server, MS-DOS, Linux, C
- Developed various software modules embedded on military vehicles and planes.