Creative Senior Software Engineer offering 15+ years of experience. Enthusiastic about developing forward-thinking solutions to tomorrow's productivity problems. Resourceful and adaptable approach to challenges. Love new challenges. Continuously learning. Coding is my hobby. Mentoring others to pass on the knowledge to make the team effective is another one of my side hobbies.
• Leading a small team of Junior engineers in a specialized network appliance (packet processing) project
◦ System architect role
• Participated in all aspects of SDLC
• Written/Designed the core of the project (coded in C and C++)
◦ Packet processing core
◦ Supporting applications
◦ Virtualized test environment
▪ Docker
▪ Custom network namespaces (a bunch of bash scripts)
• Maintained all releases of the project
• Collaborated with customers and engineering leads of various roles
• Supporting existing RF mesh network infrastructure
• Adding new features such as an IPv6 support
• Designing and leading WiFi capabilities project
• Facilitating project development by automated testing integration
• Customer support
• Developing full infrastructure for new WiFi based meters
• Designing and developing secure data transfer
• Designing and developing firmware upgrade on various MCUs and platforms
• Designing and developing field debug and deployment tools
• Improving existing project management process
• Creating debug tools (visualization)
• Creating a full USB based device to allow connectivity to RF network
• Implementing a USB to Serial Driver for STM32 MCU for proprietary OS
• Writing tools in C and Other Languages to support existing platform
• Creating middleware that encapsulates existing protocols over UART
• Optimizing existing build systems based on ARM gcc
• Writing decoders for real-time threat detections
• Rewriting parts of the main "Sniffing" engine
• Adding encryption for certain "customer oriented" end-point features
• Systems work: Authentication mechanism trough TACACs.
• Reworking IPC between components in the system
• Exporting proprietary data into ArcSight & Syslog Splunk end-point systems
• Writing PAM modules and NSS modules
• Rewriting Licensing modules to accommodate VM-based appliances and etc...
• Writing lots of different parsers for Network Session Data in C
• Porting old software to new proprietary framework from python/C/C+ CORBA based system to new custom RPC C++ framework • Familiar with ExtremeDB (r) (in-memory database)
• Participated in porting IDT8xxx E1/T1 chip driver to proprietary Linux framework (OOP)
• Created PAM Based authentication system for Network Routers
• Assisted in integrating the E1/T1 driver mentioned above with the ISDN Subsystem to allow VOIP call routing support
• Familiar with SmartNode (r) set of network devices (Routers/VOIP Gateways).
• Mobile video surveillance device troubleshooting and maintenance
• Worked with several IPC Mechanisms, predominantly familiar with classical Event Queue model. Others include: POSIX Message queues, sockets, shared memory
• Familiar with CORBA RPC
• Worked with IP, ARP, TCP, UDP, DHCP protocols
• Environment: C, C++, Perl, x86 Assembly, Linux, Windows, VMware, Bash, Command line tools (awk, grep)
• Embedded applications development on Intel Atom Platform
• Built a complete (small) custom Linux distribution from scratch
• Ported this system to MIPS platforms (various)
• Built a complete x86 cross tool chain from scratch using crosstool-ng
• Initiated projects and proposed various design enhancements to current system
• Designed certain parts of infrastructure for Distributed process control system
• Performed testing and product support for existing software
• Responsible for maintaining build servers
• Developed automated environment for custom project builds
• Used C/C++ and x86 Assembly (Motorola syntax)
• Wrote small packet analyzers for debugging proprietary network protocols
• Designed small GUIs for accessibility using wxPython
• Ported proprietary OS to Linux
C, C, Python, Perl, Data Structures, Linux networking, Linux kernel, Linux netfilter, Network protocols, Embedded, JIRA, GitLab, Linux, Packet processing, debugging, ARM Cortex M, x86, x64, GUI Design, Win32 programming, GUI (Flutter, Win32), CMake, GNU Make, Docker, Linux containers, Event driven programming (libev, libuv, epoll, ), multithreading, Operating systems design, Cloud (AWS, Twilio), FreeBSD, Telecommunications, Agile, Debugging skills