Friday, May 21, 2010

What can I do to become a software engineer?

I am wanting to develop a software engineering skill set, possibly to use in future work as a software engineer. I have some questions about getting into this field.





1.) Where would I go for mentoring in this field? Is there somewhere in the open source community that can let me acquire the experience I need to possibly get a job in software engineering in the future?





2.) Is a consulting career (doing this for clients for hire) viable in the future, once experience is gained?





3.) Since I come from an engineering (including electrical and computer) background, would embedded software engineering be a good fit for myself, or should I just stick to non-embedded programming?





4.) What languages would be a good fit for a.) embedded b.) application and c.) web?





5.) I've heard of a formal software development process/lifecycle? Is this what software engineering covers, and is there an Internet tutorial on this?





6.) Any other tips?





Thanks!

What can I do to become a software engineer?
1) Working on open source projects in general especially large established ones will give you skills and experience that will help - software engineering to many is as much about the management of software as programming, seeing large projects and how they operate will give you experience of both.





2.) Yes. Size of projects you can work on varies with what experience you have, but it's doable.





3.) I don't know many embedded programmers or much about the industry so I can't comment. All I would say is, I know lots of consultants/freelancers and none of them work in this field - I have a feeling its not really a field for freelancers.





4.) a.) ASM/C would be my guess


b.) Java/C#


c.) Java/C#/PHP/Ruby





5.) Process and lifecycles are covered in software engineering, I havent found much of real interest online for these things. Lots of sites cover the basics, more advanced stuff seems to always sell one tool/vendors material. There is a good book by somerville called Software Engineering which will give you a good start (it's an almost defacto standard for degree level software engineering classes).





6.) Don't get stuck with the idea of being an application/embedded/single language developer. Learn everything you can, anything that's interesting, don't get pigeon holed. The more strings to your bow and all that. Work out how you can bring your previous strengths into the new work.

stamen

No comments:

Post a Comment