Usługi tworzenia oprogramowania wbudowanego
Usługi tworzenia oprogramowania wbudowanego dla urządzeń z wbudowanym Linuksem, Androidem i RTOS: pakiety wsparcia płytki (BSP) i sterowniki, aplikacje urządzeń, oprogramowanie motoryzacyjne, sprzęt sieciowy, urządzenia audio i wideo, interfejsy dotykowe oraz bezpieczne aktualizacje dla elektroniki użytkowej, produktów przemysłowych, motoryzacyjnych, telekomunikacyjnych, energetycznych i medycznych, z dedykowanymi inżynierami oprogramowania wbudowanego w Państwa zespole lub projektami realizowanymi od początku do końca.
Oprogramowanie wbudowane, które tworzymy
Platformy wbudowanego Linuksa
Własne dystrybucje budowane w Yocto Project lub Buildroot dla płytek NXP i.MX, Texas Instruments Sitara, Qualcomm, Rockchip, NVIDIA Jetson i Raspberry Pi Compute Module, powtarzalne od czystego checkoutu w Państwa pipeline i utrzymywane na wydaniu z długoterminowym wsparciem.
Pakiety wsparcia płytki i sterowniki
Device trees, konfiguracja U-Boot i sterowniki jądra Linuksa dla Państwa czujników, wyświetlaczy, kamer i radiotelefonów, utrzymywane blisko jądra głównego (mainline), aby aktualizacja jądra była rebase'em, a nie przepisywaniem, oraz cała platforma przeniesiona na nowy procesor, gdy układ zostaje wycofany z produkcji.
Aplikacje urządzeń i middleware
Usługi, dzięki którym produkt wykonuje swoje zadanie, w C, C++, Rust lub Pythonie na Linuksie albo na Zephyr, FreeRTOS, QNX czy VxWorks, z komunikacją, logowaniem i konfiguracją zaprojektowanymi przed pierwszą funkcją.
Motoryzacyjne oprogramowanie wbudowane
Aplikacje Adaptive AUTOSAR, oprogramowanie systemów multimedialnych i cyfrowego kokpitu na Android Automotive OS, QNX lub Automotive Grade Linux oraz jednostki telematyczne, rozwijane zgodnie z ISO 26262, ISO/SAE 21434 i Automotive SPICE tam, gdzie wymaga tego Państwa program.
Oprogramowanie sprzętu sieciowego
Firmware routerów, bram, zapór sieciowych i punktów dostępowych na OpenWrt, prplOS lub RDK-B, przetwarzanie pakietów z DPDK i eBPF oraz sterowniki sieciowe Linuksa, z przepustowością i opóźnieniem mierzonymi na docelowym urządzeniu, a nie zakładanymi.
Oprogramowanie audio, wideo i kamer
Potoki kamer na V4L2 i libcamera, sprzętowe kodowanie i strumieniowanie z GStreamer przez RTSP, WebRTC lub ONVIF oraz audio na ALSA i PipeWire, dla kamer IP, wideodzwonków, sprzętu konferencyjnego, głośników i dekoderów.
Tworzenie platformy Android
Buildy AOSP, warstwy abstrakcji sprzętu (HAL) i usługi systemowe dla urządzeń z Androidem, takich jak terminale płatnicze, kioski, wzmocnione urządzenia ręczne, odtwarzacze TV i systemy w pojazdach, z buildem i kluczami podpisującymi pod Państwa kontrolą.
Interfejsy dotykowe i wyświetlaczy
Qt 6 i QML na wbudowanym Linuksie oraz LVGL, Slint lub TouchGFX na wyświetlaczach mikrokontrolerów, projektowane w Figma i mierzone pod kątem czasu uruchomienia i liczby klatek na sekundę na prawdziwym panelu.
Bezpieczeństwo urządzeń i aktualizacje bezprzewodowe (OTA)
Bezpieczny rozruch (secure boot) od boot ROM do aplikacji, Arm TrustZone z OP-TEE dla kluczy i sekretów, podpisane obrazy A/B przez RAUC, SWUpdate lub Mender z automatycznym wycofaniem, gdy nowy obraz nie przejdzie kontroli stanu, oraz klucze podpisujące w magazynie sekretów (vault), a nie na laptopie.
Zatrudnienie: inżynierowie oprogramowania wbudowanego
Dedykowani inżynierowie oprogramowania wbudowanego
Inżynierowie oprogramowania wbudowanego dołączają do Państwa zespołu na pełny etat, pracują w Państwa narzędziach i procesie oraz podlegają Państwa liderowi. Państwo przeprowadzają rozmowy kwalifikacyjne, a my bierzemy na siebie ukraińską umowę, wynagrodzenia, fakturowanie i urlopy.
Projekty: Tworzenie oprogramowania wbudowanego
Wydzielona część prac w obszarze „tworzenie oprogramowania wbudowanego”, z określonym zakresem, stałym planem i wskazanym liderem po naszej stronie, który odpowiada za wynik i raportuje postępy w Państwa kanałach.
Stała współpraca: tworzenie oprogramowania wbudowanego
Usługa ciągła w obszarze „Tworzenie oprogramowania wbudowanego”: ci sami ludzie co miesiąc, backlog, któremu Państwo ustalają priorytety, oraz godziny widoczne w naszym portalu i na fakturze.
Strona o dedykowanym zespole wyjaśnia, jak specjaliści dołączają do Państwa zespołu, a strona o outsourcingu opisuje realizację projektów, przejęcia i sposób rozliczania.
Kto realizuje Państwa prace w obszarze „tworzenie oprogramowania wbudowanego”
Inżynierowie oprogramowania wbudowanego
Aplikacje wbudowanego Linuksa i RTOS w C, C++ i Rust
Inżynierowie jądra Linuksa i BSP
Sterowniki, device trees, bootloadery i warstwy Yocto
Inżynierowie platform motoryzacyjnych i Android
AUTOSAR, systemy multimedialne i buildy urządzeń AOSP
Projektanci UI i UX
Interfejsy urządzeń projektowane w Figma
Inżynierowie QA
Plany testów, automatyzacja i uruchomienia na prawdziwych płytkach
Jak pracujemy nad oprogramowaniem wbudowanym
Build jest powtarzalny od czystego checkoutu wewnątrz kontenera, więc obraz produkowany przez Państwa pipeline jest obrazem, który trafia do klientów. Ostrzeżenia kompilatora są błędami, analiza statyczna działa przy każdej zmianie, testy jednostkowe uruchamiane są na maszynie buildowej i na emulowanym sprzęcie w QEMU lub Renode, a ten sam zestaw działa na prawdziwych płytkach przed wydaniem. Jądra i biblioteki pozostają na utrzymywanych wydaniach, a każdy build produkuje wykaz składników oprogramowania (SBOM), dzięki czemu komunikat o podatności można dopasować do obrazów, których dotyczy.
Sprzęt trafia do inżyniera na jeden z dwóch sposobów: zestawy deweloperskie i płytki prototypowe są do niego wysyłane albo pracuje on na stanowisku w Państwa laboratorium przez zdalne przełączanie zasilania, sondę debugującą i konsolę szeregową przez Państwa VPN. Tak czy inaczej build działa w Państwa pipeline, a kod znajduje się w Państwa repozytoriach.
Inne usługi systemów wbudowanych i hardware
Tworzenie firmware
Usługi tworzenia firmware: firmware mikrokontrolerów w C, C++ i Rust, stosy bezprzewodowe, bootloadery, motoryzacyjne ECU, sterowanie silnikami i projektowanie niskiego poboru mocy, z dedykowanymi inżynierami firmware lub realizacją projektu.
Programowanie FPGA
Usługi programowania FPGA: projektowanie RTL w SystemVerilog i VHDL, weryfikacja FPGA i ASIC, SoC FPGA, wideo, sieci, akwizycja danych i akceleracja, z dedykowanymi inżynierami FPGA lub realizacją projektu.
Projektowanie sprzętu i PCB
Usługi projektowania sprzętu i PCB: schematy, układ wielowarstwowy i HDI, projektowanie high-speed, RF, analogowe i zasilania, przygotowanie do EMC i pliki produkcyjne, z dedykowanymi inżynierami sprzętu lub realizacją projektu.
Tworzenie rozwiązań IoT
Usługi tworzenia rozwiązań IoT: łączność, provisioning, platformy chmurowe na Azure lub AWS, aktualizacje floty urządzeń, przemysłowe IoT, śledzenie zasobów, ładowanie pojazdów elektrycznych, dashboardy i aplikacje, z dedykowanymi programistami IoT lub realizacją projektu.
Testowanie systemów wbudowanych i sprzętu
Usługi testowania systemów wbudowanych i sprzętu: testy urządzeń, stanowiska hardware-in-the-loop, automatyzacja firmware, motoryzacyjne ECU, testy łączności i bezpieczeństwa, z dedykowanymi inżynierami QA systemów wbudowanych lub realizacją projektu.
Oprogramowanie dla robotyki
Usługi tworzenia oprogramowania dla robotyki na ROS 2: percepcja, nawigacja, planowanie ruchu, sterowanie robotem, komórki przemysłowe, pojazdy autonomiczne i oprogramowanie dla flot, z dedykowanymi inżynierami robotyki lub realizacją projektu.
Pytania o tworzenie oprogramowania wbudowanego
Wbudowany Linux czy system czasu rzeczywistego?
Wbudowany Linux, gdy urządzenie potrzebuje bogatego interfejsu, sieci, systemu plików lub oprogramowania napisanego dla serwerów i ma procesor z jednostką zarządzania pamięcią (MMU) oraz dziesiątki megabajtów RAM lub więcej. Zephyr lub FreeRTOS na mikrokontrolerze, gdy urządzenie działa na baterii, musi reagować w mikrosekundach albo jego wytworzenie ma kosztować kilka euro. Wiele produktów używa obu: Linuksa na procesorze aplikacyjnym i RTOS na mikrokontrolerze obok, a podział proponujemy, zanim sprzęt zostanie ustalony.
W jakich branżach pracują Państwa inżynierowie oprogramowania wbudowanego?
Elektronika użytkowa i inteligentny dom, w kamerach, głośnikach, telewizorach i sprzęcie AGD; automatyka przemysłowa i energetyka, w sterownikach, panelach operatorskich, falownikach i ładowarkach pojazdów elektrycznych; motoryzacja, w systemach multimedialnych, cyfrowych kokpitach i jednostkach telematycznych; telekomunikacja i sieci, w routerach, bramach, zaporach i punktach dostępowych; systemy bezpieczeństwa, w centralach alarmowych, kontroli dostępu i rejestratorach wideo; oraz wyroby medyczne, w monitorach pacjenta i sprzęcie diagnostycznym.
Czy mogą Państwo przejąć nasz istniejący kod oprogramowania wbudowanego?
Tak. Przejęcie zaczyna się od przeglądu tylko do odczytu: czy obraz buduje się od czystego checkoutu, do jakiego jądra i bibliotek jest przypięty, jak aktualizacje są podpisywane i dostarczane oraz które znane podatności dotyczą tego, co już działa u klientów, opisane jako lista ryzyk uporządkowana według wpływu.
Czy pracują Państwo nad produktami medycznymi, motoryzacyjnymi i innymi regulowanymi?
Tak. W przypadku wyrobów medycznych, pojazdów i funkcji bezpieczeństwa przemysłowego pracujemy w ramach Państwa systemu zarządzania jakością i procesu bezpieczeństwa: Państwa procedur, kontroli projektowania, pliku ryzyka i uzasadnienia bezpieczeństwa (safety case), z identyfikowalnością, jakiej wymagają IEC 62304 i ISO 14971, ISO 26262 i Automotive SPICE lub IEC 61508, prowadzoną na bieżąco w trakcie pracy, a nie odtwarzaną przed audytem. Certyfikacja i dokumentacja regulacyjna pozostają po Państwa stronie jako producenta.
Jak szybko mogą zacząć inżynierowie oprogramowania wbudowanego?
Gdy odpowiedni inżynier oprogramowania wbudowanego jest dostępny, o terminie startu decydują wyłącznie Państwa rozmowa oraz NDA i przeniesienie praw własności intelektualnej. W przeciwnym razie prowadzimy poszukiwania, które zwykle dają profile kandydatów w ciągu dwóch do trzech tygodni, a nikt nie zaczyna pracy, dopóki Państwo nie powiedzą „tak”.
Jak wygląda zatrudnienie przez BigTree108: inżynierowie oprogramowania wbudowanego?
Prosimy o informację o zakresie pracy, poziomie doświadczenia i potrzebnych godzinach. Proponujemy jedną lub dwie osoby wraz z ich profilami, Państwo przeprowadzają z nimi rozmowy tak, jak z własnym kandydatem, podpisują jedną umowę z BIG TREE 108 LLC i otrzymują jedną fakturę miesięcznie.
Do kogo należy praca, którą wykonują?
Do Państwa. Każdy specjalista ma podpisaną z BigTree108 umowę, która przenosi wszystkie rezultaty pracy na spółkę, a nasza umowa z Państwem przenosi je dalej. Kod, projekty i dokumenty są przekazywane do Państwa własnych repozytoriów i narzędzi, a nie przechowywane tam, gdzie zmieniać je możemy tylko my.
Budują Państwo urządzenie wbudowane?
Prosimy o informację o procesorze, systemie operacyjnym i tym, co urządzenie ma robić. Odpowiedź otrzymają Państwo w ciągu jednego dnia roboczego: plan oprogramowania, profile kandydatów albo przegląd istniejącego kodu.