Hey everyone - I have a career-related question for you all. I currently work full time as a Sr. Sys Admin, and have been doing systems work for about 9 years. I have been doing web development work on and off during this time, and have written quite a few internal applications and scripts for several companies I worked for. I have never worked in the full time capacity of a software developer / design / etc, but really want to break into that field. I have been using rails since the 0.13 release, and have released a few apps out there for public consumption. I love this type of work, and want to grow in that respect. Does anyone have any advice as to how I may break in to the field? Are there any sites / resources that might give some guidance? I'm really curious as to how you all display things such as work history and code samples to prospective clients. I know this is a broad question, and any and all advice will be appreciated. Thank you, Michael Gorsuch -- http://www.michaelgorsuch.org
on 2006-04-03 17:06
on 2006-04-03 17:25
I'd suggest putting together a development-focused resume and perhaps a portfolio with "vanilla" versions of the internal apps you've created (unless you retained the rights to the code) and start hunting. You could probably get away with screen shots and functional descriptions of each app if the source isn't available. In my experience, small companies tend to be a little more lenient towards formal education (in my experience anyways) and platform/language than larger companies, but expect more upward-management for your projects if they don't have a project manager. An added plus for you is your sys experience -- small shops tend to have jack-of-all-trade types and having the confidence to manage your own servers, back up your data, and deploy is a bonus. As for education, it depends on what platform/technology you want to specialize in -- Microsoft would be MCSD/MSAD, Java has several certifications as well -- or how much you want to invest in edu, like taking some college courses or going for a Comp. Sci. degree. Bottom line, if you feel comfortable with your development skills, then go for it.
on 2006-04-03 17:40
Thanks for the pointers. I need to really focus on my portfolio. I do have a BS in Computer Science, which probably counts for something. Question: many potential employers ask for code samples. How do you approach that with current commercial projects that you own the code to? Do I just show small pieces and functions? Do I tar up the entire app? Is that safe? On 4/3/06, GravyFace <email@example.com> wrote: > manager. > then go for it. > > / design / etc, but really want to break into that field. > > > > Rails@lists.rubyonrails.org > > http://lists.rubyonrails.org/mailman/listinfo/rails > > > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails > -- http://www.michaelgorsuch.org
on 2006-04-03 18:14
If you have a BS, you should be golden for educational requirements, unless of course you're applying somewhere cert-heavy. As for code reviews during an interview, I've never really had to do one at the "code level" -- unless its some fancy algorithm you created, usually a portfolio with PDFed project screenshots and functional descriptions/flow diagram is good enough, especially if you have a reference who was involved with the project to back it up. However, zipping up the source (I'd use zip, unless you're going to include the tar binaries with it) and burning it to a CD, "just in case", wouldn't hurt. They may make you do some coding exercises though -- I've done a few of those and they're surprisingly difficult when you're under pressure at an interview.
on 2006-04-03 18:29
I think GravyFace has a lot of good advice here. Being a small shop and having had to do my fair share of interviews, I can speak a bit from the other side of the desk. Now, granted, everyone has different approaches. I do generally ask for code samples, but I'm never really interested in a whole application, and you need to be careful about violating any copyrights. The key for me is that it helps me tell a little bit about you from the code. For instance: * Is your code following "best practices" in the industry, or does it look like a copy and paste from some help text. * Are you conscientious about standardardization throughout. In other words, is there consistency in your code. Do you approach naming variables the same way. * Are you sensitive to scoping issues or is stuff all over the place? * Do you understand what you're doing. This one is a hard one to explain, but often you tell by the code if someone is really grasping it or not. At times it has that look of "omg I can't believe I got it to run, don't touch it." * I also like to see UI code. In a small practice we have to do it all. I don't expect you to be a designer, but how did you implement that design? For us I could care less about a degree; even less about certificates. And like GravyFace said having systems experience is a big plus, because in a small shop we're doing it all. So when it comes time to do deployment or setup the Virtual Directories, etc... it's on you. Good luck. Michael
on 2006-04-03 22:44
I've found that code samples are more something you'll see with web design and UI shops, less often with backend jobs. A BS in Comp Sci is handy. As for certs, I have two certifications and they've basically been useless in terms of finding work, but very useful if you only give yourself one chance to take the test, because then you'll really study your brains out. (So to speak.) There's a huge difference between being able to use a technology and actually learning that technology inside out, which is why I'd kind of like to get more certifications even though I don't expect them to do me any good on any pure business level. I never really realized how bad JSP was until I looked into the certification exam. They basically make you go through the entire history of the technology like an archaeologist and when you do, you uncover an entire series of hacks and mistakes. Bit of a marketing mistake on Sun's part, really. They've got skeletons in their closet and they're like, here, memorize every bone. Good experience, though, if you're going to be working with web app frameworks and you want some kind of benchmark to measure their level of quality (hint hint). Realistically, though, your central question is how to make a career change, and it isn't a huge lateral jump, like nuclear physicist to pro football player, but it's still an interesting question. I don't really have the answer. I have made lots of similar small shifts, though, and the way you do those small shifts is really easy, you just find lots of little jobs and have each one be gradually more and more different from what you were doing before, til eventually you're somewhere entirely different from where you started. If you do a lot of freelance and contract work, you'll be able to see a lot more variety in the work you do. I went from designing presentations in Powerpoint and Photoshop for broadcast TV ad sales to maintaining gigantic stock-trading web apps in Perl -- but that was during the dot-com boom, so who the hell knows. ;-) I come from the days of selling pet food on the Internet, so take anything I say about career management with a grain of salt. Personally I'm trying to do something similar with music, which is just insanely impossible, but my strategy is basically centered on "just do it," i.e., just press some records and see what happens. The app dev version of that philosophy is obvious. If you want to get into application design and development, the best way to do it is to design and develop an application. It's a lot easier to get hired for something you're already doing, and that's true even when you're doing it for free. -- Giles Bowkett www.gilesgoatboy.org
on 2006-04-03 23:37
On Apr 3, 2006, at 8:37 AM, Michael Gorsuch wrote: > Question: many potential employers ask for code samples. How do you > approach that with current commercial projects that you own the code > to? Do I just show small pieces and functions? Do I tar up the > entire app? Is that safe? Speaking as someone doing a bunch of recruiting right now, a few things about what I'm looking for in code samples: 1) Code representative of your capabilities. It will serve a couple roles here, firstly to gauge your capabilities as a programmer, secondly to set the bar for a technical interview. 2) Sufficient code that I can get a feel for how you structure an application, module, or whatever. 3) Something which shows that you are excited enough about hacking to do interesting and non-trivial things on your own. I've seen quote a few code samples come in which have obviously been "the project I used to learn rails." Sometimes this works, more often it hasn't as everyone's initial rails project look awfully similar to everyone else's. It is not very indicative of your ability (unless it actually is, but that is another matter). Basically, the code sample is the second bar (after an initial phone screen) to help the tech folks decide if you should be brought in. The sample will probably be sent off to a senior level engineer (sometimes scarily senior, just a couple years back John Vlissides did them for (at least some) software engineers applying to IBM Research) who is familiar with the technology in the sample. Send enough code that whoever is looking at it can get a feel for what your code is like. The reviewer will, generally, treat it as a semi-formal code review. This will have a very large impact on how you are perceived technically going into any interview. Never send code which you don't own or have explicit permission to send. Ever. Period. Exclamation point. Never send code which you don't own or have explicit permission to send. Ever. Period. Exclamation point. -Brian ps: On this subject, Ning is actively looking for front-end app developers. Do you like building social software?
on 2006-04-03 23:43
Check out the link below, it is an O'Reilly.net article talking about how to interview ruby developers: http://www.oreillynet.com/ruby/blog/2006/03/interv... Josh
on 2006-04-04 03:23
Thank you all for your great advice. I plan to start building a portfolio of code that I've written and reworking my resume. On 4/3/06, Josh Knowles <firstname.lastname@example.org> wrote: > Hey everyone - I have a career-related question for you all. > few apps out there for public consumption. I love this type of work, > Thank you, > > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails > > > -- http://www.michaelgorsuch.org