2009-04-04 12 views
5

Jestem programistą z wbudowanym oprogramowaniem, mającym ponad 5 lat doświadczenia w pracy na urządzeniach mobilnych. Niedawno straciłem pracę i większość zadań w polu osadzonym (z którym się spotkałem) wymaga potwierdzenia bezpieczeństwa i nie kwalifikuję się do tego. Z tego powodu, a także po to, aby nauczyć się czegoś nowego, planuję przejść do tworzenia stron internetowych (usługi internetowe lub dowolna znacząca aplikacja korzystająca z baz danych itp.).Jak przejść z tworzenia oprogramowania wbudowanego do tworzenia stron internetowych?

Proszę wskazać mi, jakie czynniki należy wziąć pod uwagę, aby zdecydować, którą technologię wybrać (MSFT/Java powiązana/LAMPA). Jeśli to możliwe, przedstaw sugestie dotyczące projektów, które mogą mieć zastosowanie w realnym życiu i ile czasu powinienem przeznaczyć na to samo (mam ostatnio dużo nieprzewidziany czas :)).

Dzięki.

+0

Gdzie są szukasz osadzonych prac? Zwykle są zorientowane na bezpieczeństwo w obszarze DC, ale nie są zorientowane na bezpieczeństwo poza nim. Jeśli jesteś otwarty na relokację, należy rozważyć miejsc w Ohio i Zachodniej PA (np Pittsburgh), istnieje wiele wbudowanych pracy tam – Uri

Odpowiedz

0

Kolejnym dobrym krokiem może być przejście na ścieżkę programisty iPhone'a, ponieważ najprawdopodobniej masz doświadczenie związane z ciekawostkami klientów (wycieki pamięci, ograniczone procesory itp.). IPhone/iPod Touch ma także tę zaletę, że posiada dość potężną przeglądarkę opartą na webkitach, która może uruchomić większość AJAX-a, którą możesz napisać i może współpracować z komponentem po stronie serwera.

Aby utrzymać rzeczy tanie, można uruchomić stos java na serwerze EC2 lub innym systemie VPS, który może działać jako część aplikacji po stronie serwera.

Jest to inwestycja w wysokości 99 USD na licencję programisty i 5 USD miesięcznie za tanie VPS dla deweloperów, ale wypłata może być wysoka, jeśli wiatr wieje we właściwym kierunku, a po uruchomieniu aplikacji jest pełnia księżyca).

(oh, i tanie wciągające gry może przynieść przyzwoitą kwotę pieniędzy z długim ogonem, choć kto wie, jak długo to będzie trzymać się poważne gry jest uruchomiona na iPhone przez dużych graczy, takich jak EA)

+0

Nie trzeba używać Intel Mac rozwijać natywne aplikacje iPhone? - Jeśli mówisz o korzystaniu wyłącznie z aplikacji serwerowych, nie musisz wydawać 99 USD na licencję programisty. – Nate

2

Normalnie powiedziałbym, że powinieneś wykorzystać swoje doświadczenie w programowaniu dla maszyn, które są słabo zasilane i mają mało pamięci. Jednak tworzenie stron internetowych to zupełnie inna bestia. Serwery WWW zwykle mają o wiele więcej mocy obliczeniowej i pamięci.

Przejście w LAMPIE lub w inny sposób wymaga innego paradygmatu obliczeniowego. Często poświęcasz więcej czasu na integrację wielu procesów (bazy danych, języka skryptowego, serwera internetowego), niż narzucanie większej prędkości i wydajności. Przejście nie jest takie łatwe.

Tak, podobnie jak w poprzedniej odpowiedzi, możesz rozważyć przejście na ścieżkę rozwoju mobilnej sieci WWW. Możesz zdobyć zestaw do programowania openmoko/iphone/gphone i zacząć eksperymentować. Cokolwiek możesz dostać w swoje ręce (i w ramach swojego budżetu).

1

Po pierwsze, zdaj sobie sprawę, że zaczynasz całkowicie, jeśli się zmienisz. Możesz przejść na iPhone'a, Androida lub Symbiana, ale nie będę się na to opierał, chyba że jesteś przyzwyczajony do freelancingu płac i płatności. Zależy od twojej osobowości i możliwości.

Po drugie, ustanów i pracuj w sieci w obszarze, w którym chcesz pracować. Bądź miły, bądź cicho, bądź konkretny: Twoje możliwości będą najprawdopodobniej związane z tym, kim wiesz i jak bardzo ci pomogą. Zbyt wielu programistów, którzy spędzają życie przed ekranem, zapomina, że ​​pracodawca i klient nie są kompilatorami. Bądź miły!

Z perspektywy ziemi-up, można zajrzeć do PHP/MySQL winestore, który jest w tej książce:

Web Database Applications with PHP and MySQL

Jest to dość krok po kroku (jeśli starsi) podejście do uczenie się, CO robi program oparty na sieci i podejście, jak to zrobić. Nie przejmuj się AJAX i innymi materiałami z Web 2.0, dopóki nie poznasz podstaw; będzie to po prostu dezorientujące, moim zdaniem.

Atlassian, który tworzy internetowe oprogramowanie do śledzenia problemów napisane w języku Java, ma pakiet programistyczny open source i 30-dniową wersję próbną. Jeśli szukasz, aby zobaczyć trochę kodu i pracy w dość rozwiniętej powierzchni, można go wypróbować:

http://confluence.atlassian.com/display/DEVNET/

Web Development jest inny niż skillset osadzony, choć można znaleźć sposób, aby wykorzystać swoją umiejętność koncentracji na szczegółach i rozwiązywaniu problemów, jeśli pracujesz w Pythonie lub Ruby. Programowanie sieciowe z natury łączy różne systemy i protokoły, gdzie mógłbym to sobie wyobrazić, ale w znacznie bardziej ograniczonym środowisku, z dużo mniejszymi wyborami i ograniczonymi rządami za psoty.

Zazwyczaj programowanie internetowe oparte na językach zlewni kuchennej (PHP, Java, C#) wydaje się zasilać problemami, więc najlepiej byłoby znaleźć sposób na wykorzystanie umiejętności zdobytej w języku, który jest przewidziany wydajność, nie dzwony i gwizdki. Istnieje znacznie więcej pozycji w Javie i C# niż w Pythonie, więc starannie dobieraj truciznę (nędzę).

PHP jest przyzwoite, jeśli chcesz wejść do królestwa startup/low-middle-end, podczas gdy Java/C# będzie płacić lepiej, ale okoliczności są zazwyczaj bardzo różne (środowiska korporacyjne/komercyjne, jakie one są).

Możesz sprawdzić certyfikat w języku Java lub C# (certyfikat PHP to żart). Nie dostaną ci pracy, ale skoro masz już wiedzę, ale nie w obszarze, który chcesz poprawić, kursy certyfikatów pomogą ci zmienić twój zestaw narzędzi i terminologię oraz wyjaśnią cel. Niektórzy pracodawcy również się tym przejmują.

Java Certification (Sun school)

C# Certification

fajnych i Python/Ruby podobnego, pomyśl o podniesienie Groovy, jak Java oparte interpretowany język.

http://groovy.codehaus.org/

Poniżej znajduje się lista zasobów, jeśli jesteś dobry, aby dostać się Java:

Essential Java resources

4

Czy za rozwój jądra Linux? Istnieje wiele firm zajmujących się elektroniką użytkową, które potrzebują inżynierów oprogramowania z wiedzą na temat rozwoju sterowników linux. Jest to dość łatwe przejście dla kogoś z dobrze osadzonym doświadczeniem i jest świetną zabawą!

Jeszcze lepiej, książka Linux Driver Development jest dostępna bezpłatnie online.

1

Jestem również twórcą oprogramowania wbudowanego, który myśli o przejściu na tworzenie stron internetowych.Nie dlatego, że tracę pracę (jest wystarczająco dużo okazji dla osadzonych facetów w Niemczech, gdzie mieszkam), ale dlatego, że po 9 latach spędzonych w terenie chciałbym spróbować czegoś innego.

sobie sprawę, że jesteś nie tylko przełączanie pracy tutaj, jesteś przełączania przemysłu. Nikt nie zatrudni Cię jako programisty internetowego, jeśli nie masz doświadczenia w tej dziedzinie - zwłaszcza w obecnym kontekście gospodarczym.

Można spróbować znaleźć pracę w większej firmie internetowej (np usługodawcy), gdzie swoje umiejętności zatopione uzyskać ceniony. Widziałem ostatnio pracę na stanowisko programisty VoIP u dostawcy Internetu. Szukali kogoś, kto zna C i C++, ponieważ używają jakiejś biblioteki otwartego źródła napisanej w tych językach. To brzmi jak dobry punkt wyjścia dla deweloperów, którzy chcą zmienić branżę.

Gdy jesteś w tej nowej branży, prawdopodobnie będziesz mieć wiele możliwości, aby dowiedzieć się o rozwoju sieci: szkolenia wewnętrzne na temat nowych technologii internetowych, uczenia się od doświadczonych kolegów oferuje wewnętrzny praca ...

Powiązane problemy