Position: Software Engineer
Category: Python
English level: intermediate
Years of experience: 11

1. On-board seeding control system with real-time data transfer to a remote server. Made on the basis of a single-board computer. The system was mounted on a tractor and received data from the planter's sensors and GPS. Data was sent to the server via the GPRS modem using the MQTT protocol. Based on these data, a map was generated for the agronomist with sowing tracks, colored depending on the quality of sowing. Locally, the tractor driver could view the data on the built-in screen of the device or via Wi-Fi using the web interface on the phone/tablet. Sensor parameters can be configured both locally and remotely. It is possible to update the software remotely. Used: SPI connection to the built-in screen; communication with sensors, control buttons, and GPS receiver via UART (separate microcontroller on STM32); web interface - vanilla JavaScript; data transfer to a remote server - MQTT (supplemented with buffering in case of loss of connection); all parts of the system work asynchronously in independent processes on separate processor cores; communication between parts over WebSockets.

2. Parser of the largest online store in the country. Every night it downloaded descriptions and prices of all products. Performed normalization and cleaning of data and converted it to the format required by the customer. The parser was multi-threaded, and worked through proxy servers, with a request rate limiting and User-Agent spoofing (to prevent blocking).

3. Multi languages synchronous voice-to-voice translator (details can not be disclosed due to NDA).

4. Distributed cryptocurrency trading system. Control server - Django / Celery / DRF / Postgres / Docker. Remote nodes - asyncronous workers for different trading strategies, running into separate OS processes for every trader. Remote cache - Redis. Transport - Rabbit MQ.
I have been programming for 30 years and have used over two dozen programming languages. I have already forgotten more languages than others knew by name alone. So I don't care what language to write in. But lately, I've been writing in Python, so now I know it best. Other languages will have to be remembered.

Most of my career has been in industrial automation. I had to develop literally all types of software used in engineering production. Accounting, warehouse accounting, payroll, production planning, supply, and optimization of technological processes. Subroutines for calculating and drawing technological equipment for AutoCAD on AutoLISP. I even manually wrote programs for CNC machines (in those old days there was no SolidCAM).

Of course, in recent years I've mostly had to work with web frameworks.
I definitely don't want to do frontend.

I look for interesting and even strange tasks.
The ones that no one has done before and doesn't even know how it can be done at all.