• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

mid-life career change to programming? Am I crazy?

 
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi all,
I'm considering changing careers and I'm thinking about becoming a programmer. I've been a public school band director for almost 25 years. I'm looking for work I could do that would allow me to telecommute after a couple of years. I'd love to buy some land, have a small farm and work from home. I took a programming class years ago while working on a graduate degree and really enjoyed it. What advice do you guys have for me? Are there still lots of entry-level programming jobs? Or, are they all outsourced to India? Do I need to get a computer science degree? Or, just some kind of certification? Also, what language(s) would you recommend? I'm looking forward to your ideas. Thanks.
Cindy in Texas
 
C.R. Anderson
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Also, I'm not sure what forum would be most appropriate for this question. Please let me know if I should re-post elsewhere. Thanks again!
 
author & internet detective
Posts: 41860
908
Eclipse IDE VI Editor Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Cindy,
Welcome to CodeRanch! Jobs Discussion is certainly the right forum.

There are lots of programming jobs in the US. Finding an entry level job is harder when you aren't in your 20's though. Or don't have a computer science background. You don't need a CS degree if you have a degree in something (which you clearly do as an educator.) I think you might have more luck getting a junior (non entry level) tech job in something other than Java programming. In particular, website design (html, css, javascript) might be easier to start with. Or web development in Ruby on Rails or the like. I pick these because Java has a larger ecosystem and is harder to get started with. They are also things you can gain experience on now while still working a s a teacher. Which will help you get the junior experienced programmer job (vs entry level where employers look for new college grads.) As far as gaining experience, does your school band have a website? If not, make one. If so, make it more complex technically (sign ups, a database, etc) so you can talk about it like it is a real project.

The owner of this site actually owns a farm in Montana. It's certainly possible to do both.
 
Jeanne Boyarsky
author & internet detective
Posts: 41860
908
Eclipse IDE VI Editor Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
ps - possible != easy. But I'm sure you already know that.

Another thing to think about is whether you need a full time job or a part time job. If your school system does pensions after 30 years, you might do all contract work on websites without needing 40 hrs per week of work equivalentmi
 
C.R. Anderson
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Jeanne,
Yes, I will be receiving a pension and benefits from my teaching career. I'm really looking for part-time or maybe full-time contract work as a way to supplement my retirement income. I figured that I might need to start full-time and then cut back to contract work part time after having a real job in the field.

Thanks for the info about areas other than Java programming. I have a friend that used to do web design. I don't feel like I'd be very good with the aesthetic design considerations of web design. I'd rather work on the inner workings of the website or program. I'm such a newbie at this that I don't have more than a very basic understanding of what web development is. I've heard of Ruby on Rails but that's about the extent of my knowledge. I need a starting place to get some general info about the different areas of job opportunities in programming, web development, etc. I have 4-5 years before I'm eligible to retire and I'm just starting to think through my options. I'm not sure where to find the general info I'm looking for.
Cindy
 
Trailboss
Posts: 23778
IntelliJ IDE Firefox Browser Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Jeanne asked me to pop in.

I think there are a lot of important things in your question.

1) do have a knack for software development? A lot of people think they will, but then it turns out that they don't. I think that before betting the farm on it, you might want to write a few programs.

2) supposing you do have a knack for it, the next step is to get money for your effort. A lot easier if you are gonna go into an office every day. But when working remotely, the pool of people that will hire you got a lot smaller.

3) have you worked from home before?

4) there can be challenges to getting a satisfactory internet connection on a farm.

5) homesteading is the most awesome stuff in the world - and it can be a lot of hard work. Have you done much in this space before?
 
C.R. Anderson
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator


Paul,
Thanks for commenting on my post. I read permies.com from time to time and sometimes listen to your podcasts, as well. I appreciate you taking the time to talk to me. Yes, there are lots of different concepts in my question. I'm just at the beginning stages of making a plan to be able homestead in the future. I'm trying to brainstorm possible ways to supplement my teacher retirement benefits. About your questions...
1. Do I have a knack for software development? I have no idea. I'm a musician who took 1 computer programming class in graduate school back in the day. It was a visual basic class and I really enjoyed the problem solving aspect of it. I was thinking at the time, "why didn't I major in this earlier in life"? Does that mean I'd be a good programmer? Not necessarily. I need to do some more exploring to see if I DO have the knack for that sort of thing. Not sure what steps to take to do that, though. A programming class at a local college, self study, etc.? If so, what language to start with? Or, something else entirely?

2. Getting money for my effort. I assume that I will need to go into the office for a job for the first several years. Then, hopefully, I could work remotely. Are some areas of IT (is that even the correct lingo) better than others for this?

3. Have I worked from home? Never (other than a parent). Sounds great, though.

4. Internet connectivity in the country. I've had problems with that while camping in the mountains, even with just cell phone reception. That's something to consider.

5. Homesteading is hard work. Yes, I know that! I grew up on a farm in Oklahoma and many relatives had farms in Texas. Farms are great places to grow up! I escaped that lifestyle to go to the big city. Now, I'd love to escape back to the country. How ironic is that?

Well, my main concern is that I need to figure out a direction to go, or figure out if IT is the direction I want to go in. Working remotely sounds waaaay more appealing and efficient than driving into the city everyday for a job. I'm assuming some aspects of IT would be more suitable for for a person in my position than others. I'm willing to put in several year's worth of training to make it work. But, I want to make sure I'm learning/getting training/taking classes that will pay off in the way I want them to. I'd love to hear any comments you have. Thanks again.
Cindy
 
paul wheaton
Trailboss
Posts: 23778
IntelliJ IDE Firefox Browser Java
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
1) Check out the cattle drive http://www.javaranch.com/java-college.jsp --- you can do the assignments yourself without getting the nitpicking, just to see if you groove on it.

2) It depends. Java stuff tends to be for bigger systems. If you are going to work remotely, you will probably get more one-off things and those folks tend to want php. And there are far more non-java systems out there than java. The thing is that java, when done right, is, IMAAOO, a thing of beauty. The PHP stuff ... disgusts me.

3) If you are bonkers about programming, it will be easy. You will get up in the morning and the computer won't come on fast enough for you to get back into it. If you are not, then you will be miserable. You will need the discipline to get work done at all. And disciplining yourself all day long five days a week ... will eventually fail.

4) Satellite is an option. But it is a horrible option. Getting internet can be a huge chore.

One possible path is to be a web monkey. It seems like everybody needs help with their web sites and folks can get something like $25 per hour pretty easily. That might be a path. Easier for most folks in many ways. I have a hard time imagining doing a lot of it, but for ever java developer out there, there's probably a dozen web monkeys.



 
C.R. Anderson
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Paul,

1) I'll check out the cattle drive. If I can't hack that, that will be a sign to think about doing something else.
2) PHP stuff disgusts you but that is maybe what I should be learning. Not sure what you mean. It's not as elegant, too clunky, or, just not as fun to use? ok. Is there any reason to learn other older languages like C++?
3) We will see from the Cattledrive If it is something I can groove on.

5) Not exactly sure what you mean by webmonkey... Someone who maintains websites for individuals as opposed to larger companies? Or something else?
Thanks again.
Cindy
 
Jeanne Boyarsky
author & internet detective
Posts: 41860
908
Eclipse IDE VI Editor Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
2) PHP used to be a spaghetti language if you did anything complicated. (It's gotten better to the point where it is used for full apps.)
5) Webmonkey is a term for someone who makes websites rather than full programming.
 
Bartender
Posts: 2407
36
Scala Python Oracle Postgres Database Linux
  • Likes 3
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Just responding to a couple of points, as somebody from a non-technical background (originally) who's survived until mid-life in the software industry.

If you enjoy programming and working with software, then give it a shot: it's good to be able to earn (or supplement) a living doing something you enjoy.

Acquiring skills: you could look at online materials from the universities. For example, here in the UK we have the outstanding Open University which offers lots of different computing courses which you can study individually or put towards a degree/diplomas. Their courses are available abroad, although I'm not sure about the USA. But many of the top US universities also put a lot of free, high quality study material online e.g. Stanford and MIT.

You probably wouldn't want to get too bogged down in formal Computer Science right now, but a course in Python or Google's Python class might be a good way to get into OO programming quickly with a modern and commercially useful language. There are lots of free materials around for Python, e.g. the free books How To Think Like a Computer Scientist or Dive Into Python so this might be a good place to start.

Ruby is a very similar language to Python, so you could choose to go for Ruby instead/as well - there are some free materials for Ruby although the free Ruby books tend to be a bit out of date. Ruby/Rails would give you a marketable combination for web development that would be relatively easy to get started with - certainly a lot easier than industrial-strength Java EE.

PHP is a real dog's dinner of a language, but it has improved a lot in recent years e.g. through the Zend Framework, an open source project that provides robust and flexible standard components for developing PHP applications. PHP has a terrible reputation and there is a lot of really bad PHP code around, but it is also very widely used and is the basis for a huge number of commonly used content management systems (CMS) on the web, including the Moodle teaching platform.

I've noticed a lot more jobs coming up recently (at least in the UK) for PHP programmers, e.g. combined with knowledge of how to build components for Drupal (probably the most sophisticated and flexible of the common PHP CMS). So PHP might be a useful breadwinner to pick up, especially once you've got an initial understanding of web apps via Ruby/Rails for example.

A lot of mainstream commercial development is based around Java Enterprise Edition and (usually) one of the big databases like Oracle, usually on a Unix platform, so these might be the broad areas to look at if you were planning a career as a commercial developer. One disadvantage of Java, apart from the steep learning curve for JEE, is that it's a standard teaching language at universities these days, so there are tens of thousands of inexperienced Java programmers being churned out every year all around the world who would be competing with you for work. And of course, most commercial jobs tend to be based in larger towns/cities, so you might not be able to telecommute.

C++/C are still widely used especially in engineering/hardware applications, but they're pretty tough to learn and I'm not sure how easy it would be to break into the job market without a strong technical background.

As Jeanne says, going for web application development might be a better route for you as it's easier to get started with and there might be more scope for working remotely. I might be inclined to start with an object-oriented language like Python/Ruby, plus one of the corresponding frameworks like Rails (Ruby) or Django (Python), because this will give you a quick route into OO/web application development and a lot of the knowledge will be easily transferable to other languages/platforms like Java, C# and even OO PHP or JavaScript. Plus you'll get an understanding of things like web servers, MVC and so on. Ruby/Rails is probably the more marketable option, but Python seems to have more free materials around online.

It's probably helpful to know a bit about JavaScript and one of the common JS frameworks like jQuery, plus some HTML/CSS, even if you don't want to go for front end stuff generally. JavaScript allows you to interact with the Google interfaces for things like Google Maps, and it's also used as a server-side scripting language (Google Apps Script) on Google Apps - Google's cloud-based office application suite.

Alternatively, you could join the current rush into mobile app development for Android or Apple, although I'm not sure many people are actually earning much of a living from this right now.

Check out the big online job sites such as Monster to get an idea of how much demand there is for particular skills, but bear in mind that it can sometimes be better to have some less common niche skill to offer, rather than just being another inexperienced Java developer or whatever, and your educational background might also be marketable in some areas e.g. for work on eLearning systems.

Finally, I don't know about the USA, but here in the UK there is a shortage of people who can teach computer programming in schools, because very few people with computing degrees go into teaching, so most IT teachers are only a page or so ahead of their students in the textbook (and many kids know more about computing than their teachers anyway). If the situation in the US is similar, then maybe there would be scope for you to learn enough to teach introductory programming in schools on a part-time basis, given your professional background?

Anyway, whichever approach you find fits best with your own aspirations, best of luck with it and I hope it's a lot of fun too.
 
paul wheaton
Trailboss
Posts: 23778
IntelliJ IDE Firefox Browser Java
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I started off programming in BASIC and assebly language. After that, Pascal was sooooooo much better. I did Modula-2 for a while. Both were always peppered with assembly. Then I spent two months with C, and then moved into C++. For eleven years I did only C/C++ and assembly. Throughout all this time I did smatterings in all sorts of languages.

In 1997 I discovered Java. Ten times better than anything else I had ever worked in. Nothing has come close since. Granted, 95% of the java dev work I see others doing is utter crap. It's like how to take a beautiful thing, tie it down, piss all over it and call it "best practices".

So I'm a java bigot.

And for the sake of the good people on the CodeRanch staff, I almost always stay out of the forums because my thoughts are not aligned with most people. And I stay out of the forums because I see a broad, fast river of ridiculous crap being presented as "good". It is unbearable to watch.

So, when it comes to developing a career in software engineering, my advice is quite different and most others that get paid in this field will tell you my theories suck. But sometimes it was my job to fire those people.

When it comes to homesteading and permaculture - my views are still contrary to the norm, but I'm not shying away from anything.

 
chris webster
Bartender
Posts: 2407
36
Scala Python Oracle Postgres Database Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

paul wheaton wrote:In 1997 I discovered Java. Ten times better than anything else I had ever worked in. Nothing has come close since. Granted, 95% of the java dev work I see others doing is utter crap. It's like how to take a beautiful thing, tie it down, piss all over it and call it "best practices".
....
So, when it comes to developing a career in software engineering, my advice is quite different and most others that get paid in this field will tell you my theories suck. But sometimes it was my job to fire those people.


I don't want to hijack this thread, but have you put your ideas about Java online anywhere? As a DB developer with only occasional Java experience, I'm curious about other "non-standard" perspectives on the Java industry.
 
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Cindy, lots of people change their careers at some point in their professional life. Some of them, in fact, do it many times over. I wouldn’t call it crazy, but you should be aware of the hard work it will require to attain a fresh set of skills and also be prepared to start at the bottom of the rung in your new profession.

As for whether you need a computer science degree for breaking into entry-level programming jobs, not necessarily. There are two-year Associate’s degrees in computer programming you can consider enrolling into. A computer programming degree should ideally cover the scope of training pretty well and help you get your foot in the door as far as programming jobs are concerned.
 
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi C.R. Anderson!

I've been a software developer for almost 6 years now, and I have a friend in the same boat. Here's my reply and some tips for him. Hope you find it useful!

http://alexanderle.com/blog/2013/mail-how-become-software-developer.html
 
Marshal
Posts: 79177
377
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Welcome to the Ranch

I think there is some good stuff in that blog.
 
Ranch Hand
Posts: 146
Eclipse IDE Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Cindy, I'm in the same boat as you! I'm in my 40s, I've been an English teacher for the past 15 years, and have recently decided to change careers and become a Java developer.
I'm job-hunting right now, I can tell you some things that I have done.

#1 I studied for and passed my Java Programmer Certification.
#2 I signed up with 3 (looking for more) IT recruitment agencies. I have even asked the consultants to look for volunteer/short-term trial work.
#3 Over the past year I have programmed a few Java projects at home, I'll put these in an online portfolio.
#4 I offered to do some 'non-critical' Java volunteer work for a company.
#5 I am reading about testing and frameworks (Spring) at the moment.
#6 I am doing lots of coding exercises, as many interviews have coding exercises as part of their hiring process.
#7 I am (as many of the guys on this forum know!) asking for help and feedback on my projects.

I wish both of us lots of luck!
 
reply
    Bookmark Topic Watch Topic
  • New Topic