A Student in need of Guidance

Hello Community,

I am currently in my Junior year college and will be looking for some
internship here very soon. I’ve taken core classes on C#, ASP.Net, Java
and have started to learn Ruby and a little bit of Python on my own. To
make this short, I am a bit disappointed at the available opportunities
of Ruby careers in my state. I live in Minnesota, US. I love the Ruby
language and would rather much prefer to work on it than C#, which I
also like. There are many C# or .Net jobs available where I live. I feel
like I am at a crossroad in my technical route. I can either continue
learning the .Net stack and or dive into Rails and hope more Ruby or
Rails will garner more attention in companies. Is the Ruby language and
or the Rails technology dying to more mainstream technologies? Or is it
that companies have yet to adopt it and will soon do. I have a very
strong opinion about my productivity in C# versus Ruby; it makes more
sense for me to program in Ruby. WHY CAN"T COMPANIES SEE THIS!!! sorry,
please let me know what you think are my options and suggestions, thanks
for reading.

John.

Time to pack your bags and move west buddy!

SAN FRANCISCO!

Sent from my iPad

On Sun, Oct 6, 2013 at 3:40 AM, John S. [email protected] wrote:

Is the Ruby language and or the Rails technology
dying to more mainstream technologies? Or is it
that companies have yet to adopt it and will soon do.

Much more the latter. If you look at the help-wanted ads from today
vs previous years, you see a growing demand for Ruby, and especially
Rails. It’s a wonderful time to be a Rubyist right now, as the tools
(the language itself, frameworks, etc.) are mature enough to be
stable, and it’s mainstream enough to be in high demand, but not
mainstream enough to be in high supply. Rubyists can extract a
premium, be it in extra pay or better conditions.

I have a very
strong opinion about my productivity in C# versus Ruby; it makes more
sense for me to program in Ruby. WHY CAN"T COMPANIES SEE THIS!!!

What they tend to see is “if something goes wrong with C#, we can
ask/sue/whatever Microsoft, but if something goes wrong with Ruby or
Rails, we’re screwed”. This is part of the general bias against Open
Source, be it Ruby, Python, or whatever. This is much more common in
large companies, but even some small companies have it.

please let me know what you think are my options and suggestions,

First, don’t sweat the internship details too much. Do it in whatever
language you can, and learn as much language-agnostic techniques for
general software engineering quality as you can. Learn how to TDD…
not just a particular testing tool. Learn how to pair-program… not
just a particular screen-sharing program. Learn how to design
software for robustness and scalability… without depending on the
features of a given language.

Second, when you finish school, realize that only you will take care
of your career. Ruby may be the latest hotness right now… but that
won’t last forever. Learn a new language every year, preferably
something with (or gaining) decent traction in industry. Use these
languages to work on side projects, so you don’t just forget them.
These and many other tips are in a classic book, “The Pragmatic
Programmer”, by Dave T. and Andy H… One career tip that I
forget whether they cover, is the subject of company loyalty: there is
pretty much no such thing any more, in either direction. A company,
especially a publicly-held corporation, exists to make money, and if
letting you go makes them more money than keeping you, you’re gone, no
matter how nice your boss or even the CEO may be. The Ruby Rogues
just had a great episode on this (#125, Loyalty and Layoffs). Keep
your resume ready to roll at a moment’s notice… and even more
importantly, your professional network (see below).

Third, if you’re worried about the job market where you are now,
realize that you can move! Moving for a job is very common, and your
first job past school is the perfect opportunity to pull up roots and
pick a new place. There is a lot of Ruby going on here in the
Washington DC / Baltimore area, also in NYC, Boston, Chicago, SF,
Portland (Oregon), and many other hot-spots. Also, many companies now
realize that physical presence at a desk means very little, so you may
be able to work remotely. I wouldn’t count on it straight out of
school, but maybe after you’ve had a few years of real-world
experience.

Lastly, build your “soft” skills, things like communication,
leadership, and networking. Not as in Ethernet or WiFi, but as in
knowing a lot of people who would be willing to help you, which is a
lot more than just having their business card or their LinkedIn
connection. Toastmasters (http://www.toastmasters.org) can help a lot
with the communication (not just public speaking) and leadership,
which in turn will help with the networking.

-Dave

Thank you Dave and Panagiotis for your well informed responses. I am
amaze at the input from both of you. I will not take lightly for what
has been said. I looked into that book Dave and actually made a purchase
of it, thanks for the recommendation, the book seems to apply to all
things programming.

My dilemma is that I’m old and actually just went back to school
(banging head against the wall), married with kids and therefore
relocation isn’t really ideal at this moment, 29 yrs old, learning
ruby/python from the ground up and my wife is irritated at the effort.
My mindset is telling me that I don’t really have much time left to
compete with younger fellows and I should pick a specialization and just
master it, thus like what you were saying a Ruby rockstar. There are
many things in life that I’ve learned shorts cuts to it, however
programming is the opposite, there’s none, just better books and more
reading and doing.

Thank you once again for both of your help.

John S.

29 is not old!!! And your wife will stop complaining once she sees you
are providing from through programming until then keep providing through
your current means while going full speed ahead with your practical and
theoretical education.


Sent from Mailbox for iPhone

You are far from old…
I’ve worked in computing my whole life…
for 25 years I was managing companies and managing teams…
learned all the languages—built things and had others then extend and
add
while I sold and found work for the group…

I got fed up at the age of 50 dealing with them…
and learned ruby/rails from scratch…within six months I was using it
and building websites for money…
since then…many years…I’ve developed websites, have developed tools
to
build and analyze electrical networks—all ruby based — or ruby and
interfacing with other tools…

Learn — ALWAYS LEARN…
Tell your wife that HER SUPPORT IS APPRECIATED…and leave it at
that…when she complains,
remind her that “HER SUPPORT IS APPRECIATED”…

29 is nothing—

begin.

cj:)

Date: Sun, 6 Oct 2013 22:47:33 -0700
From: [email protected]
To: [email protected]
Subject: Re: A Student in need of Guidance

29 is not old!!! And your wife will stop complaining once she sees you
are providing from through programming until then keep providing through
your current means while going full speed ahead with your practical and
theoretical education.

Sent from Mailbox for iPhone

On Mon, Oct 7, 2013 at 4:47 AM, John S. [email protected] wrote:

Thank you Dave and Panagiotis for your well informed responses. I am

amaze at the input from both of you. I will not take lightly for what

has been said. I looked into that book Dave and actually made a purchase

of it, thanks for the recommendation, the book seems to apply to all

things programming.

My dilemma is that I’m old and actually just went back to school

(banging head against the wall), married with kids and therefore

relocation isn’t really ideal at this moment, 29 yrs old, learning

ruby/python from the ground up and my wife is irritated at the effort.

My mindset is telling me that I don’t really have much time left to

compete with younger fellows and I should pick a specialization and just

master it, thus like what you were saying a Ruby rockstar. There are

many things in life that I’ve learned shorts cuts to it, however

programming is the opposite, there’s none, just better books and more

reading and doing.

Thank you once again for both of your help.

John S.

Posted via http://www.ruby-forum.com/.

Hi,

On 6 Οκτ 2013, at 09:40 , John S. [email protected] wrote:

learning the .Net stack and or dive into Rails and hope more Ruby or

Posted via http://www.ruby-forum.com/.

I’d like to share some thoughts, because you appear to be young and…
Might take this ‘programming’ thing the wrong way.

If you are a professional programmer, you’ll need to deal with more than
one or two frameworks and languages. Don’t get your vision narrowed by
the language, imho, it will “hurt” you. Often to optimize something you
might need to combine several languages (Ruby, Rails, JS, etc.)…

If you insist though, try at least to become a star developer, the
kind of guy that writes open source libraries (gems) for Ruby (or any
ruby framework), with deep understanding of the language and your
framework of choice (rails?). In order do this you need to understand
pros and cons and the ruby way which means that you need to have at
least 1 other deep language understanding (to make comparisons) and
understanding inner mechanisms (C is compulsory here).

Most of the guys that write the books I read about (pure) ruby (low to
avg level here), know and can think in more than 2 programming
languages.

Good luck with everything,

Panagiotis (atmosx) Atmatzidis

email: [email protected]
URL: http://www.convalesco.org
GnuPG ID: 0x1A7BFEC5
gpg --keyserver pgp.mit.edu --recv-keys 1A7BFEC5

On Sun, Oct 6, 2013 at 9:46 PM, John S. [email protected] wrote:

My dilemma is that I’m old and actually just went back to school
(banging head against the wall), married with kids

OH! That does make quite a difference, re mobility. But still, if
you can land a good job elsewhere, doing what you love, you might be
able to convince them to pick up and move. The big questions that
leap to mind are, do you already have a decent job (maybe even
career), does your wife have a job (ditto), do you have deep strong
roots in the local community that it would be painful to break, and
are there any other serious hurdles to moving?

Also, you might be able to convince some company to let you work
remotely. One of the big objections, especially for kids fresh out of
school, is the irresponsibility of the young, and the lack of
experience in what’s expected of them. Does your previous career have
any relation to programming, so that you could claim to have enough
experience to be trusted to work from home? Tell us what it is, maybe
we can tell you how to spin it…

29 yrs old,

Pffffft! You call that old? Ha. Kids these days. Now get off my
lawn! :wink:

and I should pick a specialization and just master it,

My all-time favorite quote: “Specialization is for insects.” (Robert
Heinlein)

There’s a silly (IMHO) meme about T-shaped people vs. I-shaped people.
It doesn’t mean holding your arms out to the sides, and it only works
in sans-serif fonts, but it’s about ultra-specialization. Don’t be
I-shaped, deep in one area and completely absent in others. Be
T-shaped, deep in one, but at least some significant presence in
others. Master Ruby, yes, but also learn a decent amount of Python,
C, JavaScript…

-Dave

On Oct 6, 2013, at 2:40 AM, John S. [email protected] wrote:

learning the .Net stack and or dive into Rails and hope more Ruby or
Rails will garner more attention in companies. Is the Ruby language and
or the Rails technology dying to more mainstream technologies? Or is it
that companies have yet to adopt it and will soon do. I have a very
strong opinion about my productivity in C# versus Ruby; it makes more
sense for me to program in Ruby. WHY CAN"T COMPANIES SEE THIS!!! sorry,
please let me know what you think are my options and suggestions, thanks
for reading.

John.

Here is a secret: the real jobs are not the ones posted anywhere. Not
online, not on boards, etc. They are in the network of people who create
such jobs, and create a network of people they know who can tell them
who is good and who is not. What you need to do right now is start
hooking up with other ruby folks. (There’s a RailsMN meeting this coming
Monday, in fact:
Login to Meetup | Meetup )
Also check http://ruby.mn/ for more essential ruby stuff. Start to meet
other ruby folks, show your stuff, talk, share, ask questions. There are
Ruby and Rails jobs here, granted not like other places.

Another thing to realize is that companies will not adopt technology
that suit your needs as a dev, most fall into various technologies
without even any study or research into what’s best all around from a
business standpoint. The argument that making you write C# costs more
means that they’ll go hire someone else who is more productive in C# if
that’s their current tech.

I also encourage everyone who wants to make a career in software dev to
work on open source projects; pick the language you’d like; there’s tons
of ruby-based projects on Github. Get to know the folks that are the
movers in ruby, even if just online a bit. Look at issue lists, pick off
things you can do, and don’t ignore things like documentation, testing,
and so on. Pay your dues, move your way in. Listen, learn, explore.