2009-04-04 7 views
5

Tôi là nhà phát triển phần mềm được nhúng với khoảng hơn 5 năm kinh nghiệm làm việc trên thiết bị di động. Gần đây tôi đã mất việc và hầu hết các công việc trong lĩnh vực nhúng (mà tôi bắt gặp) yêu cầu giải phóng mặt bằng và tôi không đủ điều kiện cho việc đó. Vì vậy, vì lý do này và cũng chỉ để tìm hiểu một cái gì đó mới, tôi đang có kế hoạch chuyển sang phát triển web (dịch vụ Web hoặc bất kỳ ứng dụng có ý nghĩa nào sử dụng cơ sở dữ liệu, vv).Làm thế nào để chuyển đổi từ phát triển phần mềm nhúng sang phát triển web?

Vui lòng hướng dẫn tôi xem tôi nên cân nhắc những yếu tố nào để quyết định công nghệ nào (MSFT/Java liên quan/LAMP) mà tôi nên chọn. Nếu có thể, cũng cung cấp các đề xuất cho các dự án có thể có một số ứng dụng trong đời thực và tôi nên phân bổ bao nhiêu thời gian cho cùng một dự án (vì tôi có nhiều thời gian không được lên lịch trong những ngày này :)).

Cảm ơn.

+0

ở đâu bạn đang tìm việc nhúng? Chúng có khuynh hướng bảo mật trong khu vực DC, nhưng không có định hướng bảo mật bên ngoài nó. Nếu bạn đang mở cửa để di dời, hãy cân nhắc các địa điểm ở Ohio và Western PA (ví dụ: Pittsburgh), có nhiều công việc được nhúng ở đó – Uri

Trả lời

0

Một bước tiếp theo tốt có thể là đi tuyến đường dành cho nhà phát triển iPhone vì bạn có nhiều khả năng gặp phải sự tò mò về khách hàng (rò rỉ bộ nhớ, CPU giới hạn, v.v.). IPhone/iPod Touch cũng được hưởng lợi từ việc có một trình duyệt dựa trên webkit khá mạnh mẽ có thể chạy hầu hết AJAX bạn có thể viết và có thể giao tiếp với một thành phần phía máy chủ.

Để giữ mọi thứ rẻ, bạn có thể chạy một ngăn xếp java trên máy chủ EC2 hoặc một số VPS khác có thể hoạt động như phần phía máy chủ của ứng dụng của bạn.

Đó là khoản đầu tư $ 99 cho giấy phép nhà phát triển và $ 5 một tháng cho VPS giá rẻ cho nhà phát triển, nhưng tiền thưởng có thể cao nếu gió thổi đúng hướng và có trăng tròn khi bạn khởi chạy ứng dụng của mình).

(oh, và trò chơi gây nghiện giá rẻ có thể mang lại một số tiền khá tiền từ đuôi dài, mặc dù ai biết bao lâu này sẽ tổ chức với các trò chơi nghiêm trọng được đưa ra trên iPhone bởi người chơi lớn như EA)

+0

Bạn không phải sử dụng máy Mac Intel để phát triển ứng dụng iPhone gốc? - Nếu bạn đang nói về việc chỉ sử dụng các ứng dụng dựa trên máy chủ, bạn không cần phải chi tiêu $ 99 cho giấy phép nhà phát triển. – Nate

2

Tôi thường nói rằng bạn nên tận dụng kinh nghiệm của bạn trong lập trình cho các máy đang được cấp nguồn và bộ nhớ thấp. Tuy nhiên, phát triển web là một con thú rất khác nhau. Các máy chủ web thường sẽ có nhiều khả năng tính toán và bộ nhớ hơn.

Đi theo LAMP hoặc cách khác, yêu cầu một mô hình tính toán khác. Bạn sẽ thường dành nhiều thời gian hơn để tích hợp nhiều quy trình (cơ sở dữ liệu, ngôn ngữ kịch bản, web-server) hơn là thực sự đẩy ra nhiều tốc độ và hiệu quả hơn. Quá trình chuyển đổi không dễ dàng như vậy.

Vì vậy, như câu trả lời trước đã cho biết, bạn có thể muốn xem xét việc đi tuyến phát triển web di động. Bạn có thể nhận được bộ phát triển openmoko/iphone/gphone và bắt đầu thử nghiệm. Bất cứ điều gì bạn có thể nhận được bàn tay của bạn trên (và trong ngân sách của bạn).

1

Trước tiên, nhận ra bạn đang bắt đầu hoàn toàn nếu bạn chuyển đổi. Bạn có thể chuyển sang iPhone, Android hoặc Symbian, nhưng tôi sẽ không đặt cược sinh kế của bạn vào nó trừ khi bạn được sử dụng để trả lương và trả tiền tự do. Phụ thuộc vào cá tính và cơ hội của bạn.

Thứ hai, thiết lập và làm việc trên mạng trong khu vực bạn muốn làm việc. Hãy tử tế, yên lặng, cụ thể: Cơ hội của bạn rất có thể sẽ liên quan đến những người bạn biết và họ muốn giúp bạn như thế nào. Quá nhiều lập trình viên dành cả cuộc đời của họ trước màn hình quên rằng chủ nhân và khách hàng không phải là người biên dịch. Hãy tử tế!

Từ góc độ mặt đất-up, bạn có thể nhìn vào PHP/MySQL WineStore đó là trong cuốn sách này:

Web Database Applications with PHP and MySQL

Đây là một khá bước-by-step (nếu cũ) cách tiếp cận để Học một chương trình dựa trên web làm gì và cách tiếp cận trong cách thực hiện. Đừng lo lắng về AJAX và các công cụ web 2.0 khác cho đến khi bạn nắm bắt được những điều cơ bản; nó sẽ chỉ gây nhầm lẫn, theo ý kiến ​​của tôi.

Atlassian, xây dựng phần mềm theo dõi vấn đề dựa trên web được viết bằng Java, có bộ phát triển nguồn mở và bản dùng thử 30 ngày. Nếu bạn đang tìm kiếm để xem một số mã và làm việc trong một khu vực khá phát triển, bạn có thể thử nó ra:

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

phát triển web là một tuyệt chiêu khác với nhúng, mặc dù bạn có thể tìm thấy một cách để tận dụng của bạn khả năng tập trung vào chi tiết và xử lý sự cố nếu bạn làm việc trong Python hoặc Ruby. Lập trình web bằng cách tự nhiên liên kết một loạt các hệ thống và giao thức khác nhau với nhau, nơi mà tôi tưởng tượng việc nhúng có thể làm như vậy, nhưng trong một môi trường hạn chế hơn với rất ít sự lựa chọn hơn và hạn chế quyền cai trị. Thông thường, lập trình web dựa trên ngôn ngữ bồn rửa nhà bếp (PHP, Java, C#) dường như ném điện vào các vấn đề, vì vậy bạn sẽ tìm cách tận dụng kỹ năng bạn đã đạt được với một ngôn ngữ được dựa trên hiệu suất, không chuông và còi. Có rất nhiều Java và C# vị trí hơn Python mặc dù, do đó, chọn bạn (đau khổ) độc một cách cẩn thận.

PHP là phong nha nếu bạn đang tìm kiếm để đi vào lĩnh vực khởi động/trung bình thấp, trong khi Java/C# sẽ trả tiền tốt hơn nhưng hoàn cảnh thường khác nhau nhiều (môi trường doanh nghiệp/thương mại là gì).

Bạn có thể xem xét việc được chứng nhận bằng Java hoặc C# (chứng chỉ PHP là trò đùa). Họ sẽ không giúp bạn kiếm được việc làm, nhưng vì bạn đã có kiến ​​thức, không phải trong lĩnh vực bạn đang tìm kiếm để cải thiện, khóa học cert sẽ giúp bạn chuyển đổi bộ công cụ và thuật ngữ của bạn, cộng với giải thích mục đích. Một số nhà tuyển dụng cũng quan tâm.

Java Certification (Sun school)

C# Certification

Đối với một cái gì đó thú vị và Python/Ruby-như, suy nghĩ về nhặt Groovy, một ngôn ngữ giải thích dựa trên nền Java.

http://groovy.codehaus.org/

Đây là danh sách nguồn lực tốt nếu bạn để có được vào Java:

Essential Java resources

4

Bạn đã coi phát triển hạt nhân linux? Có rất nhiều công ty trong không gian điện tử tiêu dùng cần kỹ sư phần mềm với kiến ​​thức về phát triển trình điều khiển Linux. Đây là một quá trình chuyển đổi khá dễ dàng cho một người có trải nghiệm nhúng tốt và cũng rất thú vị!

Thậm chí tốt hơn, sách Linux Driver Development có sẵn trực tuyến miễn phí.

1

Tôi cũng là nhà phát triển phần mềm nhúng đang nghĩ đến việc chuyển sang phát triển web.Không phải vì tôi đang mất việc (có đủ cơ hội cho những kẻ bị nhúng ở Đức, nơi tôi sống), nhưng vì sau 9 năm trong lĩnh vực này, tôi muốn thử một thứ khác.

Nhận ra rằng bạn không chỉ chuyển đổi công việc ở đây, bạn đang chuyển đổi các ngành công nghiệp. Không ai sẽ thuê bạn như một nhà phát triển web nếu bạn không có kinh nghiệm trong lĩnh vực này - đặc biệt trong bối cảnh kinh tế hiện tại.

Bạn có thể tìm việc tại một công ty internet lớn hơn (ví dụ: nhà cung cấp dịch vụ) nơi kỹ năng nhúng của bạn có giá trị. Tôi thấy một công việc đăng gần đây cho một vị trí phát triển VoIP tại một ISP. Họ đang tìm kiếm một người quen thuộc với C và C++ vì họ đang sử dụng một số thư viện nguồn mở được viết bằng các ngôn ngữ này. Điều đó nghe có vẻ giống như một điểm vào tốt cho một nhà phát triển nhúng tìm cách chuyển đổi các ngành công nghiệp.

Một khi bạn đang ở trong ngành công nghiệp mới này, có thể bạn sẽ có rất nhiều cơ hội để tìm hiểu về phát triển web: đào tạo nội bộ về công nghệ web mới, học hỏi từ các đồng nghiệp có kinh nghiệm, công việc nội bộ cung cấp ...