Mariusz Nosiński
Web & Java Developer
Nazywam się Mariusz Nosiński i jestem programistą. Pierwszy swój program napisałem w 1990 roku. Była to prosta gra o kręceniu filmów napisana w BASIC na Atari 65XE. Od tamtego czasu zdobywam tylko nowe doświadczenie.
Na studia wyższe wybrałem sobie Informatykę i Ekonometrię oraz Zarządzanie i Marketing. Ekonomiczno-informatyczno wykształcenie bardzo pomogło mi przy tworzeniu produktów finansowych, ale i nie tylko.
Preferuję wiedzę szeroką niż głęboką, lubię wypływać na nowe wody aby mieć szersze spojrzenie przy wyborze instrumentów. Nigdy nie ograniczam się tylko do zdobytej wiedzy. Zawsze uważam, że narzędzie, którego nie używam może być lepsze od tego co mam przy danym problemie tylko o tym nie wiem.
Równolegle do programowania zajmowałem się grafiką i webdesignem. Prowadziłem szkolenia z obsługi programu Photoshop dla młodych adeptów sztuki grafiki komputerowej. Jednak programowanie bardziej mnie pociągało. Jako główny język programowania wybrałem sobie Java. W większości pisałem aplikacje sieciowe zdobyłem bogate doświadczenie w tym temacie. Na początku używałem JSP z Java Servlets, następnie Struts i JSF. Sztukę programowania w Java i technologiach pokrewnych opanowałem w bardzo szerokim zakresie. Jako 299-ta osoba zdobyłem brązowy pas w portalu JavaBlackBelt aka KnowledgeBlackBelt. Po pewnym czasie stwierdziłem, że tworzenie małych aplikacji opartych na technologie Javowe jest drogie zarówno przy powstawaniu jak i potem przy utrzymaniu. Zacząłem szukać czegoś nowego. Nauczyłem się Groovy i przyglądałem się Grails. Jednak to był wciąż ten sam problem. Zainteresowałem się zatem źródłem inspiracji dla Groovy & grails czyli ruby on rails. Przez prawie 2 lata pisałem aplikacje tylko w tym framework’u. Szanuję to co ten framework zrobił w środowisku programistycznym. Kilka nowych metodologii powstawania programowania, które skutecznie zostają powielane i udoskonalane. Wszystko po to, aby maksymalnie skrócić czas powstawania aplikacji. W Ruby przeszkadza mi tylko jedna (ale za to dość ważna rzecz) – wydajność. Niestety jest ona dość ważna. W międzyczasie modne i popularne stały się rozwiązania utrzymane w chmurze. Zatem hosting aplikacji javowych mocno staniał. Stał się on dostępnych nawet dla małych przedsiębiorstw. Wróciłem zatem do Java (i trochę Scala :) ) Małe aplikację tworzę w PlayFramework a do projektów dużych i bardzo dużych – Liferay.
Od kilku miesięcy także ukierunkowywuję się ku aplikacjom mobilnym, już niedługo na rynek wyjdzie mój pierwszy projekt na urządzenia mobilne.
Od 2003 roku prowadzę własną firmę: 5dots. Preferuję pracę zdalną, jestem otwarty na oferty współpracy.
Prywatnie ojciec dwóch synków i mąż jednej żony :) Mieszkam w Kościerzynie.
##Doświadczenie zawodowe
Fota S.A.
2010 – 2012
- Okres zatrudnienia
- Styczeń 2010 – Marzec 2012
- Rola:
- Programista
- Wykonywanie zadania
- Wdrożenie, rozwijanie oraz utrzymanie systemu portalowego Liferay. Pisanie portletów na potrzeby systemu portalowego Liferay zwiększających jego podstawowe funkcjonalności. Wytwarzanie oraz utrzymanie systemów informatycznych w PlayFramework, Ruby on Rails i innych. Administracja bazami danych na potrzeby realizowanych projektów.
- Inne
- Referencje
Infotrust
2008 – 2009
- Okres zatrudnienia
- Styczeń 2008 – Grudzień 2009
- Rola:
- Programista
- Wykonywanie zadania
- Wytwarzanie aplikacji w Java (z wykorzystaniem Struts, JSF, IceFaces, Hibernate).Wytwarzanie aplikacji w Ruby on Rails. Konfiguracja i rozwój systemu portalowego Liferay dla Klientów Infotrust. Pisanie Portletów na platformę Liferay (z wykorzystaniem technologii JSF, Struts, IceFaces. Zarządzanie bazami danych Postgresql, MySQL. Zarządzanie bazą użytkowników LDAP. Utrzymanie istniejących systemów informatycznych.
5dots
2003 – dzisiaj
- Okres zatrudnienia
- 2003 do chwili obecnej
- Rola:
- Właściciel, programista
- Wykonywanie zadania
- Programowanie Java, Ruby. Webdevelopment.
##Nabyte umiejętności
Java
- Java SE
- Praktyczne używanie Java SE do wersji 6
- Java EE
- Wykorzystanie javy do tworzenia aplikacji sieciowych
- JSF
- Praktyczna znajomość implementacji MyFaces, IceFaces
- Struts
- Dobra znajomość wersji pierwszej frameworka, wersja druga bez praktycznego przełożenia
- Liferay
- Dobra znajomość platformy od wersji 4.2 – Praktyczna wiedza na temat wdrażania, konfiguracji i utrzymania. Praktyczna znajomość modyfikacji zarówno za pomocą Plugins SDK jak i EXT
- Play!Framework
- Dobra praktyka z wersją 1.2.x – kilka napisanych aplikacji uruchomionych produkcyjnie. Obecnie nabywanie umiejętności z wersją 2.0
- JPA, JPA2
- Poznanie ten specyfikacji obowiązkowe przy prowadzeniu projektów sieciowych. Znajomość implementacji Hibernate i EBean.
- Java Portlets
- Portlety pisane zgodnie z JSR-168 i JSR-286. Wykorzystanie w tym celu: Struts, MVCPortlets, MyFaces, IceFaces. Wszystkie napisane portlety były na kontener Liferay
- Oracle Business Intelligence
- Poznałem OBI od strony zarządzania jak i tworzenia raportów
Ruby
- Ruby
- Dobra znajomość i praktyczne przełożenie, znajomość zarówno wersji 1.8 i 1.9 języka. Często wykorzystywany jako język do pisania skryptów systemowych.
- Ruby on Rails
- Jak Ruby to Rails – Praktyczne wykorzystanie wersji 2 i 3 frameworka.
- RSpec i Cucumber
- Najczęściej wykorzystywane narzędzia do testowania kodu pisanego w ruby
- Sintara
- Szybkie narzędzie do małych celów
- Rake
- Rake jest wszędzie, wykorzystuję go nawet do projektów pisanych w Java. Automatyzuje często powtarzające się zadania skryptowe.
- Jekyll
- Solidny kod do generowania stron statycznych
Web & Mobile
- WordPress
- Dobre narzędzie do tanich rozwiązań. Świetna znajomość, praktyczna wiedza zdobyta na kilkudziesięciu stronach zbudowanych za pomocą tego skryptu./dd>
- PHP
- Wiedza wystarczająca do napisania prostych aplikacji
- Cake Framework
- Ulubiony framework PHP. Mało wykorzystywany. PHP używam tylko tam gdzie nie mogę użyć Java lub Ruby.
- jQuery
- Bardzo dobra znajomość. Napisałem kilka pluginów na swoje potrzeby
- Javascript
- Znam, ale tam gdzie mogę wolę użyć jQuery zamiast stricte JavaScript
- HTML
- Praktyczna, dobra znajomość HTML4, HTML5, XHTML
- CSS
- Znam, używam – wersje 2, 2.1, 3
- Phonegap
- Dobre narzędzie do tworzenia aplikacji w HTML5 + CSS + JS i publikacji go na platformy Android i IOS
- Adobe Photoshop i Ilustrator
- Bardzo dobra znajomość. Kiedyś prowadziłem kursy dla grafików komputerowych. Teraz rzadko używam, częściej zajmuję się kodem.
- Android
- Podstawowa wiedza na temat działania platformy
Pozostałe
- Wzorce Projektowe
- Badzo dobra znajomość i praktyczne wykorzystywanie. Seria artykułów na ich temat na blogu.
- Code Quality
- Znam dobre praktyki programistyczne i staram się używać
- Bazy danych
- Praktyczne wykorzystanie Postgresql, MySql,i trochę mniej: Sqlite, MSSQL i Oracle
- Neo4j
- Przetwarzanie danych jako graphów
- Git scm
- Bardzo dobra znajomość systemu kotroli wersji Git. Jestem fascynatą tego narzędzia
- CVS i Subversion
- Dobra znajomość tych systemów kontroli wersji
- Vim
- Wspaniały edytor. Używam tam gdzie się da. Staram się wycisnąć wiele z jego możliwości
- Eclipse
- Najbardziej popularny IDE do Java i nie tylko
- IntelliJ IDEA
- Komercyjny ale mój ulubiony IDE do wszystkiego
- Agile
- Znam praktyki Scrum i Kanban, ale nie miałem raczej praktycznej możliwości w pełni z nich korzystać
- Prawo Jazdy Kategorii B
- Posiadam od 1993 roku
- Honorowy Dawca Krwi
- Systematycznie co 8-10 tygodni oddaję cząstkę siebie osobie potrzebującej