Technologia
Platformą pierwszego wyboru jest dla nas Java i technologie ją otaczające, zarówno przy tworzeniu aplikacji online jak i desktopowych.
W swojej pracy staramy się nie wykazywać nadmiernego przywiązania do jakiejkolwiek technologii. Ważniejszy od zastosowanych platform, języków czy bibliotek jest efekt końcowy - dla znakomitej większości Klientów technologia nie ma znaczenia, o ile powstaje system czy strona, które działają szybko, niezawodnie i spełniają wszystkie wymagania.
Kiedy wybór technologii jest narzucany przez Klienta, potrafimy się szybko zaadaptować, nawet - co zdarza się dość rzadko - w przypadku braku wcześniejszego doświadczenia w pracy z danym językiem czy biblioteką. Większość zasad wytwarzania dobrego oprogramowania jest uniwersalna i daje się zastosować niezależnie od konkretnych narzędzi.
Kiedy dobór technologii należy do nas, stosujemy się do zasady, że nie istnieją uniwersalne rozwiązania. Jeśli do wykonania mamy niedużą stronę WWW, a budżet klienta nie jest wielki, nie boimy się sięgać po technologie "prostsze", takie jak np. język PHP, którego zaletą jest wszechobecność i niezliczone ilości gotowego oprogramowania. Jednocześnie unikamy stosowania tych rozwiązań - i nie boimy się stanowczo ich odradzać - gdy potrzeby klienta są nieco lub znacznie większe. Aby uniknąć problemów natury "PHP jest dostępne wszędzie, a Java - nie", oferujemy naszym Klientom dedykowany hosting stworzonych aplikacji, niezależnie od użytej technologii. Pierwszy rok hostingu z reguły oferujemy gratis.
W razie specyficznych potrzeb nie stronimy od innych rozwiązań, wykonywaliśmy z powodzeniem zlecenia w C++, Pythonie, Perlu, .NET i innych językach.
Technologie pierwszego wyboru dla aplikacji online
- JavaEE: EJB 3, JPA 2 (dostawca EclipseLink), framework webowy Stripes wraz z JSP, open source'owe pakiety bibliotek
- serwer aplikacyjny Glassfish (dobrze znamy również Weblogic i JBoss)
- baza danych MySQL lub Postgresql, doskonale znamy również Oracle i SQL Server
- współczesne technologie webowe: HTML+CSS, JavaScript z użyciem jQuery, szeroko pojęty AJAX, w zależności od potrzeb różnego rodzaju inne biblioteki, separacja wyglądu od treści, stosowanie zasad użyteczności i dostępności, optymalizacja pod SEO
- większość bardziej złożonych aplikacji opieramy o autorski system zarządzania treścią pozwalający na jej edycję bezpośrednio na stronie
- jeśli nie ma innych wymogów ze strony Klienta, wymagamy wersji JRE 6.0 lub nowszej
Technologie pierwszego wyboru dla aplikacji desktopowych
- JavaSE: Swing, Better Swing Application Framework, open source'owe pakiety kontrolek i bibliotek
- aplikacje instalowane lub uruchamiane za pomocą Java Web Start
- komunikacja z serwerem aplikacyjnym lub lokalna baza danych (preferujemy Derby, dobrze znamy też HSQL)
- jeśli nie ma innych wymogów ze strony Klienta, wymagamy wersji JRE 6.0 lub nowszej
Kompetencje analityczno-projektowe i zarządzania projektami
- gromadzenie i dokumentowanie wymagań
- weryfikacja formalna wymagań
- projektowanie architektury systemów
- opracowywanie projektów funkcjonalnych
- projektowanie interfejsów użytkownika z uwzględnieniem zasad ergonomii i dostępności
- tworzenie dokumentacji technicznej i użytkowej
- znajomość współczesnych metod modelowania i ich notacji (w tym UML)
- znajomość zarówno metodyk klasycznych, jak i agile (RUP oraz Scrum)
- ciągła integracja (continuous integration), także powiązana z systemem kontroli wersji i zgłoszeń
- skuteczne zarządzanie rozproszonymi zespołami developerskimi
Kompetencje nieprogramistyczne
- cięcie szablonów z formatu Photoshopa (PSD) do postaci HTML+CSS+JavaScript
- opracowywanie prostszych szablonów WWW (złożone oferujemy we współpracy z zewnętrznymi grafikami)
- dostosowywanie gotowych szablonów
- proste i średniozaawansowane prace graficzne
- retusz i obróbka fotografii, fotomontaże
- konwersje formatów, podstawowa obróbka i montaż materiałów wideo i audio
- prace DTP
- wykonywanie projektów druków, ulotek, wizytówek, itp.