EntropicLove said:
My background experience for coding is taking a intro programming C++ class (required for major), Matlab, and basic experience with Python.
As for project work, some opensource contributions on sourceforge and some coding in Python for my senior project.
That is some varied experience which is good. Any experience where you have contributed to large scale projects (or code repositories) is a good thing, since this is the kind of environment that you will most likely work in, in your day job.
One thing that I want to (re)emphasize is demonstrating the ability to work with different code-bases and platforms and integrate the functionality of each together. This is what happens most of the time. The fact is that it takes too much time to do everything yourself and usually what happens is that the lead programmer has agreed to use a certain library, and as such someone (or some people) have the job of doing the integration.
This gives experience in a few ways: firstly you can see how horrible it is to debug errors in repositories that have multiple libraries or code-bases. Secondly you get experience at doing rapid development. Thirdly (I know I keep saying this but anyway), this is what you do and it's the only way that stuff (complex stuff), gets done.
I'm getting the hint, from responses, software development tends to offer me more of my preferred work environment...I have heard repetitively that a lot of the projects are outsourced now?
I think you should get an idea of what it is like to work in an environment that mimics the development atmosphere for at least a month or two. It can be nightmare looking for bugs in huge repositories, and it's an even bigger nightmare when you (god forbid) have to step through some machine-code representation or assembler representation of a compiled library. It's even worse if the dependency on some library is very high.
You might love it, and if you do that's great. Also there are different jobs that have different platforms, different technical expertise and requirements, and different scope for complexity. In saying this, you should probably do some kind of project for a few months and see how you cope with that.
I really find network theory and administration interesting BUT do realize that it is a position that requires a large amount of responsibility and things can/do go wrong on a moments notice...
How would I move away from networking if I wanted to pursue being a programmer. So far I have been doing techno grunt work mainly under the employment title of "help desk specialist"; I think my job is currently getting me closer to network/voice than coding even though I am trying to focus more on applications. In terms of hardware/user interface side, I have been working with Cisco and older IBM infrastructure and Microsoft OS but familiar with linux as well.
Thanks again for your time!
Again I emphasize like other project based jobs, your "portfolio" forms a major part of your resume. If you want to development and you haven't got any entries for your portfolio, then you need to work on that immediately.
You also need to pick a domain. It is not reasonable for a programmer to be a specialist in everything, in the same way that you don't expect a heart surgeon to also be a neurosurgeon or an ophthalmologist. In saying this though, all of these people know general medicine and how to specifically apply it to their job, and in the context of programming, you also need to know how to apply basic knowledge (data structures, documentation, design techniques, how to quickly write (or learn how to write) code in a procedural language, and so on) to your domain.
Again with the doctor analogy above, find your domain and get experience to become the "neurosurgeon" of the area you want to go into. There is no reason why you can't learn different things, but you'll find out that it usually takes a really long time to become really good in one or two areas. Given that experience it might make learning a third, fourth, or tenth area a lot easier due to the overlaps (to put this into context, imagine learning a fourth spoken and written language after learning three already), but getting that initial context is going to probably be hard going.
With respect to "offshoring" jobs, that is indeed happening by reading some posts of people who are still developing software in other forums. This is just my opinion, but I think there will always be certain kinds of development jobs that will never be moved overseas. I haven't done coding in a job for a little while now (I'm looking to become a statistician), but two-fish is an active programmer, so it would be good to get his take on this point because he has mentioned this issue in other threads.