2009-04-04 12 views
5

Ich bin ein embedded Softwareentwickler mit über 5 Jahren Erfahrung auf mobilen Geräten zu arbeiten. Ich habe vor kurzem meinen Job verloren und die meisten Jobs im Embedded-Bereich (auf die ich gestoßen bin) verlangen eine Sicherheitsfreigabe und ich bin dafür nicht geeignet. Aus diesem Grund und auch um etwas Neues zu lernen, plane ich, zur Webentwicklung überzugehen (Webservices oder irgendeine sinnvolle Anwendung, die Datenbanken usw. verwendet).Wie Übergang von Embedded-Software-Entwicklung zu Web-Entwicklung?

Bitte führen Sie mich, welche Faktoren sollte ich berücksichtigen, welche Technologie (MSFT/Java verwandte/LAMP) sollte ich wählen. Wenn möglich, geben Sie auch Vorschläge für Projekte, die im wirklichen Leben Anwendung finden könnten, und wie viel Zeit sollte ich für das gleiche einplanen (da ich in diesen Tagen viel ungeplante Zeit habe :)).

Danke.

+0

Wo sind Sie suchen nach eingebetteten Jobs? Sie sind im DC-Bereich tendenziell sicherheitsorientiert, nicht aber sicherheitsgerichtet. Wenn Sie für eine Verlagerung offen sind, denken Sie an Orte in Ohio und Western PA (z. B. Pittsburgh), dort gibt es viele eingebettete Jobs. – Uri

Antwort

0

Ein guter nächster Schritt könnte sein, die iPhone-Entwickler-Route zu gehen, da Sie höchstwahrscheinlich die Erfahrung mit Client-Kuriositäten (Speicherlecks, begrenzte CPU, usw.) haben. Das iPhone/iPod Touch profitiert auch von einem ziemlich leistungsfähigen Webkit-basierten Browser, der die meisten AJAX-Dateien ausführen kann, die Sie schreiben können, und kann mit einer serverseitigen Komponente interagieren.

Um die Dinge billig zu halten, könnten Sie einen Java-Stack auf einem EC2-Server oder einem anderen VPS ausführen, der als serverseitiger Teil Ihrer App fungieren kann.

Es ist eine Investition von $ 99 für die Entwicklerlizenz und $ 5 pro Monat für ein günstiges VPS für Entwickler, aber die Auszahlung kann hoch sein, wenn der Wind in die richtige Richtung weht und Vollmond ist, wenn Sie Ihre App starten (s).

(oh, und billig fesselnde Spiele in einem angemessenen Betrag von Geld aus dem langen Schwanz holen können, aber wer weiß, wie lange dieser mit schweren Spielen halten wird von den großen Spielern wie EA auf dem iPhone ins Leben gerufen)

+0

Sie müssen nicht einen Intel Mac verwenden, um native iPhone Apps zu entwickeln? - Wenn Sie nur serverbasierte Anwendungen verwenden, müssen Sie keine 99 US-Dollar für die Entwicklerlizenz ausgeben. – Nate

2

Ich würde normalerweise sagen, dass Sie Ihre Erfahrung in der Programmierung für Maschinen mit wenig Energie und wenig Speicher nutzen sollten. Web-Entwicklung ist jedoch ein ganz anderes Tier. Webserver haben in der Regel viel mehr Rechenleistung und Speicher.

Gehen entweder die LAMP oder andere Weise, erfordert ein anderes Paradigma der EDV. Sie werden oft mehr Zeit für die Integration mehrerer Prozesse (Datenbank, Skriptsprache, Webserver) aufwenden, anstatt mehr Geschwindigkeit und Effizienz zu erreichen. Der Übergang ist nicht so einfach.

Also, wie die vorherige Antwort sagte, möchten Sie möglicherweise die Mobile-Web-Entwicklungsroute gehen. Sie können das openmoko/iphone/gphone Entwicklungskit erwerben und mit dem Experimentieren beginnen. Was auch immer Sie bekommen können (und innerhalb Ihres Budgets).

1

Zuerst erkennen Sie, dass Sie vollständig beginnen, wenn Sie wechseln. Du könntest auf iPhone, Android oder Symbian umsteigen, aber ich würde deinen Lebensunterhalt nicht darauf verwenden, wenn du nicht gewohnt bist, Löhne und Zahlungen freizustellen. Hängt von Ihrer Persönlichkeit und Ihrer Chance ab.

Zweitens, erstellen und arbeiten an einem Netzwerk in dem Bereich, in dem Sie arbeiten möchten. Seien Sie freundlich, seien Sie ruhig, seien Sie spezifisch: Ihre Chancen werden höchstwahrscheinlich davon abhängen, wen Sie kennen und wie sehr sie Ihnen helfen möchten. Zu viele Programmierer, die ihr Leben vor einem Bildschirm verbringen, vergessen, dass Arbeitgeber und Auftraggeber keine Compiler sind. Sei nett!

Vom Boden-up-Perspektive, können Sie die PHP/MySQL-Weinhandlung schauen Sie in die in diesem Buch ist:

Web Database Applications with PHP and MySQL

Dies ist ein ziemlich Schritt-für-Schritt (wenn älter) Ansatz zu lernen, was ein webbasiertes Programm macht und wie man es anwendet. Mach dir keine Sorgen über AJAX und andere Web 2.0 Sachen, bis du die Grundlagen verstanden hast; es wird meiner Meinung nach nur verwirrend sein.

Atlassian, die in Java geschriebene webbasierte Software zur Fehlerverfolgung erstellt, verfügt über ein Open-Source-Entwicklungskit und eine 30-tägige Testversion. Wenn Sie suchen einen Code und die Arbeit in einem ziemlich entwickelten Bereich, um zu sehen, können Sie es ausprobieren:

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

Web-Entwicklung eine andere Skillset ist als eingebettet, obwohl man einen Weg finden könnte zu nutzen Ihre Möglichkeit zur Konzentration auf Details und Fehlerbehebung, wenn Sie in Python oder Ruby arbeiten. Web-Programmierung von Natur aus verbindet eine Reihe von unterschiedlichen Systemen und Protokollen zusammen, wo ich vorstellen würde, eingebettete könnte dies tun, aber in einer viel eingeschränkteren Umgebung mit viel weniger Möglichkeiten und begrenzte Herrschaft für Unfug.

In der Regel scheint Web-Programmierung auf der Basis von Küchen-Spülen (PHP, Java, C#) Probleme zu lösen, so dass Sie idealerweise einen Weg finden, die erworbenen Kenntnisse in einer Sprache anzuwenden Leistung, nicht Schnickschnack. Es gibt jedoch viel mehr Java- und C# -Positionen als Python, also wählen Sie vorsichtig (Elend) Gift.

PHP ist in Ordnung, wenn Sie in den Startup-/Low-Middle-End-Bereich gelangen, während Java/C# besser bezahlt wird, aber die Umstände sind in der Regel sehr unterschiedlich (Corporate/kommerzielle Umgebungen, was sie sind).

Sie könnten sich in Java oder C# zertifizieren (das PHP-Zertifikat ist ein Witz). Sie werden keinen Job bekommen, aber da Sie bereits wissen, nur nicht in dem Bereich, den Sie verbessern möchten, werden Cert-Kurse Ihnen dabei helfen, Ihr Toolset und Ihre Terminologie zu überarbeiten und den Zweck zu erläutern. Manche Arbeitgeber kümmern sich auch darum.

Java Certification (Sun school)

C# Certification

Für etwas Spaß und Python/Ruby wie, denken Sie Groovy picking up, eine Java-basierte interpretierte Sprache.

http://groovy.codehaus.org/

Dies ist eine gute Ressource-Liste, wenn Sie in Java sind zu erhalten:

Essential Java resources

4

Haben Sie darüber nachgedacht Linux-Kernel-Entwicklung? Es gibt viele Unternehmen im Bereich der Unterhaltungselektronik, die Softwareentwickler mit Kenntnissen der Linux-Treiberentwicklung benötigen. Dies ist ein ziemlich einfacher Übergang für jemanden mit guter eingebetteter Erfahrung und macht auch großen Spaß!

Noch besser ist das Linux Driver Development Buch kostenlos online verfügbar.

1

Ich bin auch ein eingebetteter Softwareentwickler, der denkt, auf Webentwicklung umzustellen.Nicht weil ich meinen Job verliere (es gibt genug Möglichkeiten für Embedded-Jungs in Deutschland, wo ich lebe), aber weil ich nach 9 Jahren auf dem Gebiet etwas anderes ausprobieren möchte.

Verstehen Sie, dass Sie nicht nur Jobs hier wechseln, wechseln Sie Branchen. Niemand wird Sie als Webentwickler einstellen, wenn Sie in diesem Bereich - insbesondere im aktuellen wirtschaftlichen Kontext - unerfahren sind.

Sie können versuchen, einen Job bei einem größeren Internet-Unternehmen (z. B. Dienstleister) zu finden, wo Ihre eingebetteten Fähigkeiten geschätzt werden. Ich habe kürzlich eine Stellenanzeige für einen VoIP-Entwickler bei einem ISP gesehen. Sie suchten jemanden, der mit C und C++ vertraut ist, weil sie eine Open-Source-Bibliothek in diesen Sprachen verwenden. Das klingt nach einem guten Einstieg für einen Embedded-Entwickler, der die Branche wechseln möchte.

Sobald Sie in dieser neuen Industrie sind, werden Sie wahrscheinlich viele Möglichkeiten haben, über Web-Entwicklung zu lernen: interner Schulungen auf neue Web-Technologien, von erfahrenen Kollegen zu lernen, interne Stellenangebote ...

Verwandte Themen