TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: How do I move into software from hardware engineering

7 pointsby mr_balmost 15 years ago
I recently completed my masters degree in VLSI from a top 15 school in the US. But in the last two years, I have become very interested in software. However, because of the course structure and time constraints, I never got time to learn any programming language. I can program in C and know basic HTML and CSS. I really want to move into software but since I have no projects/experience in software, companies refuse to even look at my resume. How do I move into software and get a job in that domain.

5 comments

hgaalmost 15 years ago
I've worked with someone with pretty much exactly your background, someone who found himself in a software development project, and I'd indeed never hire you as you are today for a software job. :-(<p>The only answer is simple in principle, you just have to find the time and energy: do a lot of programming. If you're hard core or want to find out if you are or have that potential, I'd start with SICP/6.001: <a href="http://en.wikipedia.org/wiki/Structure_and_Interpretation_of_Computer_Programs" rel="nofollow">http://en.wikipedia.org/wiki/Structure_and_Interpretation_of...</a><p>Good luck! People with your background can bring a <i>lot</i> to the table, you just need to achieve the relevant software background first.
评论 #1373507 未加载
mrlycalmost 15 years ago
Just a few random thoughts:<p>What were you doing before the VLSI course? How did you get your experience with C, HTML, CSS and Perl? Can you rewrite your resume so it emphasizes the experience you have had with programming, even if it wasn't part of a course?<p>"Design of VLSI Systems" at <a href="http://lsiwww.epfl.ch/LSI2001/teaching/webcourse/ch01/ch01.html#1.2" rel="nofollow">http://lsiwww.epfl.ch/LSI2001/teaching/webcourse/ch01/ch01.h...</a> says "The design process, at various levels, is usually evolutionary in nature. It starts with a given set of requirements. Initial design is developed and tested against the requirements. When requirements are not met, the design has to be improved. If such improvement is either not possible or too costly, then the revision of requirements and its impact analysis must be considered." That sounds a lot like what we do for programming. Is there some way to emphasize the skills you learned for VLSI and state how you would use them for software?<p>Isn't VLSI mainly software driven these days? I would state what software you used and what you did with it. That's a kind of programming.<p>During your course, did you work in a team or on your own? Did you gather requirements, obtain resources, prioritise and allocate tasks and follow up to make sure each team member did his/her job? You could reuse that experience for programming.<p>With your hardware background, I'd aim for low-level technical programming jobs like writing device drivers rather than more business-oriented software like account packages, CRMs, databases, GUIs or possibly websites.<p>Did you debug hardware by using a CRO, JTAG port, signal injector or protocol analyser? Those can be useful for device driver writers too.<p>Is there an Arduino group in your area that you could do voluntary programming for? That would get you started with simple device drivers.<p>You might have to take a VLSI job for a while to keep the cash flowing while you get more software experience by programming part time or on a volunteer basis. There's a list of VLSI companies at <a href="http://www.vlsi-world.com/index.php?option=com_glossary&#38;func=display&#38;Itemid=44&#38;catid=30/" rel="nofollow">http://www.vlsi-world.com/index.php?option=com_glossary&#38;...</a>
评论 #1376165 未加载
kashifalmost 15 years ago
Perhaps you could work on an open source C/Python/Ruby. This way you could add something of relevance to your resume.
评论 #1373508 未加载
one010101almost 15 years ago
Just do it. Pick a project and program it. Then do another. Practice is the key.
ilkhd2almost 15 years ago
Find a friend who runs small software company, bribe him a bit, so you can then easily write that you worked in his company a year.
评论 #1374417 未加载
评论 #1374402 未加载