Hej,
Jestem studentem kierunku Finanse i Rachunkowość (studiuje zaocznie). Nie pomyślałbym do tej pory, że zainteresuję się programowaniem, dopóki w pracy, w której dotychczas pracowałem, nie zautomatyzowałem samodzielnie procesu mojego zespołu w VB. Rzuciłem pracę i zacząłem się uczyć programować. Zastanawiam się, czego się uczyć by dostać pierwszą pracę w JAVIE czy w back-endzie.
Znalazłem 23 umiejętności twardych, które powtarzają się w większości ofertach pracy. Co o niej myślisz? Czy dodałbyś coś, bądź usunął? Na co zwrócić uwagę? Co byś mi zaproponował?
JAVA
• Przynajmniej dwa lata doświadczenia na stanowisku Programista Java;
• Bardzo dobra znajomość Java oraz wiedza z obszaru JEE, J2EE
• Znajomość zagadnień z dziedziny relacyjnych baz danych, znajomość SQL oraz bazy danych Oracle
• Znajomość języka angielskiego umożliwiająca korzystanie z dokumentacji technicznej;
• Stosowanie praktyk Clean Code, TDD
• Znajomość wzorców programowania obiektowego
• Doświadczenie z frameworkami Spring, Hibernate, Cucumber
• Umiejętność tworzenie mikroserwisów opartych o REST API
• Doświadczenie z Continuous Integration i Continuous Delivery (Jenkins, Docker)
• Znajomość UML w zakresie koniecznym do programowania w oparciu o dostarczone modele
• Znajomość PrimeFaces, JSF, JPA
• Znajomość środowiska IntelliJ Idea
• Umiejętność pracy z serwerem aplikacyjnym JBoss,
• Znajomość SQL i zagadnień dotyczących relacyjnych baz danych
• Podstawowa znajomość współczesnych bibliotek webowych: AngularJS / Bootstrap / jQuery / Node.js
PHP
• Bardzo dobrą znajomością nowoczesnych technologii back-end: REST/JSON Spring MVC oraz JBoss Fuse / Apache Camel
• Znajomością HTML5, CSS, Javascript
• podstawowa umiejętność programowania w jednym z języków skryptowych (bash, python, php)
• podstawowa znajomość języka SQL i bazy MySQL (operacje select, update)
• znajomość Zend Framework oraz Ext JS, YUI
• znajomość technologii JavaScript, AJAX, HTML, CSS, UML
Narzędzia
• Pracę z topowymi narzędziami wspierającymi proces wytwórczy, w tym oprogramowanie firmy atlassian (jira agile, confluence, stash, bamboo);
• podstawowa umiejętność korzystania z systemu kontroli wersji (svn, git),
Dodatkowo
• znajomość narzędzi umożliwiających przetwarzanie plików danych, takich jak np. awk, grep, sed
Pozdrawiam! :)