我是一名嵌入式软件开发人员,拥有约5年以上的移动设备工作经验。我最近失去了工作,嵌入式领域的大部分工作(我遇到过)需要安全许可,我没有资格。所以,出于这个原因,也只是为了学习新东西,我打算转向Web开发(Web服务或使用数据库等的任何有意义的应用程序)。
请指导我应该考虑哪些因素来决定选择哪种技术(MSFT / Java相关/ LAMP)。如果可能的话,还为可能在现实生活中有一些应用的项目提供建议,以及我应该分配多少时间(因为我现在有很多计划外的时间:))。
感谢。
答案 0 :(得分:4)
您是否考虑过linux内核开发?消费电子领域有许多公司需要具备Linux驱动程序开发知识的软件工程师。对于具有良好嵌入式体验的人来说,这是一个非常容易的过渡,也非常有趣!
更好的是,Linux Driver Development本书可以在线免费获取。
答案 1 :(得分:2)
我通常会说你应该利用你在编程方面的经验来获得功率不足和内存不足的机器。然而,网络开发是一个非常不同的野兽。 Web服务器通常具有更多的计算能力和内存。
无论是LAMP还是其他方式,都需要不同的计算范例。您通常会花更多时间来集成多个流程(数据库,脚本语言,Web服务器),而不是实际推出更高的速度和效率。过渡并非那么容易。
因此,就像之前的回答所说的那样,您可能需要考虑采用移动网络开发路线。您可以获得openmoko / iphone / gphone开发套件并开始试验。无论你能得到什么(并在你的预算范围内)。
答案 2 :(得分:1)
首先,要意识到如果切换,你将完全开始。您可以转换到iPhone,Android或Symbian,但除非您习惯于自由支付工资和付款,否则我不会将您的生计置于其中。取决于你的个性和机会。
其次,在您希望就业的地区建立并开展网络工作。要善良,保持安静,要具体:你的机会很可能与你认识的人以及他们想要帮助你的人有关。太多在屏幕前度过生活的程序员忘记了雇主和客户不是编译器。太好了!
从底层角度来看,您可以查看本书中的PHP / MySQL winestore:
Web Database Applications with PHP and MySQL
这是一个相当逐步(如果更旧)的方法来学习基于网络的程序做什么,以及如何完成它的方法。在掌握基础知识之前,不要担心AJAX和其他Web 2.0的东西;在我看来,这只会令人困惑。
Atlassian构建了一个用Java编写的基于Web的问题跟踪软件,它有一个开源开发工具包和一个30天的试用版。如果您希望查看某些代码并在相当发达的区域中工作,您可以尝试一下:
http://confluence.atlassian.com/display/DEVNET/
Web开发与嵌入式技术不同,尽管如果您使用Python或Ruby,您可能会找到一种方法来利用您的能力专注于细节和故障排除。 Web编程本质上是将一堆不同的系统和协议连接在一起,我想象嵌入式可能会这样做,但是在一个更加受限制的环境中,选择少得多,而且恶作剧的统治有限。
通常情况下,基于厨房 - 水槽语言(PHP,Java,C#)的网络编程似乎会对问题产生影响,因此理想情况下,您可以找到一种方法,利用以性能为基础的语言来掌握您获得的技能。 ,而不是花里胡哨。虽然Java和C#的位置远远超过Python,所以请仔细挑选(痛苦)毒药。
如果你想进入初创/中低端领域,PHP是不错的,而Java / C#会付出更好的代价,但情况通常会大不相同(公司/商业环境是什么)。
您可能会看到获得Java或C#认证(PHP证书是一个笑话)。他们不会找到你的工作,但由于你已经掌握了知识,而不是你想要改进的领域,证书课程将帮助你过渡你的工具集和术语,并解释目的。一些雇主也关心。
Java Certification (Sun school)
对于有趣和类似Python / Ruby的东西,考虑选择基于Java的解释语言Groovy。
如果您要进入Java,这是一个很好的资源列表:
答案 3 :(得分:1)
我也是一位考虑转向Web开发的嵌入式软件开发人员。并不是因为我失去了工作(在德国,我住的地方有足够的机会)但是因为在这个领域工作了9年之后,我还想尝试别的东西。
意识到你不仅仅是在这里转换工作,而是在转换行业。如果你在这个领域缺乏经验,特别是在当前的经济背景下,没有人会聘请你作为网络开发人员。
您可以尝试在更大的互联网公司(例如服务提供商)找到一份工作,让您的嵌入式技能得到重视。我最近看到一份职位发布在ISP的VoIP开发人员职位上。他们正在寻找熟悉C和C ++的人,因为他们正在使用一些用这些语言编写的开源库。对于寻求转换行业的嵌入式开发人员而言,这听起来是一个很好的切入点。
一旦进入这个新行业,您可能有很多机会学习Web开发:新Web技术的内部培训,向经验丰富的同事学习,内部工作机会......
答案 4 :(得分:0)
下一步可能是走iPhone开发者路线,因为您很可能有处理客户端好奇心(内存泄漏,有限的CPU等)的经验。 iPhone / iPod Touch还有一个功能强大的基于webkit的浏览器,它可以运行大多数可以编写的AJAX,并且可以与服务器端组件连接。
为了保持便宜,您可以在EC2服务器或其他可以充当应用程序服务器端部分的VPS上运行Java堆栈。
对开发者许可证投资99美元,开发商用廉价VPS每月5美元,但如果风向正确方向吹来,并且当你启动应用程序时有满月,那么回报可能会很高
(哦,便宜上瘾的游戏可以从长尾中带来相当多的钱,但是谁知道这将由于像EA这样的主要玩家在iPhone上推出严肃的游戏需要多长时间)