Witam wszystkich serdecznie.
Obecnie kończę studia magisterskie o kierunku Automatyka i robotyka, specjalizacja automatyka. Na studiach głównie były wałkowane sterowniki PLC, mikroprocesory, programowanie w środowisku Matlab przy wykorzystaniu pakietów np. Simulink, programowanie układów FPGA. Dodatkowo przez ostatnie lata studiów starałem się połączyć zagadnienia naukowe związane automatyką (głównie zagadnienia związane z teorią sterowania np. identyfikacja obiektów, zjawisk fizycznych oraz symulacją różnych regulatorów) z informatyką. W ciągu lat napisałem dwa duże projekty z których jestem poniekąd zadowolony, chociaż teraz widzę ze można było lepiej to wszystko wykonać :))
-
Praca inżynierska w całości była napisana w języku C++. Biblioteki jakie wykorzystałem to głównie bibliotekę WinAPI (odniesienei siedo rejestrów systemowych ww celu otwarcia portu USB). bibliotekę STL, OpenGL. Praca składała się z dwóch części. Pierwsza część obejmowała konstrukcję robota wraz z oprogramowaniem na mikrokontroler (brak gotowych bibliotek, wykorzystanie rejestrów). Odczyty z czujników rozmieszczonych na robocie w pierwszej kolejności przetwarzane były przez mikroprocesor, a następnie bajt po bajcie w oparciu o komunikację UART wysyłane były do aplikacji konsolowej. Aplikacja umożliwiała odbiór odczyt danych i wizualizację w oparciu o technologię OpenGL (napisałem program do szkicowania wykresów w przestrzeni 3D).Z braku czasu nie udało mi się zaprojektować interfejsu graficznego.
-
Praca magisterska to implementacja wielowarstwowej sieci neuronowej do rozpoznawania obrazu w języku Python w oparciu o biblioteki matematyczne NumPy, MatPlotlib i przetwarzające obraz. Część badawcza składała się na porównaniu autorskiej implementacji z gotowym rozwiązaniem tzn. inną implementacją sieci neuronowej w oparciu o interfejs Keras.
W obydwu projektowych wykorzystałem programowanie obiektowe (polimorfizm, dziedziczenie, hermetyzację) oraz intuicyjnie wykorzystałem zasadę SOLID, jednak bez wzorców projektowych (mój błąd wiem).
Przedstawiłem poniekąd projekty które chciałbym umieścić do CV. Jednakże przez ostatnie lata edukacji również szkoliłem się w innych językach programowania. W oparciu o teorię zawartą w książkach podszkoliłem się w Javie, C#, Python, C/C++, SQL, HTML/CSS, Matlab. Na podstawie treści zawartej w książkach pisałem proste programy, lub algorytmy np. algorytm.
genetyczny, cząsteczkowy według opisu matematycznego, czy też prosty program symulacyjny obiektu np. silnika samochodu.
Moim problemem jest, że nie znam popularnych technologii do tych języków. Chciałbym iść na programistę w języku C#, ale brak mi dobrej znajomości choćby ASP.NET czy NET.Core. A programy które pisałem to głównie algorytmy w czystym języku oparte na generycznych strukturach danych i bibliotekach matematycznych. Dodam, ze nie miałem komercyjnego doświadczenia w programowaniu, a jedynie praktyki studenckie automatyce (utrzymanie ruchu, sterowniki PLC).
Pytanie do was :)
- Czy brak znajomości technologii i dobrych projektów jeśli chodzi o wybrany język np C# dyskwalifikuje mnie na stanowisko młodszego programisty ?
- Czy umieszczać podstawową znajomość wcześniej wymienionych języków programowania w CV ? (Mówię tutaj o podstawach samego języka np. typy generyczne, działanie oczyszczacza pamięci, finalizator) ?
- Czy aplikować od razu bez znajomości powyższych technologii i liczyć na bezpłatne nadgodziny pracy w celu douczenia się ?
Z góry dziękuję za odpowiedź :)