Inżynieria Backendowa w Sling Money
Cześć - jestem James, jednym z inżynierów backendu i członkiem zespołu założycielskiego w Sling Money. Ten wpis skierowany jest do potencjalnych kandydatów na stanowisko inżyniera backendu. Obejmuje pytania, które zazwyczaj są zadawane podczas rozmów kwalifikacyjnych, aby dać ci wyobrażenie o tym, jak wygląda życie tutaj. Miejmy nadzieję, że pomoże ci to podjąć decyzję o aplikowaniu!
O Sling Money
Sling Money buduje globalny, bezgraniczny produkt finansowy, który pozwala wysyłać pieniądze w dowolne miejsce na świecie natychmiastowo. Historycznie, przesyłanie pieniędzy było wolne, kosztowne i skomplikowane. Lokalnie, łatwość przesyłania pieniędzy zależy od infrastruktury bankowej twojego kraju i często wiąże się z udostępnianiem 20+ znakowych IBAN-ów lub czekaniem na godziny pracy banku, aby płatności dotarły. Międzynarodowo, jest gorzej - pieniądze muszą przejść przez wielu pośredników i mogą zająć kilka dni roboczych na przetworzenie. I nie wspominając jeszcze o opłatach i kosztach (wiele z nich jest ukrytych). Nie ma fundamentalnego powodu dla tego - istniejące metody są po prostu oparte na systemach dziedziczonych, często wdrażanych dziesięciolecia temu.
Sling Money powstało na realizacji, że istnieje lepszy sposób, żeby to robić. Opiera się na dwóch stosunkowo nowych technologiach:
Szybkie, tanie blockchainy. Pozwalają one na trzymanie i przesyłanie pieniędzy bardzo tanio i prawie natychmiastowo, nawet przez granice. Używamy blockchainu Solana.
Stablecoiny. Są to kryptowaluty, których wartość jest powiązana w stosunku 1:1 z walutą rządową. Pozwalają naszym klientom trzymać wartości na blockchainie bez zmiany wartości tego aktywa w porównaniu do walut fiat, do których są przyzwyczajeni.
Dostatecznie obeznana osoba może kupić stablecoin (powiedzmy USDC) za euro we Francji za pomocą przelewu bankowego SEPA, wysłać go komuś w USA, kto może go sprzedać za dolary amerykańskie, otrzymując pieniądze na swoje konto bankowe za pomocą przelewu FedNow. Każdy z tych kroków jest zasadniczo natychmiastowy i niemal bezpłatny. Wierzymy, że to jest naprawdę najlepszy sposób na przesyłanie pieniędzy przez granice.
Jednak jest to dość skomplikowane, aby dowiedzieć się jak to zrobić. Potrzebujesz założyć konto na giełdzie, która pozwala ci kupować stablecoiny, upewnić się, że uzyskasz przyzwoity kurs wymiany, stworzyć klucz kryptograficzny, upewnić się, że twój prywatny klucz nie zostanie zgubiony lub skradziony, upewnić się, że masz wystarczającą ilość SOL lub ETH na zapłatę za transfer kryptowalut, a także przekonać osobę, do której wysyłasz pieniądze, aby zrobiła to samo.
Sling Money istnieje, aby abstrahować tę złożoność i uczynić ją tak prostą i intuicyjną dla klientów, jak to tylko możliwe. Stworzyliśmy aplikację mobilną, która zakłada portfel niepowierniczy na Solanie dla użytkownika. Zintegrowaliśmy się z lokalnymi dostawcami płatności na całym świecie, aby zapewnić wysokiej jakości, szybkie metody dodawania i wypłacania pieniędzy z Sling Money.
Zostaliśmy założeni latem 2022 roku i wystartowaliśmy we wrześniu 2024 roku.
Domeny problemów
Nasza praca dotyczy głównie następujących dziedzin:
Płatności
Wykrywanie i zapobieganie przestępstwom finansowym i oszustwom
Skalowanie obsługi klienta
Zarządzanie skarbcem
Platforma/bezpieczeństwo/zgodność
Skład zespołu
W chwili pisania, mamy sześciu inżynierów backendu i sześciu inżynierów klienta, podzielonych równo pomiędzy Androida, iOS i web. Cała firma liczy około 25 osób. Mamy biura w Londynie, Amsterdamie i New Jersey oraz kilka osób pracujących w pełni zdalnie. Inżynieria jest głównie zlokalizowana w Londynie.
Pracujemy w zespołach interdyscyplinarnych, więc każdy inżynier blisko współpracuje z każdym w zakresie projektowania/produktu/marketingu/finansowych przestępstw/finansów itp., aby osiągnąć nasze wspólne cele.
Stos technologiczny
Nasza platforma jest napisana w Go. Mamy architekturę zorientowaną usługowo i używamy komunikacji między usługami w gRPC. Jest wdrożona na AWS z wykorzystaniem ECS. Używamy SQS do zadań asynchronicznych, Postgresa do przechowywania danych oraz GraphQL do komunikacji z klientami.
Mamy oddzielny pipeline analityki danych, który jest zasilany z naszej platformy i używa BigQuery i Metabase.
Proces rozwoju
Chcemy, aby nasi inżynierowie mieli najlepsze narzędzia do pracy, i częste jest, że inżynierowie zwracają koszty za płatne narzędzia, których chcą używać. Nasi inżynierowie otrzymują wysokiej klasy MacBooki i używają różnych środowisk rozwojowych, w tym GoLand, Cursor i Neovim. Niedawno zaczęliśmy używać Graphite do pull requestów.
Wdrożenie
Wdrożenie funkcji do produkcji zazwyczaj obejmuje:
Urzom platformy lokalnie, skieruj aplikację mobilną do serwera deweloperskiego
Kodowanie i testowanie zmian
Otwieranie PR, przechodzenie przez CI i uzyskiwanie przeglądu kodu
Platforma jest wdrażana na stagingu i produkcji po scaleniu do głównej gałęzi
Wdrażamy się do produkcji wiele razy dziennie.
Testowanie i dokumentacja
Jesteśmy na wczesnym etapie działalności i szybkość iteracji jest priorytetem dla większości naszych systemów. Wpływa to na nasze podejście do testowania i dokumentacji. Testujemy i dokumentujemy systemy na wysokim poziomie, dążąc do testów i dokumentacji, które pozostają istotne w obliczu zmian.
Mamy testy integracyjne, które uruchamiają całą platformę i testują najważniejsze przepływy, takie jak rejestracja i płatności. Testujemy jednostkowo skomplikowane fragmenty logiki. Chcemy unikać testowania dla samego testowania i jesteśmy podejrzliwi wobec kruchych testów, które są zbyt ściśle związane z obecnym kodem.
W miarę dojrzewania systemów, spodziewamy się zwiększenia poziomu testowania i dokumentacji.
On call
Mamy płatny tryb on-call 24/7, w którym oczekuje się od inżynierów bycia, ale często robią sobie przerwy na dłuższe okresy. Uważamy, że zachęty są dobrze dostosowane, gdy osoby wdrażające kod są również odpowiedzialne za jego poprawne działanie. Nasza rotacja jest zazwyczaj dość spokojna i często zdarza się, że przez tydzień nie dostajemy żadnego wezwania. Priorytetem dla nas jest empatia w podejściu do harmonogramu - częste są zmiany dyżurów lub zamiana kilku godzin wieczorem, aby wyjść na kolację.
Filozofia inżynierii i skalowania
Próbujemy zbudować małą i efektywną firmę, z niewielką liczbą pracowników w stosunku do liczby obsługiwanych klientów. Aby to zrobić, staramy się:
Tworzyć jak najwięcej przestrzeni dla inżynierów do pracy autonomicznej
Skalować części firmy, które tradycyjnie wymagałyby wysokiej liczby pracowników, korzystając z inżynierii i AI do automatyzacji
Wybierać technologie dobrze zrozumiane
Unikać wprowadzania nowej infrastruktury, kiedy to możliwe
Kupować, a nie budować systemy, kiedy to możliwe
Proces aplikacji
Jeśli to brzmi dla ciebie interesująco, możesz dowiedzieć się więcej o Sling Money, naszych wartościach i otwartych miejscach pracy na naszej stronie kariery. Jeśli obecnie nie mamy otwartych stanowisk, ale uważasz, że będziesz odpowiednim kandydatem, prosimy o email na [email protected], abyśmy mogli się z tobą skontaktować, gdy będziemy ponownie rekrutować.
Wypróbuj to teraz