Jestem programistką, która zna się na wszystkich warstwach tzw. stosu technologicznego, czyli potrafi projektować, kodować, wdrażać i utrzymywać kompletne aplikacje i strony internetowe, a także je debugować, czyli usuwać znalezione błędy. Można zatem powiedzieć, że regularnie zajmuję się tym, co w innych przypadkach angażuje kilka osób, z których każda odpowiada tylko za część pracy.
Specjaliści potrafiący samodzielnie wykonać taką pracę są poszukiwani zazwyczaj przez mniejsze firmy lub startupy, które mają ograniczony budżet i nie mogą sobie pozwolić na zatrudnienie kilku programistów specjalizujących się w różnych dziedzinach. Często też zlecane mi zadania są na tyle proste, że może się nimi zajmować jedna osoba.
Buduję strony i aplikacje internetowe od początku do końca, czyli od projektu do dostarczenia klientowi gotowego, przetestowanego produktu. Na każdym etapie pracy sprawdzam jakość tego, co już zrobiłam, żeby móc zauważyć i usunąć ewentualne błędy. Administruję też serwerem, na którym znajduje się konkretna aplikacja lub witryna.
Dbam, żeby produkt był zgodny z założeniami projektu, gotowy na czas, estetycznie wykonany, intuicyjny w obsłudze i dopasowany do docelowej grupy użytkowników. Mając wgląd w różne komponenty strony lub aplikacji, mogę sprawnie tworzyć prototypy produktów, bo wiem, co i w jaki sposób należy zaprogramować, żeby gotowy produkt odniósł sukces.
Co powinnam umieć?
Muszę świetnie znać język HTML i CSS, bo to pozwala mi projektować, budować i edytować strony internetowe. Muszę potrafić posługiwać się językiem skryptowym JavaScript, który służy do dodawania nowych funkcji do aplikacji i pisania kodu oraz pozwala stworzyć dynamiczne i responsywne strony internetowe. Muszę znać języki programowania wykorzystywane do tworzenia back-endu, jak Python, Java, PHP, Ruby.
Muszę znać się na relacyjnych i nierelacyjnych bazach danych, potrafić tworzyć i interpretować zapytania do takich baz, wiedzieć, jak zapewniać bezpieczeństwo przechowywanym w nich informacjom. Muszę też znać się na innych sposobach przechowywania danych, takich jak LocalStorage czy ciasteczka, czyli cookies.
Muszę potrafić posługiwać się narzędziami do tworzenia front-endu, takimi jak Angular i React. Muszę znać się na architekturze nowoczesnych aplikacji webowych, potrafić pracować w chmurze, posługiwać się protokołem HTTP oraz znać zasady projektowania REST API.
Muszę bardzo dobrze znać język angielski, żeby móc sprawnie posługiwać się programami, które mają angielski interfejs, czytać dokumentację techniczną napisaną w tym języku, porozumiewać się z anglojęzycznymi współpracownikami i przełożonymi, śledzić światowe nowinki z mojej branży oraz znaleźć dobrą pracę za granicą.
Muszę też bardzo dobrze znać matematykę, żeby wiedzieć, jak tworzyć algorytmy potrzebne do projektowania i kodowania stron internetowych i aplikacji webowych oraz do obsługi baz danych.
Jakie kompetencje miękkie są ważne w mojej pracy?
- kreatywność,
- spostrzegawczość,
- dokładność,
- odporność na stres,
- jasne i precyzyjne formułowanie myśli,
- umiejętność pracy pod presją czasu,
- umiejętność pełnego skoncentrowania się na pracy,
- umiejętność logicznego myślenia,
- chęć ciągłego rozwoju i samokształcenia.
Gdzie mogę pracować?
Mogę znaleźć zatrudnienie w firmach programistycznych, startupach i innych firmach z branży IT oraz w różnych przedsiębiorstwach, w których tworzy się aplikacje i strony internetowe, mogę też założyć własną działalność gospodarczą i świadczyć usługi różnym podmiotom.
Zobacz, kto zatrudnia przedstawicieli tego zawodu