Benjamin Cohen  •  Software engineer
Engineer’s degree (M.Sc./M.Eng) from École Centrale Paris

Experience

2016/06 -
RT/Embedded and Linux kernel engineer at OrCam, Jerusalem
Linux bring-up on arm platforms (uboot, kernel, devicetree). Kernel drivers development and maintenance. Low-level kernel debugging (C/asm, kgdb/jtag, scope, logic analyzer)
v4l2/vb2, PM (suspend, cpufreq, pmic, gas gauge, charger), spi/i2c, usb.
Low-level networking with external MCUs. Userspace integration/troubleshooting.
2015/07 - 2016/02
Embedded software engineer at Eargo Labs, Israel
Working on the next-generation hearing device
Low-level realtime (C/ASM) development of a BLE-enabled low-power in-ear wearable
2012 - 2015
Software engineer at OpenHeadend, Paris
Design and implementation of innovative IPTV broadcast solutions (live encoder, transcoder, and recorder, dynamic audio/video matrix switcher and mosaics, audio processing, live video sequence detection, adaptive bitrate streaming, sound analysis, ...)
Development (C/C++) of upipe, the opensource flexible dataflow framework
Cross-platform (x86, arm) embedded integration (OpenEmbedded, kernel patching)
Troubleshooting (code debugging, multicast/networking issues, bitstream analysis, QA)
2011 (Apr - Aug)
Software engineering intern at Intel (Digital Home Group), Jerusalem
Implementation of the MoCA Control Protocol (low-level C networking, C++ GUI)
2010/11 - 2011/03
Contract software engineer for SAB System, Paris
Design of an IPTV set-top box (QtWebKit, Broadcom’s Nexus/bsettop, C/C++)
2010 (July - Dec)
Software engineering intern at Withings, Paris
Study and design of a sleep-tracking device prototype (hw+sw, realtime, C)
2009 - 2010
Core developer at CRoC (Centrale Robotic Club), Paris
Hardware and software (RT/low-level C) design/implementation of an autonomous robot
Ranked 22nd at the French Robotic Cup 2010
2008 - 2010
Network, firewall, system administrator at VIA Centrale Réseaux, Paris
Student organization in charge of the Centrale Paris Campus computer network
1200 subscribers, 25 routers, Linux servers, virtualization, IPTV multicast
Summers 2007/2008
Software developer (C/C++) at Realease (digital picture frame design company), Paris

Computer skills

OSes
GNU/Linux, *bsd: sysadmin, dev, daily use
Languages
C, C++, Objective-C, shell, perl, VHDL, LATEX
Networking
Routers (eXtreme Networks), firewalls (netfilter/iptables), *nix
TCP/IP, Ethernet, 802.1q, multicast, routing (static, OSPF), encapsulation (PPP, L2TP, GRE, *vpn), IPv6
HA/Virtualization
qemu/kvm, DRBD, iSCSI, multipath, Xen, UML
Embedded
Linux (kernel, userspace), u-boot, set-top box, Broadcom (Nexus/bsettop), NXP (iMX)
OpenEmbedded/BitBake, Buildroot, Scratchbox (maemo), OpenWrt
Realtime MCUs (at91, atsam, stm32, OnSemi, Dialog, 8051), FPGA (Xilinx)
gdb, gdbserver, kgdb, openocd, segger/jlink (jtag+gdb), scope, logic analyzer
I2C, SPI, CAN, CSI, Bluetooth LE
IPTV / Media
Multicast (udp/rtp, igmp/pim), rtsp, mpeg-ts, dvb, H.264, A/52, SDI, HLS, EBU-R128
v4l2 (kernelspace), ffmpeg/libav, upipe, libx264, gstreamer, multicat, dvblast

Education

2008 - 2012
B.Sc.+M.Sc./M.Eng from École Centrale Paris (’Grande École’), Chatenay-Malabry
Specialized in Computer Science (advanced and embedded systems)
2006 - 2008
Classe préparatoire MP* (Mathematics), Lycée Janson de Sailly, Paris
2006
Scientific Baccalauréat (high honours), specialized in Mathematics, Paris

Miscellaneous

Languages
French (native), English (fluent), Hebrew (conversational), Japanese (basic)
Leisure
Music (piano), reading, opensource software, electronics, animes, arcade retrogaming
Sports
Swimming

This document was translated from LATEX by HEVEA.
February 26, 2017