Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm new to this site and new to programming as well. I've spent some time going through an intro cs book that uses python as the language of choice.

I find the exercises interesting and engaging and I generally have had a favorable experience programming so far. I've gone through some of the basics with python like writing simple programs, basics of GUIs, manipulating strings, lists, defining functions, etc. And I've always loved technology. Although I've never done any real hardcore programming yet, I was inclined to building websites from a very young age but I never really developed my skills.

Now, the thing is I'm 25, I have my bacholors in environmental studies and two masters degrees in urban planning and landscape architecture respectively. I know, it would be quite a departure to pursue a career in programming at this point.

Currently, I'm working as a geographic information systems intern. I've taken some GIS classes and have a lot of experience with making maps, doing spatial analysis etc. So what I'm thinking is maybe I can learn some solid programming skills and apply these skills in the field of GIS. From what I've seen, .net languages are the norm in this arena. Could you perhaps provide some guidance to me in terms of what languages I should focus on or courses I should take at this point? What about for building web mapping applications?

Also, I was thinking about getting a certificate in programming from a university extension program. Do you think it would be worth it? And furthermore, do you think potential employers would be interested in hiring someone like me (once I get a couple of languages down pretty well) as an intern or in an entry level position? I'll be living in the bay area so I feel that there should be decent opportunities even though I don't have a b.s. in cs.

share|improve this question

migrated from Feb 18 '11 at 16:02

This question came from our site for professional and enthusiast programmers.

closed as off topic by Matthieu, Mark Trapp Jan 23 '12 at 23:44

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

BS in CS...stop stealing my line! – ryebr3ad Feb 18 '11 at 16:01
25 is way old - the best programmers are writing compilers before they hit puberty. – Alison Feb 18 '11 at 16:07
I changed my career to web developer at 26. At 34 I went back to IT Support :P Now I might become a dev again at 37! – TeaDrinkingGeek Feb 18 '11 at 16:25
"25 years old and considering a career change…possible? practical?"? What? It's not possible. It's not practical. It's absolutely essential. Jobs and careers change through time. They change a lot. A real lot. If you're not planning on change now (at age 25) you're in for a world of hurt in the future when your job is made redundant. Change is essential. Why waste time asking? – S.Lott Feb 18 '11 at 18:09
"So what I'm thinking is maybe I can learn some solid programming skills and apply these skills in the field of GIS. From what I've seen, .net languages are the norm in this arena." This sounds like a great idea. Go for it! Best of luck to you. – qes Feb 23 '11 at 7:30

Speaking as a 50 year old who has had different career paths throughout life, I can tell you with confidence that what you want to do is entirely in your own hands. Don't listen to those who say that only the young can be good programmers, that is entirely untrue.

Often times a person who has had other experiences to bring other than just coding will bring a unique perspective to solving problems. Embrace that prior experience and bring that to the table.

By the way, from my perspective, 25 is pretty damn young. Follow your passion.

share|improve this answer
+1 for damn emphasis. Pretty damn young indeed. – David in Dakota Feb 18 '11 at 16:55
+1 A lot of times you'll have programmers who know a lot about programming, but not a lot about how businesses are run or about the industry they're programming in (manufacturing, aerospace, automotive, etc). I've seen a lot of programmers actually be better when they have something other than computer science because they have a deeper understanding of the requirements and bring more to the table, like you said. Good answer. – Ryan Hayes Feb 23 '11 at 16:01

Your age shouldn't be a consideration here. I did't get my first programming job until I was 28. I graduated from college with an MBA, specializing in Finance. But for the last 20+ years, I've been writing software.

When I hire developers, I generally am not impressed with people who have a CS type degree or any type of 'programming' degree or certificate. Most colleges are clueless when it comes to teaching kids solid software development principles. Most good developers are self-taught, or spend a great deal of time teaching themselves.

I would much rather find someone with good development skills, but has some other type of degree, especially a business degree.

My suggestion would be to get some experience in Visual Studio 2010, C#, WCF, SQL Server and perhaps WPF/XAML/Silverlight. If you can show some level of proficiency in these areas, you will get hired.

share|improve this answer
Encouraging. +1. – Mudassir Feb 23 '11 at 6:05
IOW, the kind of work I hire developers for bores the tears out of people with CS degrees, so they tend to quit. So I hire people who can't find jobs in areas with their own degree and they don't quit on me since they can't find work anywhere else:) – Dunk Feb 23 '11 at 16:13

I used to develop GIS for a living and my University education is in Materials Science =)

Go for it. You have extensive domain knowledge which is rare, at least between the GIS developers I met.

Yes, an extension course or any kind of formal education in computer science or related by an accredited University will help you getting a job. You can find one without it but it helps, without a doubt.

If you want some open source experience, you might take a look at GRASS. The code is solid and fixing a few bugs and implementing some features may help you develop a portfolio and talk about your experience, when interviewing.

Good luck!

share|improve this answer
yes yes yes yes! – Andrew Heath Feb 23 '11 at 7:45

I had a degree in environmental studies and a bit of IT work I was doing on the side when I started doing more classic GIS stuff as an intern at an environmental nonprofit about 10 years ago. I was 25 at the time.

A couple years into it, I realized I needed to learn to learn more about 'web GIS' and thus programming. I taught myself python and javascript and a bunch of open source GIS related software. I did consulting work that I really enjoyed for many years, trying with each project to learn a bit more.

Now I work daily with fantastic programmers (and others) on awesome projects, and while most of the engineers have CS degrees a lot of my top notch colleagues also are self taught in this area, and started 'late'.

One thing you note is that ".net languages seem the norm in this arena". Everyone has their bias, based on what they already know which also affects what software they see, but in terms of the majority of cool mapping applications I see built, I don't see a lot of .net (although I do see some).

Even with ESRI stuff, (I think) you'll find more python examples for backend scripting and analysis than .net examples -- and so my personal suggestion is, at this point in time, to learn python (and of course javascript if you're interested in the web). .02c: PostGIS and GDAL are also great tools to be familiar with.

Happy to answer more if you have any specific questions.

share|improve this answer
This answer really hits the nail on the head when it comes to the combination of GIS and automation via programming. – Peter Smith Mar 28 '11 at 15:26

Once you develop and can effectively demonstrate your programming prowess, the paper and age is not very important. With your other degrees you prove you obviously have what it takes to go to school and get things done, which was the bigger question.

To boot, with your extensive knowledge of a non-programming domain, you would be an invaluable asset as a programmer for a company that operates in that domain.

For the web and .NET take a look at ASP.NET MVC, and this question.

Start small and build up a portfolio of the things you create. Being able to deliver on development projects is what counts in most employers eyes.

share|improve this answer

Here in the UK a lot of technical jobs for graduates dont ask specifcially for a CS degree, they will accept people from all degree disciplines, even people who do CS degree as soon as we step into a real development job, we learn loads more than we did at university, university doesnt really teach us solid technical skills, it gives us a nice base to build on though, but most of the learning from programming occurs in your own time and from experienced peers at work.

So getting into development isnt as drastic as you might think, if you can show how your degree skills and knowledge can be applied to solving problems using programming as a tool then you can definetly have a crack at it.

share|improve this answer
The posts on this sight explain the reason for the really poor state of affairs with software development. – Dunk Feb 23 '11 at 16:16

If you feel that you don't want to spend the next 40 years doing what you studied - change tracks. You're still young enough.

There is a lot of activity in the world of GIS/Geo/etc., both in the private market and in the defense industry. Your main problem might be that you don't have a formal CS degree - some organizations that dabble in this field are large and their HR groups might be stringent. But if you become a skilled programmer and maintain contacts, you might be able to get in via contacts. Your background would be valuable.

I'm not sure .NET is the dominant player in this field - a lot of Geo is done on backends and in the defense industry, which would suggest other languages including Java.

share|improve this answer

Am now 30 and just switched once again from a PHP (backend) webfirm to a cloud backup provider where I'm doing C++ again.

Have done about 3 or 4 changes and must say it keeps one 'agile' in my opinion.

Doing something you like is more important than doing something you are used to doing in my opinion.

As long as you go to work with a smile (and get decent wages) that's all that counts. . isn't it?

share|improve this answer