Jestem niezależnym programistą. Programowanie jest moim podstawowym dochodem, odkąd skończyłem szkołę średnią 9 lat temu. Nadal zamierzam uzyskać stopień naukowy, ale w tej chwili czas nie jest dla mnie odpowiedni.
Moja droga do rozpoznawania siebie była następująca. Nie twierdzę, że te kroki sprawią, że zostaniesz rozpoznany przez społeczność programistów, ale pomoże to zwiększyć twoją wiarygodność, gdy przyjdzie czas na rozmowę kwalifikacyjną.
Nawet po tym, jak w tym czasie byłem dość biegły w programowaniu IMO, wróciłem do podstaw, przejrzałem samouczki i zbudowałem portfolio na podstawie inspirowanych prac z nich. Zacząłem też zmuszać się do komentowania mojego kodu w stylu JavaDoc. Portfel może nie być teraz pełen blichtru i blasku, ale daje ci podstawę, z której możesz zbudować i ewentualnie zastąpić to, co masz. Następnie miałem zestaw demonstracji i próbek kodu do pokazania potencjalnym klientom. Jest to niezbędne w zdobyciu pierwszej pracy. Nikt nie chce zatrudnić osoby, która nie ma żadnego doświadczenia, jednak istnieje wiele osób, które dadzą szansę obiecującemu programistowi, który nie ma doświadczenia zawodowego.
Później przeanalizowałem te programy i zacząłem pisać biblioteki na podstawie moich często używanych zadań. Wraz z moimi nowymi bibliotekami zacząłem patrzeć na problemy CompSci w Internecie i zacząłem mierzyć, ile czasu zajmie mi zbudowanie rozwiązania z moimi bibliotekami. To dałoby mi w przyszłości punkt odniesienia co do tego, co powinienem pobierać za konkretne zadanie.
Dopiero wtedy odkryłem open source. Przejrzałem projekty dotyczące sourceforge w języku, który mnie interesował, i znalazłem aplikacje, z których mógłbym skorzystać. Zainstalowałem te aplikacje i zacząłem z nich korzystać w ramach codziennej pracy z komputerem. Byłem w stanie dostrzec mocne i słabe strony tych aplikacji w zakresie mojej codziennej interakcji i zacząłem je rozszerzać, aby odpowiadały moim potrzebom. Przesyłam swoje łatki do społeczności, która ma zostać poddana przeglądowi, a po kilku aplikacjach staram się zostać członkiem projektu. W tym miejscu nauczyłem się korzystać z różnych narzędzi używanych podczas pracy w zespole, który wziął moje „ogromne doświadczenie”, tak jak go wtedy rozważałem, i przeniosłem je na wyższy poziom.
Dostosowałem wszystkie moje praktyki, które podjąłem, pracując nad projektami typu open source i wdrożyłem kompatybilne rozwiązania, kiedy pracowałem jako osoba prywatna. Zacząłem poważnie karierę jako niezależny programista i dołączyłem do wielu niezależnych witryn rekrutacyjnych. Spojrzałem na popularne prace i zacząłem aplikować. Za każdą pracę, którą odrzuciłbym, wciąż wykonywałbym ją sam, tak jakbym uzyskał tę pracę, aby poszerzyć swoją wiedzę. Pomogłoby to zbudować moje portfolio i wprowadzić do niektórych wyzwań w świecie rzeczywistym. Kiedy w końcu dostałem ten pierwszy wywiad, powiedziałem wprost, że nie mam doświadczenia zawodowego. Potem zacząłem opowiadać im o projektach open source, nad którymi pracowałem, o tym, co tam osiągnąłem. Kilka głównych przeszkód, które napotkałem, i sposób, w jaki je rozwiązałem.