I am a telecommunications software engineer. I strive to accelerate the development of the companies I work for with my ability to analyze and troubleshoot challenging and complex technical problems, and to provide solutions/design architectures that are customized for the need, using opensource components where applicable.
- OS : Linux ( Debian/Fedora ), BSD ( Open/Free/NetBSD ), Unix ( Solaris ).
- Databases : MYSQL/MariaDB ( Replication and/or cluster ), Postgresql, NDB.
- Networking : Cisco/Juniper, Interconnections, Backbones, lan2lan, vpns, ISP, xDSL, optical links, X.25 links.
- Programming : C, C++, shellscripts, python, perl, php, ruby, lua.
- VOIP : Kamailio, Freeswitch, Asterisk, OpenSIPS, Yate, Bayonne.
- Clusters : Pacemaker, Keepalived, Heartbeat.
- Protocols: OSPF,BGP,IGRP,HSRP,SIP,Q931,EuroISDN,H324m,H323,IAX,T.38,HTTP,SMTP/POP/IMAP,SS7,RTP,RTCP,SSL
- Virtualization/Cloud computing : Xen, KVM, OpenVZ, LXC, Docker, Openstack, Bhyve.
- Monitoring tools: Nagios, Cacti, Smokeping, WeatherMap, Zabbix, Xymon.
- Deploiement tools : Ansible, Chef, Puppet, Custom scripts.
- CI tools : Jenkins, custom tools.
- Editors: vim ^^
- Indentation: Space or tabs ? pick one I don't care :)
- FCC Amateur radio License ( KM6IPU )
- Scientific Baccalauréat at Lycée Albert 1er in Monaco.
- Native French, full fluency in English, basic German, basic Spanish.
TextMe - VoIP Architect
November 2014 to present in San Francisco, CA, USA
I joined TextMe with the primary goal of managing the wellbeing of the VoIP infrastructure and its evolution, and to work with the engineering team to establish the technology direction, and develop strategic planning regarding all aspects of VoIP, including products and relationships. I establish the longterm technology objectives and set the standards of performance for the VoIP infrastructure. I ensure we achieve the objectives of the department within time frame and budget. I provide technical guidance, directions, and advice to the technical staff. I bring my knowledge regarding the telecom industry and its best practices to the team.
I was initially engaged to manage of the TextMe VoIP infrastructure, and to advise TextMe on scalability and reporting issues. Upon taking charge of the infrastructure, I analyzed the overall performance and concluded that we would gain a lot of efficiencies by replacing the callrouting software stack used at that time ( Freeswitch+Plivo ) with a custom solution, still using the Freeswitch software, but custom Lua scripts as opposed to the Python heavy daemon. This allowed the system to multiply the number of calls a server is able to take by a factor of four.
Next, I was in charge of the evolution and maintenance of the platform, and all duties associated like identifying and resolving challenging protocols issues ( mainly SIP, RFC 3261 ), upgrading of the SBCs ( session border controllers ) configurations to better handle rare customer problematic cases ( mainly NAT issues ), upgrading the proxies and registrars configurations to add features and better respect the RFCs that rules this area. Next, I designed the European infrastructure, making diverse optimizations to improve quality of the calls, and added new metrics for a better overview of the infrastructure usage and troubles. I implemented user geolocalization to the selection of call relay servers to reduce latency, thus improving the overall quality. I initially started to work for TextMe as a consultant through B&C in October 2013. In November 2014, I was then hired as a fulltime VoIP Architect as TextMe realized they needed someone fulltime. They finally tasked me with managing all the telecom aspects mid 2016, which is my main focus now.
B&C – Internet and Telephony Service Provider - Founder/CTO
From December 2011 to present in Menton, France
I started B&C as a founder, with the idea to develop an internet service provider focused on professionals, as my past experiences allowed me to realize there was a need for a company focused on professionals’ needs.
I first established a fullfeatured, stateoftheart, hosting service offering DNS, email and websites, I leveraged several openssource software like postfix, dovecot, unbound, powerdns, nginx, apache. I developed the tool chain to have a common interface allowing me to configure easily a new client, monitor usage and resources consumed. My first goal was to create an infrastructure from which customers would receive telecommunications and Internet services.And to be able to visualize and monitor the growing infrastructure, I created a proactive monitoring solution. I leveraged Nagios to implement a custom dashboard allowing me to have all the KPI ( technical and business ) monitored, being alerted when something was off the norm.
I then needed to setup the B&C AS ( Autonomous System ) – I arbitrated between colocation providers and rack offers, and interacted with the RIPE to obtain B&C AS number ( AS60532 ). I also designed the backbone and choose and configured the hardware ( mainly Cisco ), and the carriers to establish the BGP interconnections necessary for an AS to be reachable from everywhere in the world.
Being present on the internet allowed me to develop our SDSL and Optical Fiber product offer, which I did, using Orange's rental of the copper or optical link and interfacing with their service ( developed a PHP based software to interface with Orange's IS and then commercialized also this part for other operators that can't spend time or money on this as a SaaS product ).
At that time B&C was missing the telephony part, so I used my skills in VoIP to develop a multitenant centrex IPBX service, allowing resellers to be autonomous as well as customers to configure themselves their package.
I also setup the SS7 interconnections necessary to gain autonomy in the telephony world, and the B&C telephony core infrastructure.
I also designed and developed the B&C cloud offering, leveraging Openstack to setup easily virtual servers, even virtual infrastructures.
Being alone on this project forced me to automate a lot of things, like billing or support by mail or by phone ( a small example is the company's support number that drives you through common diagnostics, and when detecting something not present in the Problem database, transforming the voice communication to text to open a ticket, another example of the automation of upstream support opening, when a problem is detected, a ticket was opened automatically ).
After creating all this setup, I moved to customer consulting projects, with various projects like building callcenters from scratch ( I had to design the floor cables plans, the server room, design the network and advise the CEO on the hardware to buy, then advise and lead the developers team and finally setup the callcenter telephony service ).
I also was sent to troubleshoot some customers installations on various subject like networking, database ( mysql mainly ), unix system administration or telephony. I have now moved to other adventures, and while still part of the advisory board or some level 3 support, I do not maintain a regular activity with B&C nowadays.
Telemaque - Telecom Engineer (originally Software Developer)
From June 2005 to September 2011 in Sophia Antipolis, France
Telemaque hired me on june 2005 after passing a programming algorithm test which consisted on parsing a date of birth given by a user, in whatever format they were providing it, and with the capacity of understanding faulty typing and correcting it automatically. I proposed them a twophase dictionary/regular expression/scoring based matching approach, which was able to match any numerical format you could submit, but also allowed to write dates and to make orography or syntax faults.
I was hired to rewrite the IVR ( Interactive Voice Response ) system, moving from the proprietary one they were using to a custom inhouse made one. This IVR was tied to an ACD system that had to be redeveloped as well. I had to arbitrate between multiple VoIP stacks ( at that time Bayonne and Asterisk were the most promising ), to setup the servers and develop the solution.
Upon completion, I was then promoted to work on developing the B2B extranet and API. These allowed customers to interact with Telemaque in an easy way, allowing them to visualize statistics on their service, or sending SMS/MMS. To fulfill this assignment I had to setup the servers and the requisite software, design a MySQL database, and develop the API and the Extranet using Python, PHP & C languages. And so I was in charge of the B2B technical relations with the customers that were using the service I had developed.
I was then in charge of replacing the telephony system of the whole company ( a group of multiples companies, totaling 4 sites, with 2 oversea ). To accomplish this, I needed to develop a multitenant, multisite IPBX, with advanced callcenter features, and to design and implement the company's network between branch offices and the main site where I had the servers necessary for this kind of operation setup. I leveraged some opensource project like Kamailio and Freeswitch to accomplish this faster than recoding everything from scratch.
At that time, I was responsible for the media generating the most revenue for the company ( Callcenter ) and the third one ( IVR system ), along with the B2B extranet and API. I had to lead multiple 2person teams, for example I was in charge of the branch office technicians, teaching them and reviewing their weekly report, or the telecom engineers implementing new feature to the custom IPBX I developed originally. I also was a technical referent for the other services I did not managed, mainly on the security and design subjects.
Freelance - OpenSource Engineer
From May 2002 to October 2014, France/Spain.
During this period, I worked on more than 125 projects, numerous teaching gigs, and other consulting engagements.
I first started my freelance career by teaching computer usage to individuals in Monaco and around, teaching them how to use Internet, the Microsoft Office suite, or do basic operations like burning a CD. I then moved on to teach programming to some of my customers who wanted to do more with their computers. This allowed me to meet professionals in need of IT management for them and helped me switch my customers from individuals searching for lessons on how to use their computers to companies searching for a setup and maintenance professional.
In this position, I found many different customer usecases, from fixing the network in a small cafe, passing by setting up an hotspot WIFI service in an hotel to installing a call shop network and telephony service. Seeing the need of my customers, I developed my first internet website hosting platform, along with a mail hosting and DNS hosting platform to allow me to control my customer's service more in depth. This was a mix between an administration interface developed in PHP, and a set of shell scripts controlling the website space creation/deletion, all in a server I controlled ( this setup has now evolved in a multiserver infrastructure making extensive use of virtualization ). Some of the customers were extremely impressed by the service offered, and engaged me for more technically challenging work. I had to design and implement two different versions of the hosting platform I had developed, tailoring them to fit the need of the company that wanted to have this service internally.
I also had to diagnose complex networking issues involving OSPF and RIP routing protocols on Cisco hardware. For example, a company called “Somegel” hired me to redevelop their internal Stock database to cut the time consuming task of counting and entering the goods on an interface, which I replaced with a barcode scanner that automatically updated the stock in the database once they were scanned. I had to secure an internet café ( Café de Berlin ) as the owner had some troubles with his management software, which involved installing a firewall between the customer network and the management's network, and installing a captive proxy on the customer network to manage the payment of the customer's services. I also had my first approach of Voice Over IP at a professional level when a callshop hired me to setup the telephony service in their shop. I used a proprietary H323 PBX from Matra that was linked to an interface allowing to credit a specific phone with an amount and terminate the calls when the amount topped up on the phone was over. I've learnt a great deal of my profession thanks to being able to se a lot of customer cases during this period.
Les Enfants de Franckie - Network Administrator
From April 2001 to May 2002, Monaco.
I first was hired at the association “Les enfants de Franckie” to diagnose an internal network problem they had, preventing the printing system to work for almost all computers in the office.
Upon successful completion of this task, I had to rewire and redesign the internal network that was getting aged and used at that time deprecated hardware not compatible anymore with the new hardware being bought to sustain the association's growing activity, ensuring a smooth service and internet access.
Later I was promoted to the computer maintenance work while still maintaining the network, ensuring that every computer was working correctly, without any virus, and with all the software needed for their users. I was responsible for ensuring that every time a computer or Internet was needed, everything will go smooth.