# \[OT\] - Career Advice

**URL:** <https://www.ruby-forum.com/t/ot-career-advice/56762>\
**Category:** Rails\
**Created:** [April 3, 2006, 5:06pm UTC](https://www.ruby-forum.com/t/ot-career-advice/56762 "2006-04-03T17:06:51Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![mgreenly](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/85f322/32.png) [@mgreenly](https://www.ruby-forum.com/u/mgreenly)\
**Post date:** [April 3, 2006, 5:06pm UTC](https://www.ruby-forum.com/t/ot-career-advice/56762/1 "2006-04-03T17:06:51Z")

</div>

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 G.

–  
[http://www.michaelgorsuch.org](http://www.michaelgorsuch.org)

---

<div class="post-metadata">

**Author:** ![mgreenly](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/85f322/32.png) [@mgreenly](https://www.ruby-forum.com/u/mgreenly)\
**Post date:** [April 3, 2006, 5:25pm UTC](https://www.ruby-forum.com/t/ot-career-advice/56762/2 "2006-04-03T17:25:16Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![mgreenly](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/85f322/32.png) [@mgreenly](https://www.ruby-forum.com/u/mgreenly)\
**Post date:** [April 3, 2006, 5:40pm UTC](https://www.ruby-forum.com/t/ot-career-advice/56762/3 "2006-04-03T17:40:36Z")

</div>

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 [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> manager.  
> then go for it.
> 
> > / design / etc, but really want to break into that field.
> > 
> > removed\_email\_address@domain.invalid  
> > [http://lists.rubyonrails.org/mailman/listinfo/rails](http://lists.rubyonrails.org/mailman/listinfo/rails)
> 
> * * *
> 
> Rails mailing list  
> removed\_email\_address@domain.invalid  
> [http://lists.rubyonrails.org/mailman/listinfo/rails](http://lists.rubyonrails.org/mailman/listinfo/rails)

–  
[http://www.michaelgorsuch.org](http://www.michaelgorsuch.org)

---

<div class="post-metadata">

**Author:** ![mgreenly](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/85f322/32.png) [@mgreenly](https://www.ruby-forum.com/u/mgreenly)\
**Post date:** [April 3, 2006, 6:14pm UTC](https://www.ruby-forum.com/t/ot-career-advice/56762/4 "2006-04-03T18:14:25Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![mgreenly](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/85f322/32.png) [@mgreenly](https://www.ruby-forum.com/u/mgreenly)\
**Post date:** [April 3, 2006, 6:29pm UTC](https://www.ruby-forum.com/t/ot-career-advice/56762/5 "2006-04-03T18:29:40Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![mgreenly](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/85f322/32.png) [@mgreenly](https://www.ruby-forum.com/u/mgreenly)\
**Post date:** [April 3, 2006, 11:37pm UTC](https://www.ruby-forum.com/t/ot-career-advice/56762/6 "2006-04-03T23:37:06Z")

</div>

On Apr 3, 2006, at 8:37 AM, Michael G. 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?

---

<div class="post-metadata">

**Author:** ![mgreenly](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/85f322/32.png) [@mgreenly](https://www.ruby-forum.com/u/mgreenly)\
**Post date:** [April 3, 2006, 11:43pm UTC](https://www.ruby-forum.com/t/ot-career-advice/56762/7 "2006-04-03T23:43:26Z")

</div>

Check out the link below, it is an O’[Reilly.net](http://Reilly.net) article talking about  
how to  
interview ruby developers:

> **[O'Reilly Media - Technology and Business Training](https://www.oreilly.com)**
>
> Gain technology and business knowledge and hone your skills with learning resources created and curated by O'Reilly's experts: live online training, video, books, our platform has content from 200+ of the world's best publishers.

Josh

---

<div class="post-metadata">

**Author:** ![mgreenly](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/85f322/32.png) [@mgreenly](https://www.ruby-forum.com/u/mgreenly)\
**Post date:** [April 4, 2006, 3:23am UTC](https://www.ruby-forum.com/t/ot-career-advice/56762/8 "2006-04-04T03:23:52Z")

</div>

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 K. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) 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  
> removed\_email\_address@domain.invalid  
> [http://lists.rubyonrails.org/mailman/listinfo/rails](http://lists.rubyonrails.org/mailman/listinfo/rails)

–  
[http://www.michaelgorsuch.org](http://www.michaelgorsuch.org)

---

<div class="post-metadata">

**Author:** ![mgreenly](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/85f322/32.png) [@mgreenly](https://www.ruby-forum.com/u/mgreenly)\
**Post date:** [April 3, 2006, 10:44pm UTC](https://www.ruby-forum.com/t/ot-career-advice/56762/9 "2006-04-03T22:44:17Z")

</div>

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 B.  
[www.gilesgoatboy.org](http://www.gilesgoatboy.org)
