czwartek, 4 stycznia 2018

Programistyczne podsumowanie roku 2017 - czyli w czym udało mi się wyskilować

2017 rok, zacząłem od zmiany pracy i przeprowadzką do Warszawy, z powodu niewielkiej liczby ogłoszeń o pracę dla juniorów w Lublinie. W czerwcu, gdy już miałem rok doświadczenia, zmieniłem firmę jeszcze raz, tym razem, dostając znacznie lepsze wynagrodzenie i ciekawsze projekty.

Ukończyłem także stylowanie aplikacji mobilnej i puściłem około 520 commitów w swoich projektach.

Technologie, których się nauczyłem w tym roku to między innymi:

Sass - korzystałem z niego już wcześniej, jednak dopiero praca z realnymi projektami, pozwoliła mi na jego lepsze zrozumienie. Poznałem też kilka ficzerów, które dostarcza nam Compass. Bardzo pomocne w pracy z Sass, było przerobienie książki Sass and Compass for Designers.

Frameworki CSS - trochę tego było, Bootstrap 3 i 4, Foundation, Bulma CSS. Cukiereczki, z których trzeba korzystać jak najwięcej.

Pisanie w czystym JS/jQuery - znajomy podpowiedział mi, że kod w jQuery można łatwo przerobić pod czysty JS. Zacząłem korzystać ze strony http://youmightnotneedjquery.com/, co pozwoliło mi w pewnym stopniu uwolnić się od jQuery. Jednocześnie, w pierwszej pracy w Warszawie byłem przez jakiś czas jedynym front-endowcem, przez co, naturalnie musiałem wyskilować się także w bibliotece stworzonej przez Johna Resiga.
Poznałem także sporo nowych pluginów do jQuery.
Stworzyłem także kilka projektów w czystym JS. Moim zdaniem, jQuery raczej nie nadaje się do pisania dużych aplikacji, o ile, nie narzucimy restrykcyjnych reguł pisania. Frameworki JS, narzucają same w sobie odpowiednie pisanie kodu.

ES6 / Typescript - poznanie tych technologii znacznie ułatwiło mi pisanie bardziej skomplikowanych aplikacji. Dzięki nim, poznałem także lepiej programowanie obiektowe (które niezbyt przydawało się przy niewielkich mechanikach implementowanych w jQuery). Nadal pozostaje tutaj mnóstwo do nauczenia się.

AngularJS/Angular2+ - 1 mały i 2 duże projekty w Angular JS, kilkanaście własnych projektów w Angular 2+ - dzięki nim, zwiększyła się moja świadomość dotycząca prawidłowej architektury dużych aplikacji. Moim zdaniem, te technologie bardzo ułatwiają pisanie aplikacji i pozwalają na stworzenie ciekawego projektu, także osobom, które dopiero zaczynają programowanie. Oczywiście, great power comes great responsibility.

ReactJS/React Native - kilka własnych projektów do nauki, dzięki którym, nauczyłem się podstawowych ficzerów tych bibliotek i przesyłania danych między modułami. Pozostało jeszcze bardzo dużo do nauki.

Vue.js - liznąłem podstawy, technologia niszowa w porównaniu do innych frameworków JS. W tym roku raczej nie będę się bardziej wgłębiać w Vue.

Rest - w tym roku zetknąłem się po raz pierwszy z tym sposobem komunikacji warstwy backendu i frontendu. Stworzyłem kilka własnych prostych aplikacji, które się na nim opierają, a także pracuję z nim w obecnej pracy. Rest jest ok.

Umbraco, Ghosts - technologie CMS, które mają za zadanie między innymi zdetronizowanie Wordpressa. Samodzielnie stworzyłem stronę na Umbraco od zera - od projektu graficznego do jego zaimplementowania, także po stronie części mechanik na backendzie. Uważam, że Wordpress nadal ma znacznie większe możliwości, jest tańszy i łatwiejszy w konfiguracji. Szkoda, że mniej bezpieczny.

C# - przerobiłem podstawy. .

Node.js/Express.js, czyli JS na backendzie. Stworzyłem w nich jedno czy dwa Rest API.

Narzędzia, które wykorzystywałem w tym roku

VSCode - edytor od Microsoftu, który znałem już rok temu, ale wtedy zupełnie nie przypadł mi do gustu. So awesome!

PHPStorm - Pracowałem na nim około pół roku. Świetny edytor, dużo ciekawych opcji, które ułatwiają programowanie. Mój wniosek po tym czasie - wolę lżejsze edytory. Oszczędzaj RAM!

Win 10 - gdyby nie aktualizacje, nie miałbym zastrzeżeń.

Visual Studio - potrzebne do programowania w C#. Ciężkie IDE, wiel osób narzeka na jego ociężałość.

Postman - świetne narzędzie do testowania RestApi. Wzór, pokazujący, jak dobrze może działać i wyglądać aplikacja desktopowa napisana w JS.

Różne Linuxy (Lubuntu, Fedora, Mint) - nadal nie jestem do końca przekonany do pracy na Linuxie. Być może przekona mnie do tego bliższe poznanie języków backendowych, które będą działały na serwerze na Linuxie. W tym roku poznałem sporo poleceń linuxowych i nieco pracowałem na Linuxie, tworząc w nim projekty JS.

Plany na 2018 rok
  • Dalsza nauka JS i zmierzanie bardziej w stronę bycia programistą JS, niż front-end deweloperem.
  • Lepsze poznanie RXJS, Lodash i podobnych zabawek dla programistów JS.
  • Testy - Karma, Jasmine itd.
  • Frameworki - Angular, React
  • Nauka ogólnych zasad programowania, takich, jak OOP, wzorce projektowe, dobre praktyki
  • Rozszerzenie wiedzy na temat “nowego CSS-a”, czyli Grid i Flex Box, o ile będzie potrzebne do pracy. 
Pozdrawiam wszystkich i życzę wielu programistycznych sukcesów! W komentarzu napisz, co udało Ci się osiągnąć w mijającym roku, jako programista!

Brak komentarzy:

Prześlij komentarz