Senior C#/.NET Developer
⚲ Katowice
12 000 - 23 000 PLN brutto (UoP)
Wymagania
- min. 3 lata doświadczenia na stanowisku seniora przy systemach produkcyjnych w C#/.NET
- doświadczenie w środowiskach związanych ze sprzętem (sterowanie, odczyt z fizycznych urządzeń)
- znajomość OOP, SOLID, wzorców projektowych i Clean Code
- biegłość w TDD i prowadzenie automatycznych testów
- wielowątkowość, locking/interlocking, parallelism w .NET
- doświadczenie w refaktoryzacji i modularyzacji długoletniego legacy code
- mentoring i code review
- angielski min. B2
Opis stanowiska
Będziesz pracować nad oprogramowaniem sterującym wysokoprecyzyjnym narzędziem metrologicznym używanym w produkcji półprzewodników. Produkt jest rozwijany i wdrożony od około 10 lat, a Twoim zadaniem będzie poprawa niezawodności i utrzymywalności oraz przeprowadzenie silniejszej modularyzacji architektury. Kod nie jest podłączony do chmury i testowany bezpośrednio na fizycznym sprzęcie, więc będziesz rozwiązywać problemy na styku software–hardware. To oferta dla kogoś, kto lubi refaktoryzację dojrzałego kodu produkcyjnego i nie boi się pracy z wielowątkowością oraz testami dotykającymi realnego sprzętu. Uwaga: przebudowa dużego, działającego systemu wiąże się z wysokim ryzykiem wprowadzenia błędów, a debugowanie problemów sprzętowo-programowych wymaga szerokiej wiedzy.
🔍 Dekoder Ogłoszenia
🔴
improve reliability and maintainability while driving a significantly stronger modularisation of the software architecture
Oczekuje się, że będziesz refaktoryzować istniejący, potencjalnie trudny do zrozumienia kod, aby poprawić jego jakość, co może być czasochłonne i wymagać ostrożności.
🔴
Drive modularisation of a mature codebase without destabilizing a production system
Masz za zadanie przebudować dużą część istniejącego kodu, który jest już w użyciu, co wiąże się z wysokim ryzykiem wprowadzenia błędów.
🟡
tested directly against physical hardware
Testowanie będzie wymagało dostępu do fizycznego sprzętu, co może być czasochłonne i ograniczać możliwości pracy zdalnej lub szybkiego testowania.
🟢
Mentor and coach mid-level developers
Oprócz zadań programistycznych, będziesz odpowiedzialny za rozwój mniej doświadczonych członków zespołu.
🔴
Troubleshoot complex issues across the software and hardware boundary
Będziesz musiał rozwiązywać problemy, które mogą wynikać z interakcji między oprogramowaniem a fizycznym sprzętem, co wymaga szerokiej wiedzy i umiejętności debugowania.