Summary
Overview
Work History
Education
Skills
Websites
Timeline
Generic

Mikhail V Sokolov

Chandler,USA

Summary

15+ years of experience in software engineering, with more than 10 years specializing in embedded, real-time systems and low-level software, including expertise in multi-processing and multi-threading. 12+ years of expertise in network engineering and system administration Over 8 years of experience managing complex projects in telecommunications, CCTV, networking, and medical devices (including blood pressure monitors).

Overview

19
19
years of professional experience

Work History

Principal Software Engineer

Microchip Technology Inc
10.2020 - 03.2025
  • Company Overview: microcontroller & microchip manufacturer
  • Responsible for maintaining and developing new features for the low-level Java and C++ components of MPLABX, Microchip’s proprietary IDE for embedded applications on PIC and ARM microcontrollers.
  • Focused on the libraries and infrastructure managing connections between MPLAB X and external boards, emulators, programmers and HW debuggers (USB, JTAG, ITM/SWO, USART, SPI).
  • Resolved software bugs caused the race conditions, ensuring system stability and reliability.
  • Streamlined architecture by replacing a resident program that monitored interrupts for new devices with a simplified polling mechanism.
  • Created a function for network device detection via mDNS, enhancing device connectivity and management.
  • Environment: Windows, Linux (Ubuntu); C/C++, Java, Python; Bitbucket, LibUSB / WinUSB, JNI (Java to C++ interface), STL

Software Engineer (developer, tier 2/3 support)

Brooks Life Sciences
08.2017 - 09.2020
  • Company Overview: medical & biological equipment & software manufacturer
  • Develop a new features for Laboratory Information Management System (new dialogs/forms - JavaScript + ExtJS; backend – Ruby on Rails + PostgreSQL + Redis; connection to local equipment – TCP/IP, WebSocket)
  • Bug fix for the local equipment (RFID readers) software – C/C++, embedded Linux, Java.
  • Build, test & deploy new releases (GitLab CI/CD + Ansible)
  • Support customers (tier 3 support) and colleagues
  • Administrate clouds VMs (200+ production sites in DO, a few – in Azure & AWS)
  • Investigate customer complaints, test software; report bugs & fix it
  • Environment: Linux (Ubuntu), VMware, Digital Ocean, Azure, AWS; Nginx, Puma, Postgres, Oracle; Ruby on Rails, JavaScript, HTML, CSS, C++; Ansible, Nessus, Git

Technical Support Manager/Software Engineer

RURO
02.2016 - 08.2017
  • Company Overview: medical & biological software developer
  • Supported customers: answered questions, directly modify software configuration
  • Developed a new features & fixed a bugs (Ruby on Rails, JavaScript, Java, C++)
  • Solved administrative tasks for customers (Virtual Machine/Cloud & embedded applications – VmWare, Digital Ocean, Linux, Nginx, Puma, Postgres)
  • Managed customer complaints, tested software and report bugs
  • Tested new releases (including security – Nessus)
  • Developed “How To” documents & internal Wiki pages
  • Designed and developed specific automation testing framework for testing RURO web applications based on Sahi (JavaScript); tested embedded applications
  • Developed a batch of auto-tests (used for regression test scope)
  • Managed Support Team (3 direct reports)
  • RURO is a developer of a few WEB (Virtual Machine or Cloud -based) laboratory (medical/pharmacological) information software solutions (LIMS).

Embedded Software developer

Auriga
05.2015 - 11.2015
  • Company Overview: outsourced software development services
  • Developed grub2 module to download from LynxOS filesystem;
  • Ported LynxOS drivers from PowerPC platform to x86 (PCI/X-VME bridge)
  • Auriga is an outsourcing provider (8 offices in Russia, Europe and USA; 300+ employees; customers: IBM, Dräger Medical, Lynx Software Technologies, BroadVision; I worked in Russian office)

Embedded Software engineer/QA Engineer

Mera NN
09.2011 - 04.2015
  • Company Overview: outsourced software development services
  • Developed a new features & provided Tier 3 maintenance for the embedded software for the telecom TCP/IP L2 10G router, investigated customer-reported issues (established environment, including hardware configuration and traffic; reproduced the issue, and analyzed logs), found root cause, developed/corrected the code, unit-tested and debugged it
  • Tested telecom embedded software (developed auto tests - Java+Junit/JCAT)
  • Developed the corporate training program (TCP/IP)
  • Mera NN was one of the largest provider of outsourced software development services in Russia: 1200+ software engineers; customers include Avaya, Ericsson, Mitel, Plantronics
  • Environment: Linux (Debian), VxWorks (RTOS), C/C++; real-time, multi-threading, Java; ClearCase; PowerPC, Broadcom (ARM Cortex inside), IPMI (FPGA); TCP/IP L2/L3, PHY, I2C

Head of Nizhny Novgorod branch

Group of companies VeD
09.2006 - 06.2011
  • Company Overview: system integration business in telecom, network, CCTV
  • Managed projects in telecommunication (PBX, VoIP), CCTV, local area networks.
  • Communicated with customer, detected the customer’s demands, chose the best suitable solution (equipment and software), installed and configured it, tutored and supported customer.
  • Customized and fixed open-source systems (VOIP: Asterisk, CCTV: ZoneMinder) – C/C++
  • Different companies
  • Participated as a developer in the next projects:
  • Software for physical experiment data collection (CAMAC) – C, assembler, Fortran; ADC/DAC, counters, external data storage.
  • Communication software based (Kermit protocol) for 8/16-bit computers – C, assembler; RS-232/UART
  • Anti-malware (computer viruses) software – C, assembler, reverse engineering
  • Copy protection tools – C, assembler, FreeDOS
  • Developed a keyboard, printers, ROM writer, RS-232 drivers

Education

Master’s - Theoretical Physics

Nizhny Novgorod Lobachevsky University
Nizhny Novgorod, Russian Federation
05-1986

Skills

  • Programming Languages: C (preferred), Java, C, Bash, Ruby, Python, Assembler
  • Operating Systems: Linux (Ubuntu, Debian); RTOS: LynxOS, VxWorks, FreeRTOS, Android; Virtualization: VmWare, KVM, QEMU, Docker
  • Networks / Protocols: TCP/IP (VLAN, RSTP, IP, TCP/UDP, SNMP, DHCP, DNS), MPLS; RS-232/485, CAN, I2C; NIC, RFID, switches, routers, NAT, firewalls
  • Security: OpenSSH, VPN, SSL/TLS, LDAP, SSO, IDS/IPS, fail2ban, Nessus
  • Databases: SQL, Postgres, Oracle, Redis
  • Tools/Frameworks: Eclipse, MS Visual Studio, GNU (GCC, Make, gdb), SVN, Git, Wireshark, tcpdump, Selenium; Jira;
  • Hardware / Equipment: CPU/MCU: Intel 8/16/32/64-bit, Motorola 68k, ARM Cortex; traffic/signal generators, oscilloscopes, multimeters, power supplies
  • Methodologies: Agile (Scrum, Kanban), Waterfall
  • Customer support
  • Team development
  • Client interaction
  • Object-oriented programming
  • Oral and written communications
  • Quality control
  • Project management
  • Quality assurance
  • Automated testing
  • Software development lifecycle
  • System administration
  • Network programming

Timeline

Principal Software Engineer

Microchip Technology Inc
10.2020 - 03.2025

Software Engineer (developer, tier 2/3 support)

Brooks Life Sciences
08.2017 - 09.2020

Technical Support Manager/Software Engineer

RURO
02.2016 - 08.2017

Embedded Software developer

Auriga
05.2015 - 11.2015

Embedded Software engineer/QA Engineer

Mera NN
09.2011 - 04.2015

Head of Nizhny Novgorod branch

Group of companies VeD
09.2006 - 06.2011

Master’s - Theoretical Physics

Nizhny Novgorod Lobachevsky University