Jak wybrać inżyniera oprogramowania aplikacji internetowych?
(Stała) pozycja polega na przepisaniu klienta istniejącej aplikacji serwerowej dla klienta stacjonarnego. Strony nie będą generowane dynamicznie na serwerze, ale serwer ujawni pełne API w dowolny sposób, na przykład, wywołania JSON RPC i może udostępnić pliki statyczne. Zastąpi klienta, który ludzie muszą pobrać i zainstalować, więc wymaganie porządnej przeglądarki z rozsądnymi ustawieniami (np. Włączoną obsługą JavaScript) jest w porządku. Prawie wszystkie przypadki użycia dotyczą komputera stacjonarnego. Nie będzie on dostępny dla wyszukiwarek (jest to aplikacja dla przedsiębiorstw).
Możemy posunąć się tak daleko, aby napisać całość na jednej stronie, ale nie musimy. W zasadzie wszystko to napisałby dany inżynier aplikacji internetowych. Dokładne biblioteki open source, których należy użyć, zależą również od inżyniera.
W szczególności szukam porady na temat tego, jakich kwalifikacji szukać / weryfikować w wywiadzie, ponieważ wybór inżyniera oprogramowania aplikacji jest ogólnie zbyt obszernym tematem.
Edycja - pozycja dotyczyłaby wyłącznie programowania JavaScript w przeglądarce (i byłaby odpowiedzialna za HTML i CSS) - inni programiści opracowaliby serwer, ale ta pozycja mogłaby żądać fasad nad API. Nie ma Ruby, ASP, JSP itp., Ponieważ warstwa serwera WWW jest bardzo cienka i po prostu tłumaczy wywołania na API warstwy biznesowej i zwraca je jako JSON (lub cokolwiek, ale JSON wydaje się najłatwiejszy).
Odpowiedzi:
Jako programista stron internetowych, który pracuje głównie nad aplikacjami dla przedsiębiorstw zajmującymi się starszymi systemami, mogę zaproponować kilka sugestii dotyczących tego, co czyni mnie sukcesem, i mam nadzieję, że to pomoże.
Nie jestem pewien, czy szukasz tymczasowej / konsultacyjnej sytuacji, która zapewni Ci jedną aplikację, czy też FTE w celu opracowania i utrzymania tego długoterminowego okresu, ale myślę, że powinny one mieć zastosowanie w obu przypadkach.
Tylko kilka przemyśleń z mojego doświadczenia w okopach, ale jeśli mój dział zatrudnia nowego programistę, powiedziałbym im, żeby szukali.
Chciałbym, aby mój dział miał budżet na innego programistę ...
źródło
Uwaga: To po prostu moja opinia, więc nie rzucaj we mnie zlewem kuchennym;)
Myślę, że wymieniasz nazwy dwóch wyraźnie różnych pozycji (co może być trochę mylące).
Inżynier oprogramowania : Inżynier. Ten, który jest silny w rozwiązywaniu abstrakcyjnych problemów, które niekoniecznie są powiązane z żadną konkretną platformą. Dobra znajomość wzorców projektowych, algorytmów (zarówno znanych algorytmów, jak i projektowania i analizy algorytmów), pewnej siły w algebrze liniowej i być może rachunku różniczkowego. Kiedy w przeszłości zatrudniałem inżyniera oprogramowania, nie martwiłem się tak bardzo wiedzą na temat konkretnych dziedzin, jak umiejętnością rozwiązywania złożonych problemów.
Twórca aplikacji internetowych : ktoś, kto zna tajniki budowania aplikacji internetowych. Rozumie architektury serwerowe a po stronie klienta i jak skutecznie komunikować się między nimi. Zna standardy W3C, zarówno ukończone, jak i stany WIP. Rozumie, jak działają bazy danych i jak je optymalizować w razie potrzeby (optymalizacja zapytań, buforowanie bazy danych, indeksowanie itp.). Zrozum także różne mechanizmy buforowania i inne sposoby optymalizacji ich aplikacji. Rozumie również konwencje semantyczne.
Prawdopodobnie jest tam kilka rzeczy, za którymi tęsknię, które mogę wypełnić, gdy o nich myślę.
Z opisu tego, czego szukasz, wydaje mi się, że wcale nie szukasz inżyniera oprogramowania; szukasz programisty aplikacji internetowych.
Najpierw sprecyzuję, kogo szukasz i jakiej wiedzy oczekujesz od kandydata. Może ci trochę pomóc.
źródło