Z pewnością znasz zasadę działania dźwigni, ale czy wykorzystujesz ją na co dzień? Wyobraź sobie sytuację, w której wkładasz 10% swojej energii, osiągając 500% rezultatu. Niemożliwe? No cóż, tak działa dźwignia.
Jak przełożyć dźwignię na programowanie? Czy musimy być geniuszami czy może wystarczy tylko inna perspektywa. Spróbuję pokazać Ci teraz czym dźwignia jest dla mnie i jak wykorzystują ją w codziennej pracy na konkretnych przykładach. Wcześniej dodam tylko, że pracuję z projektami różnej skali, wyłączając projekty enterprise. Miej to proszę na uwadze, ponieważ to co teraz napiszę raczej nie będzie miało zastosowania
w warunkach korporacyjnych.
Praktycznie w każdym projekcie, z którym się spotkałem najważniejsza była skuteczność. Czasem wyrażona poprzez czas dostarczenia, czasem przez elastyczność do wprowadzania modyfikacji a czasem przez solidne, niezawodne oprogramowanie.
Obecnie realizuję nawet własne projekty, w których najważniejsze są dla mnie: wniesienie realnej wartości klientowi oraz możliwie wysoka jakość.
Jednocześnie pracuję albo w pojedynkę (jak wielu członków społeczności IndieHackers) lub w bardzo małym zespole. W takich sytuacjach ważne jest to aby maksymalnie wykorzystać swój czas i energię aby osiągnąć maksimum rezultatów.
Jednym z najważniejszych elementów takiego funkcjonowania jest umiejętność wybrania odpowiedniego narzędzia do problemu a nie próba wciskania na siłę narzędzi które lubię w każdy problem.
Pamiętam jak kiedyś wdrożyłem rozwiązanie przy którego oddaniu zaznaczałem, że "to zadziała ale jeżeli ktoś w przyszłości zapyta 'kto to robił?', nie wskazujcie na mnie". Dlaczego tak? Bo tego wymagał ten konkretny problem i kontekst, w którym się wówczas znajdowałem. Możesz sobie wyobrazić z jakim trudem odkładałem moje programistyczne ego na półkę. Efekt? Projekt przeszedł wstępną walidację i mógł być dalej rozwijany. Bez tamtej decyzji z dużą pewnością nie byłoby to możliwe.
Podsumowując tą część: wybieraj narzędzia do problemów, próbuj zrozumieć szerszy kontekst i pracuj ze swoim ego.
Teraz o konkretach. Pomimo tego że od dawna wiem czym jest API i do czego służy, dopiero niedawno zrozumiałem jakie możliwości to daje. Tzn. korzystając z usług, które udostępniają nam API, jesteśmy w stanie łączyć je ze sobą niemal w dowolny sposób. Oczywiście w ten sposób uzależniamy się od zewnętrznych dostawców i często są to płatne rozwiązania, ale zyskujemy przewagę w postaci czasu oraz często nawet zwykłej możliwości wykorzystania rozwiązania, które normalnie byłoby poza naszym zasięgiem. Do łączenia ze sobą API wykorzystuję narzędzia takie jak: Zapier, Integromat oraz n8n.
Poza tym chciałbym bardzo polecić Ci narzędzia, które identyfikowane są
z ruchem no-code/low-code i są to: Webflow, Typeform oraz Airtable. Ich połączenie z pomocą wyżej wymienionych usług sprawia, że jesteśmy nie tylko w stanie projektować wczesne wersje naszych produktów. Często projekty posiadające solidny codebase mają elementy takie jak panele administracyjne czy zwykły landing page z formularzem podłączonym do systemu CRM. Zamiast kodować to wszystko od zera, możemy w ciągu kilku godzin skonfigurować wszystko w Webflow / Integromacie / Airtable
i zrealizować konkretny cel.
Według mnie jako programiści nie powinniśmy skupiać swojej energii na rzeczach, które mogą być wykonane prosto. Nasza przewaga leży w tym, aby wykorzystywać nasze umiejętności w miejscach, w których takie narzędzia nie mogą być zastosowane bo to właśnie tam znajdują się wyróżniki konkurencyjne biznesu, który rozwijamy. Natomiast musimy pamiętać o tym aby sięgać po narzędzia, które dadzą nam ku temu odpowiednią przestrzeń.
Ostatnim przykładem jest wykorzystanie narzędzia Retool to budowy wewnętrznych paneli administracyjnych i podobnych interfejsów, których rozwój z pewnością nie kojarzy Ci się zbyt dobrze. Tutaj jesteśmy w stanie podłączyć dowolne źródło danych i w kilka minut "wyklikać" interfejs uwzględniający nawet wizualizacje informacji.
Podsumowując: wykorzystaj odpowiednie narzędzia aby stworzyć sobie przestrzeń do tego, by móc się skupić na rzeczach, które rzeczywiście potrzebują Twojej uwagi i umiejętności.
Mam nadzieję że taka perspektywa okaże się dla Ciebie przydatna. Jeżeli masz jakieś przemyślenia na ten temat i chciałbyś się nimi ze mną podzielić to śmiało!