Компанія «ICW» (icw.ua) спеціалізується на розробці і впровадженні комплексних рішень автомийок самообслуговування. У зв’язку із розширенням ми запрошуємо у нашу командуІнженера-програміста С++ (Віддалено, за бажанням є можливість працювати у офісі (Київ)Вимоги: Проживання на території України обов’язково, бажано в КиєвіЗадачі: Розробка, налагодження, тестування ПЗ та супроводження процесу впровадження.1. Системне програмуванняЗнання C і C++, досвід використання від 5 років.Знання POSIX — файлов
Компанія «ICW» (icw.ua) спеціалізується на розробці і впровадженні комплексних рішень автомийок самообслуговування. У зв’язку із розширенням ми запрошуємо у нашу команду
Інженера-програміста С++ (Віддалено, за бажанням є можливість працювати у офісі (Київ)
Вимоги: Проживання на території України обов’язково, бажано в Києві
Задачі: Розробка, налагодження, тестування ПЗ та супроводження процесу впровадження.
1. Системне програмування
- Знання C і C++, досвід використання від 5 років.
- Знання POSIX — файловий I/O, сокети, багатопоточність і примітиви синхронізації, IPC.
- Знання основних алгоритмів і контейнерів STL, їх алгоритмічної складності, memory layout і взаємодії з кешем.
- Програмування для мереж: TCP/IP, SSL/TLS, HTTP. Бібліотеки OpenSSL та Boost.ASIO.
- Взаємодія з СУБД SQLite та PostgreSQL.
- Досвід у багатопоточному та асинхронному програмуванні.
- Діагностика: strace, gdb, tcpdump, valgrind, санітайзери компілятора.
- Статичний аналіз коду: cppcheck, clang-tidy.
- Тестування: Boost.UnitTest, інші фреймворки будуть плюсом.
2. Програмування БД
- Досвід роботи з СУБД PostgreSQL від 3 років.
- Розуміння роботи планувальника запитів.
- Вміння аналізувати і оптимізувати плани запитів.
- Імпорт/експорт даних.
3. Linux
- Розуміння принципів роботи ОС Linux.
- Налаштування та діагностика мережі: iproute2, ifconfig, traceroute/mtr, ping, tcpdump.
- Налаштування VPN: PPtP, OpenVPN.
- Розгортання віртуальних машин (qemu).
- Налаштування і діагностика iptables.
- Досвід розгортання Linux у embedded-середовищі: uboot, dts/dtb, конфігурування ядра.
- Бажаний досвід написання модулів ядра.
- Знання протоколів ModBus, CAN, MDB, CCTalk буде плюсом.