Calling All Coders: What was your roadmap?

boatBurner

shutup, crime!
Feb 24, 2012
1,521
35
0
I'm an aspiring developer, and just looking for some feedback.

Currently pursuant of a degree in Computer Science. I understand the fundamentals of programming, but outside of HTML/CSS (not programming languages by definition) and some low-level skill in PHP, I've little experience in any actual development. Learned the basics of VB when I was eleven, considered C# more recently, but didn't follow through due to connectivity issues.

I'm currently learning Java in school, but I'm more interested in Ruby independently. Dchuk gave me some great information on where to get started with Ruby (more specifically, Rails). I'll be using it.

I feel pretty solid about my learning plan, but what I have questions about are what you've experienced in terms of finding work whether it was an employer or freelance gig.

More specifically, if I hit the books and the shell hard for the next three months, what are some ways to increase the likelihood that employers in the Ruby field are willing to take me on come January 2013?

This is a very shallow question, I know, but I'm interested in hearing some first hand accounts of where you've applied your dev skills, and how you found each opportunity.

Thanks in advance.
 
  • Like
Reactions: BlogHue


When I was in university, I was very much into Online Judge (see online-judge.uva.es - PROBLEM SET ARCHIVE). I used to rank in the top 300 there submitting programs on my spare time. Solving these problems will not just improve your programming skills, but also your logic.

I learnt Java too during my university. Please don't go into this path. Being a Java developer is akin to slow painful death. I wouldn't go into why's but there's a lot of materials on this matter.

Ruby is a functional programming language, it's different from Java which is procedural language. If I wanted to hire Ruby developers, I would prefer he has certain skills on LISP and Scheme.

Next, being a developer is not really a good career choice because the constant rate of change on this field which makes your skills obsolete after a certain years. How many BASIC developers are in demand nowadays? Compare that with lawyers and accountants. The longer they are in the career line, the more valuable they are.

Unless you plan to do this to make a living while you're building your own capital, it's not advisable to fully commit your life to this career line.

=> Half Sigma: Why a career in computer programming sucks

Good luck.

I'm an aspiring developer, and just looking for some feedback.

Currently pursuant of a degree in Computer Science. I understand the fundamentals of programming, but outside of HTML/CSS (not programming languages by definition) and some low-level skill in PHP, I've little experience in any actual development. Learned the basics of VB when I was eleven, considered C# more recently, but didn't follow through due to connectivity issues.

I'm currently learning Java in school, but I'm more interested in Ruby independently. Dchuk gave me some great information on where to get started with Ruby (more specifically, Rails). I'll be using it.

I feel pretty solid about my learning plan, but what I have questions about are what you've experienced in terms of finding work whether it was an employer or freelance gig.

More specifically, if I hit the books and the shell hard for the next three months, what are some ways to increase the likelihood that employers in the Ruby field are willing to take me on come January 2013?

This is a very shallow question, I know, but I'm interested in hearing some first hand accounts of where you've applied your dev skills, and how you found each opportunity.

Thanks in advance.
 
Try at last one REAL programming language which deals direct with assembler code so you understood what your programming is doing with the physical part aka the server.

There is a reality behind the institutions like school and university.

One for example is linux - and linux means to program on a low level. In the deep core you will deal with assembler, C and C++.
There would be no internet without the low level power of unix, linux and the other parts of the *nix family.

You must see that the most "computers" are not in the pocket of man in the form of smartphones or on his desktop.

Most computers are in cars, industrial mashines or simple in your kitchen and other parts of your home. Heck, go out of your door and look how many traffic lights are around a mile of your house. They all have a kind of computer somewhere build in.

And all of this low level computers are programmed in more or less low level languages. You did not add a java runtime to a system where the storage of the runtime is bigger as the whole system itself.

My suggestion - if you are here then look a bit in linux. Learn a bit C - with every part of C you also learn a bit php - because they are 80% identical in syntax and semantic.

And with linux you get an idea how the host system work you are using to make money - thats never a bad idea.

And i also suggest to look for more as being a developer. As pure developer you are limited - you are limited in a company because
the higher positions are normally not filled with developers. You are the worker not the designer or the boss.
 
Personally, I wouldn't start learning how to program by using a framework like rails. I'd first learn ruby (if that's the language you want to start with) and all the programming concepts rails uses before using rails. When you start using rails you should be write rails. By doing it that way you'll really understand the core concepts of programming and common design patterns.

After that when you start learning a second or third language I'd say it's okay to dive into a framework, because you already understand the concepts involved. You'd just be learning the syntax and nuances of the new language. For example using something like django would be fine, because once you learn the syntax you could write django if you had to.

Personally, I'd suggest learning python first. You might be leery of the white spaces matter issue, but with a proper IDE it's really a non-issue. It's also an extremely simple language to learn and there are online courses you can take for free to help get you started. I'm not knocking ruby I just think python is a better language for beginners. I have no real facts to back that up it's just how I feel and I'm sure other people would disagree with me.



Ruby is a functional programming language, it's different from Java which is procedural language. If I wanted to hire Ruby developers, I would prefer he has certain skills on LISP and Scheme.

At first I was going to say no it's not a functional language, but after looking I would say yes you're 50% correct. It's a multi-paradigm programming language. It's apparently procedural and functional. I don't know much about ruby. I've programmed in it a bit, but I'm by no means an expert. Thanks for teaching me something I didn't know.

Unless you plan to do this to make a living while you're building your own capital, it's not advisable to fully commit your life to this career line.

That is 100% incorrect. You can make a great living as a programmer. Personally, I've made a little over 100k a year just as a developer when I was doing it full time. I can still to this day go back to being a developer and pull that kind of salary, because I'm good at what I do. If you're a shitty developer with no social skills then yes you're correct. If you're a good developer with decent social skills you can make a good living. I pretty much maxed out my earning potential by the time I was 23, but that's not a bad thing in the grand scheme of things. Most people would give their left nut to make that kind of money. Personally, I wasn't happy with it so I went on to do other things. However, those other things did involve programming even if it wasn't the core part of my business.
 
I've been all over the place, but I would recommend something a bit more versatile like Python over Ruby.

3 months isn't enough to master Rails, or Ruby, especially not both.

I think you are asking the wrong question; what do you want to do? That will give you a direction to figure out which language to code in.
 
Try at last one REAL programming language which deals direct with assembler code so you understood what your programming is doing with the physical part aka the server.

There is a reality behind the institutions like school and university.

One for example is linux - and linux means to program on a low level. In the deep core you will deal with assembler, C and C++.
There would be no internet without the low level power of unix, linux and the other parts of the *nix family.

You must see that the most "computers" are not in the pocket of man in the form of smartphones or on his desktop.

Most computers are in cars, industrial mashines or simple in your kitchen and other parts of your home. Heck, go out of your door and look how many traffic lights are around a mile of your house. They all have a kind of computer somewhere build in.

And all of this low level computers are programmed in more or less low level languages. You did not add a java runtime to a system where the storage of the runtime is bigger as the whole system itself.

My suggestion - if you are here then look a bit in linux. Learn a bit C - with every part of C you also learn a bit php - because they are 80% identical in syntax and semantic.

And with linux you get an idea how the host system work you are using to make money - thats never a bad idea.

And i also suggest to look for more as being a developer. As pure developer you are limited - you are limited in a company because
the higher positions are normally not filled with developers. You are the worker not the designer or the boss.

For 90% of the things programmers do knowing asm isn't beneficial. I haven't had to use it for anything related to making money in many many years. I do use it for personal stuff on occasion. If he's planning on working with embedded systems then yes it's good to know, but I doubt that's what he'll be doing. Learning C/C++ would be useful and I picked up PHP extremely fast, because I knew C.

If by designer you mean the person that designs the program you first have to be a really good developer. If by boss you mean the head of a department, the project manager, etc it's completely possible to either land one of those jobs or be prompted into the position. I've seen it happen quite frequently and normally they end up being better at the manger role than someone that only has an MBA, because they actually understand what the people they're managing are doing.
 
I feel pretty solid about my learning plan, but what I have questions about are what you've experienced in terms of finding work whether it was an employer or freelance gig.

More specifically, if I hit the books and the shell hard for the next three months, what are some ways to increase the likelihood that employers in the Ruby field are willing to take me on come January 2013?

Have you looked around at what companies pay junior developers? They'll start you at probably $30k/year, which is only $2500/month pre-tax. You'd make just as much if not more running forklift at a warehouse, without having the 6 - 12 month learning curve, the constant overtime / homework, and a boss who doesn't understand your workload but still rides you.

Freelance is a possibility, but lacks stability. I wouldn't bother with sites like oDesk or eLance, as they're a joke, and just a race to the bottom. Browse forums like WF and thousands of others, and you'll always see people needing some development work done. Also maybe contact a bunch of web design companies and freelancers, as alot of times they're looking for good developers to partner with. They're good with the design stuff, but need to pass off the development aspects of projects.

Start with a low wage, around $20 - $30/hour. Globalization has taken effect, so you're competing with people from all over the world now. If you're good, people will come back with return work. As your work load increases, so does your hourly rate. If you're a really good and efficient developer, there's people out there who'll pay $100 - $150/hour for your time.

Other option is packaged software, whether that's an SaaS solution like WordAi, or a distributable like xMarkPro. I've been doing development for 12 years, and I can quite safely say that's where the money is. If you have a good product, and get the word out, you can be making money off it for years. It's nice waking up all refreshed, check your e-mail and see a bunch of new PayPal e-mails. Just keep your eyes and ears open, find a hole you think you can fill, develop a product / service, and push it out.

Good luck!
 
I am not saying you cannot make a good living from being a developer. I am saying you cannot make it a long term career.

That is 100% incorrect. You can make a great living as a programmer. Personally, I've made a little over 100k a year just as a developer when I was doing it full time. I can still to this day go back to being a developer and pull that kind of salary, because I'm good at what I do. If you're a shitty developer with no social skills then yes you're correct. If you're a good developer with decent social skills you can make a good living. I pretty much maxed out my earning potential by the time I was 23, but that's not a bad thing in the grand scheme of things. Most people would give their left nut to make that kind of money. Personally, I wasn't happy with it so I went on to do other things. However, those other things did involve programming even if it wasn't the core part of my business.
 

I read about this a week or so ago. Looked interesting, but mainly for simple applications if I'm not mistaken?

As to the question that was asked regarding what I want to do, I'd answer it with this:

I love to create. I specifically have an interest in web applications. I have a feeling as my learning advances, I'll find myself in the middle as a designer/developer and I'll have to specialize (from personal experience, I like to take on both aspects). Chances are I'll choose dev > design.

I did some research into the Python vs. Ruby (or more specifically, Django vs. Rails). Ultimately, I like the Ruby route (not just for Rails). Saying I continued a path towards a professional Ruby developer, what kind of career opportunities are common beginning at the intern level, and how quickly can a new Ruby developer find himself over the $60k/yr mark?

Very black and white question, just use it as a frame of reference. I'm making some long-term decisions based on your quality input, so thanks again.
 
Hmm... I have been all over the place and am now head of IT.

Being a dev long-term is for some people, but those are rare. The excitement about every detail of new technologies wanes with age, so be prepared for that.

Do I love building things? Hell yeah, and I still code in private.
However, leading a team of developers gives me much more power to build new stuff than I'd have working as a dev.

BUT...

The years spent as a dev give me the solid background I need to get things happening.

If you love building web stuff, build your empire-building software.

::emp::
 
That is 100% incorrect. You can make a great living as a programmer. Personally, I've made a little over 100k a year just as a developer when I was doing it full time. I can still to this day go back to being a developer and pull that kind of salary, because I'm good at what I do. If you're a shitty developer with no social skills then yes you're correct. If you're a good developer with decent social skills you can make a good living. I pretty much maxed out my earning potential by the time I was 23, but that's not a bad thing in the grand scheme of things. Most people would give their left nut to make that kind of money. Personally, I wasn't happy with it so I went on to do other things. However, those other things did involve programming even if it wasn't the core part of my business.

I actually have to agree with Wicked Ice here. Hell, at my high point I was making alot more than $100k/year, but quite obviously, I wasn't able to sustain that. Even after I dropped the first time, then resurged, I was making over that.

I'll stick with what I've always said, ever since I started in software. The shelf life of an average developer is 35. Once they've hit 35 years old, they've lost the creativity, innovation, and ambition needed to compete and produce great results. You can just be banging out code when you're 48, for example. Of course there are exceptions, but I'm talking about the majority.

So if you're going into software as a career, make sure your end goal is to be in a management position of some kind by the time you're 35. Whether that's your own company, IT lead for another company, or whatever.
 
Ruby is a functional programming language, it's different from Java which is procedural language. If I wanted to hire Ruby developers, I would prefer he has certain skills on LISP and Scheme.

Ruby is a very object oriented language. In fact, everything in Ruby is an object. It just borrows some functional ideas like lambdas.

There's a book called metaprogramming ruby that really explains how Ruby works in terms of its object inheritance structure.
 
I think a pet project is a great way to learn how to code. Figure out some program or web application you want to create and start creating it. Learn what you need to learn to accomplish the project and then iterate over it. This will teach you to code, teach you how to manage a project, and it'll be something to show potential employers. You'll also likely learn more than just a language. You'll ultimately learn automated testing, version control, deployment, and server administration which are very important to having a streamlined software development process.

There's a lot of babble in this thread about which language to avoid or use. Ignore it. Find out what you need to use for your pet project and use it. If it's a web app it probably won't be C++. If it's an iPhone app, it probably won't be Erlang. When you have multiple options, choose the language you already have experience in.
 
I am not saying you cannot make a good living from being a developer. I am saying you cannot make it a long term career.
This is a completely untrue generalization.

My father, fluent in AS400 which is an archaic DOS type language not far from cobalt is able to land $80/hr long-term contracts across the country. He can settle in at 80k/yr fairly easy in a decent size city.

I have 4 friends all .NET pro's making truck loads. Two of them work for local corporate offices as in-house IT making 90k+ and the other two developed their own application development system sitting on 1m in state contracts over the next year. All 4 learned .NET out of college 7-9 years ago and will be in just as much demand in another 20+ based on the companies they work for.

Yes, if you jump on the language band-wagon of something like Ruby, you are gambling, but the pro developers know multiple languages in and out of the corporate world.

Now I will agree, that you need to learn other skills aside from developing to prolong your career into/past retirement.
 
I actually have to agree with Wicked Ice here. Hell, at my high point I was making alot more than $100k/year, but quite obviously, I wasn't able to sustain that. Even after I dropped the first time, then resurged, I was making over that.

I'll stick with what I've always said, ever since I started in software. The shelf life of an average developer is 35. Once they've hit 35 years old, they've lost the creativity, innovation, and ambition needed to compete and produce great results. You can just be banging out code when you're 48, for example. Of course there are exceptions, but I'm talking about the majority.

So if you're going into software as a career, make sure your end goal is to be in a management position of some kind by the time you're 35. Whether that's your own company, IT lead for another company, or whatever.
I do agree with the shelf-life on most developers. However, once you have that developing knowledge at age 40+, it will be easy to take leading positions at medium size companies. I'm already seeing the trend of CIO's & CTO's becoming younger and younger in Baton Rouge of all places.

Also agree with the SaaS option mentioned by Matt once you get your shit figured out.
 
Have you looked around at what companies pay junior developers? They'll start you at probably $30k/year, which is only $2500/month pre-tax. You'd make just as much if not more running forklift at a warehouse, without having the 6 - 12 month learning curve, the constant overtime / homework, and a boss who doesn't understand your workload but still rides you.

Freelance is a possibility, but lacks stability. I wouldn't bother with sites like oDesk or eLance, as they're a joke, and just a race to the bottom. Browse forums like WF and thousands of others, and you'll always see people needing some development work done. Also maybe contact a bunch of web design companies and freelancers, as alot of times they're looking for good developers to partner with. They're good with the design stuff, but need to pass off the development aspects of projects.

Start with a low wage, around $20 - $30/hour. Globalization has taken effect, so you're competing with people from all over the world now. If you're good, people will come back with return work. As your work load increases, so does your hourly rate. If you're a really good and efficient developer, there's people out there who'll pay $100 - $150/hour for your time.

Other option is packaged software, whether that's an SaaS solution like WordAi, or a distributable like xMarkPro. I've been doing development for 12 years, and I can quite safely say that's where the money is. If you have a good product, and get the word out, you can be making money off it for years. It's nice waking up all refreshed, check your e-mail and see a bunch of new PayPal e-mails. Just keep your eyes and ears open, find a hole you think you can fill, develop a product / service, and push it out.

Good luck!

This ^