Obecnie pracuję dla 2-osobowej firmy, jako główny programista solo. Mój szef ma klientów, kpi z szablonów projektów png i przekazuje je mi.
Ten system działa dobrze i bardzo mi się podoba.
Rodzaje projektów, nad którymi pracuję, są skierowane do małych i średnich firm i zwykle potrzebują systemu CMS. Opracowany od podstaw zbuduję niestandardowy backend dla klienta, aby dodawać / edytować / usuwać kategorie, tagi, produkty itp., A następnie wysyłać je do interfejsu użytkownika zgodnie z przekazanym mi szablonem. Z biegiem czasu projekty stały się bardziej złożone, wraz z funkcjami koszyka / zamówień i innymi typowymi funkcjami typu e-commerce.
Znowu ten system działa dobrze i bardzo mi się podoba.
Moim problemem jest mój osobisty rozwój jako programisty. Wolny czas spędzam na czytaniu blogów programistycznych, sprawdzaniu wymiany stosów , czytaniu sugerowanych książek programistycznych (obecnie na „ The Pragmatic Programmer ”, naprawdę dobre jak dotąd), ćwiczeniu mózgu ( problemy z matematyką lumosity.com i khanacademy ), robiąc dużo ćwiczeń fizycznych i innych działań związanych z rozwojem osobistym.
Nie mogę się jednak oprzeć wrażeniu, że brakuje mi opinii, krytyki. Mój szef jest świetny i nigdy nie powstrzymuje się od pochwały za moją pracę, ale niestety jest albo zajęty, aby sprawdzić mój kod, albo szczerze mówiąc, nie sądzę, że jest to jedna z jego specjalności, więc nie mogę wyrazić opinii .
Chcę wiedzieć, co robię źle i co robię dobrze. Czy powinienem umieszczać tyle logiki w kontrolerze, czy wystarczająco moduluję swój kod itp.
Tak więc opracowałem małą aplikację „Budżetowanie rodzinne” i starałem się robić to tak czysto i skutecznie, jak obecnie wiem.
Chcę wiedzieć, czy mogę gdzieś przesłać tę aplikację i poprosić doświadczonych programistów o opinie. Wydaje się, że nie jest to tylko podsekcja mojego kodu, taka jak „codereview.stackexchange”, ale cały mój przepływ pracy, który chcę poddać krytyce.
Wiem, że należy o to zapytać i oczekuję, że główną radą będzie poszukiwanie pracy w zespole, co z pewnością zajrzę później, ale na razie chcę pozostać przy swoim obecnym sytuacja zatrudnienia, ale po prostu nie chcę rozwijać zbyt wielu złych nawyków.
Daj mi znać, czy mogę udzielić dodatkowych informacji, które pomogą wyjaśnić, czy też nie jest to właściwe miejsce na tego rodzaju pytania, z góry przepraszam. Nie chciałem używać reddita, ponieważ czułem, że ta społeczność wspiera bardziej przemyślane odpowiedzi.
źródło
Odpowiedzi:
Jesteś na dobrej drodze do doskonalenia swoich umiejętności i zrozumiałe jest, że nie masz pewności co do niezawodności i gotowości kodu dla przedsiębiorstwa.
Jest to normalny proces dla młodszego programisty, a twoje zainteresowanie ulepszeniem jest bardzo ważne, ponieważ jest kluczem do tego, aby pewnego dnia stać się gwiazdą rocka.
Jako odniesienie do nauki najlepszych praktyk polecam dołączenie do projektów open source, które są prowadzone bezpłatnie dla pasjonatów / ciekawskich programistów. Naprawdę pomogą ci zrozumieć, jak korzystać z najlepszych praktyk i decydować o projekcie aplikacji. Ponadto postaraj się zaangażować w opracowywanie projektów typu open source, ponieważ znacznie poprawi to samokształcenie i poprawę.
Poleciłbym także uczestnictwo w lokalnych wydarzeniach dla programistów. Niektóre z tych grup możesz znaleźć na communitymegaphone.com . Rozmawiaj z lokalnymi programistami, to w większości dobrzy ludzie, którzy nie mieliby nic przeciwko pomaganiu współpracownikom.
źródło
W miarę zdobywania doświadczenia z pewnością możesz wrócić i przejrzeć poprzednie projekty / kod, aby sprawdzić, gdzie popełniłeś błąd. Z perspektywy czasu to piękna rzecz. Wiem, że sprawdziłem kod / dokumentację, którą napisałem x temu i zdałem sobie sprawę, gdzie popełniłem błąd i gdzie mogłem poprawić.
Fakt, że czytasz blogi, książki, SE itp., Powinien dać ci lepszy wgląd w programowanie jako część twojego osobistego rozwoju, a także prób i błędów oraz ewolucji twoich projektów i kodu z pewnością powinien być dowodem na to, że „ ulepszam. Samokrytyka może być bardzo dobrą rzeczą.
Powiedziawszy to, krytyczne spojrzenie innego dewelopera zawsze stanowi wartość dodaną i może dostarczyć opinie / opcje, o których być może nie pomyślałeś. Chociaż nie znam żadnej konkretnej witryny, w której można zrzucić pełny projekt do przeglądu kodu - możesz umieścić fragmenty tego, co uważasz za podejrzane, w codereview.stackexchange w celu przejrzenia i komentarza, a następnie weź tę opinię na pokład i zastosuj ją gdzie indziej, gdzie stosowne.
Alternatywnie, możesz napisać kilka rzeczy typu open source i rzucić je na github (lub odpowiednik). Społeczność open source z pewnością skrytykuje twoją pracę i ulepszy ją tam, gdzie uznają to za stosowne.
Na koniec, jeśli wytwarzane przez ciebie produkty działają zgodnie z przeznaczeniem, spełniają wymagania biznesowe i są łatwe w utrzymaniu - robisz coś dobrze.
W przypadku pytań, schematów itp. Dotyczących programowania koncepcyjnego Zawsze możesz opublikować te pytania tutaj w PSE i problemy z implementacją kodu w SO.
źródło
Podziel się ze mną swoją opinią, słowami mądrości i pytaniami, nad którymi warto się zastanowić.
Jako doświadczony programista odkryłem przez lata, że najlepszy kod jest tym, który jest prosty (spójrz na koncepcję KISS) i łatwiejszy do modyfikacji przez innego programistę.
Ponadto pozostawia wystarczającą ilość miejsca, aby kod nie był przeciążony (oddychanie) i miał równomierną strukturę. Używaj dobrze znanej konwencji nazewnictwa dla swoich zmiennych, nadając im zrozumiałe nazwy (zrozumiałe dla innego programisty) i pisząc komentarze, które są na temat, nie za dużo i nie za mało.
Postępując zgodnie z powyższym, jesteś już na dobrej drodze.
Ponadto, ponieważ programiści są jak architekci, dam wam bardzo ważne powiedzenie, na które powinniście się zastanowić;
i
Jednak,
W związku z powyższym chcę, abyście zrozumieli, że istnieje równowaga między wysiłkiem a efektem, kosztem i jakością.
I pytania do refleksji;
źródło
Możesz sprawdzić https://codereview.stackexchange.com/
To byłoby świetne miejsce, aby uzyskać informacje na temat kodu lub projektu od doświadczonych profesjonalistów.
źródło
Kontynuuj czytanie książek, blogów i pytań dotyczących przepełnienia stosu. Jeśli chcesz poprawić siebie w bardziej społeczny sposób, dlaczego nie zaangażować się w projekt open source? Nie mam na myśli stworzyć własnego projektu , ale pracować nad istniejącym.
Ponieważ jesteś jedynym programistą w tej firmie, wyobrażam sobie, że kiedyś będzie możliwe zatrudnienie kogoś innego. Powiedz sobie, że tego dnia facet będzie musiał przeczytać twój kod. Czy piszesz już dokumentację na temat swojego narzędzia? Pamiętając o tym, że twoje prace mogą być czytane przez innych ludzi, jest dobrą rzeczą dla programistów solo i pomaga w tworzeniu lepszego kodu.
źródło
Jestem w podobnej sytuacji jak ty, zostałem zatrudniony jako jedyny programista dla 5-osobowej firmy i tylko jedna z nich jest bezpośrednio zaangażowana w aplikacje, które rozwijam / dodam. Na szczęście nie musiałem tworzyć niczego od zera, ale do tej pory jedynie modyfikowałem aplikacje, które zbudował mój poprzednik. Robiąc to, uważam, że już się poprawiłem, rozpoznając, które części jego kodu były dobre, które części były złe i jak można je poprawić.
Czytanie kodu jest ogromną częścią ulepszania własnego kodowania, więc przede wszystkim sugeruję, abyś przeszukał projekt typu open source, przeczytał kod, zrozumiał go i spróbował ocenić, co jest dobre, a co złe, a co można poprawić. Może nawet napiszesz o tym recenzję kodu na swoim blogu.
Twoje zdrowie!
źródło
Opuszczać. Znajdź nowego pracodawcę, w którym będziesz pracować w większym zespole programistów, w tym kilku pieprzonych facetów, z których możesz się uczyć.
Wyraźnie masz wszystkie odpowiednie motywacje, aby tego chcieć.
źródło