A little background: I have a Master of Science in Education and currently work in the mental health field. I have become incredibly bored with it and am embarking on a career change. I have begun taking courses in software engineering in hopes of getting into programming, software development, something along those lines. In terms of what the coursework is hitting, the focus is on Java, though other languages are addressed too (C++, VB.NET, C#) in separate classes, with the .net ones not being a requirement. This is a program geared toward people who already have a career of some sort. I have always had an interest in IT, with programming being the aspect of it I find most intriguing, so that's where all this comes from. I rue the day I declared my major as Psychology so long ago in 1992 (should have been Computer Science).
So, I will be done with these by winter of next year. I have multiple questions about starting a job in this field, hopefully they will be coherent as I am entering them between phone calls.
Anyway, I have begun looking at job postings on Dice.com and Monster, and it seems like even for the entry level jobs, they want knowledge of a many things no program could prepare you for. Are most of the skills learned hands on?
Second, my biggest fear is to go from a job where I am established (even though it drives me insane and I don't want to stay in my current field), only to get a job as a programmer, and be thrown into a room all by myself and responsible for completing some mission-critical application with no prior professional programming experience. How much is expected from somebody fresh from school or new to working as a programmer? Furthermore, would it be assumed somebody could hammer a program out with no help from reference books or others? I certainly understand the programming concepts I have been presented with in class, but there's no way I could not refer to manuals or references to complete some things.
I hope all this makes sense, and I appreciate any insights that can be lent.
Hi, It can be very overwhelming when you see so many requirements on a job listing. When I first started, I didn't meet every requirement, but they provided training classes and a few people helped me out. I would think that you should have the degree and the love for IT when entering this field...
Normally employers wouldn't put you to work on a mission-critical project as soon as they hired you. Not unless you made your resum� appear that you were capable of completing the project, that is. Assigning mission-critical work to a beginner would be, I have to say, stupid. However there are always stupid employers out there who haven't gone bankrupt yet, so if you find this happening you know you are working for one. But I think it's pretty unlikely. (Do they let the beginners work alone with the real hard cases in the mental health field?)
And as for reference books: I have been programming for something like 30 years, and in Java for 4 or 5 years, and I still look plenty of things up. Nobody could memorize all of that information -- there are a couple of thousand classes in the Java API alone. And besides, people keep coming up with new things to learn. Right now I have the JSTL spec on my desk and I keep referring to it.
That's the other thing about the field, you must expect to have to learn new technologies all the time. You need some sort of skills to get in the door, but once you're in, they aren't as important as ongoing learning ability. If you look around this forum you'll notice that credentialism is rampant in the field, but it may be less important in the part of the world where you live.
Be patient. It takes time to grow in the industry. Getting your foot in is the single most important and difficult step.
> ..and be thrown into a room all by myself and responsible for completing > some mission-critical application with no prior professional programming > experience.
It is very unlikely that it would happen. Most organizations have well established practices for inducting freshers into the industry.
> How much is expected from somebody fresh from school or new to working > as a programmer? Nobody in the industry knows everything. Almost all technical issues have multiple solutions. Don't be afraid to recognize the fact that you don't know something.
> Furthermore, would it be assumed somebody could hammer a program out with > no help from reference books or others?
Certainly not. Reference books are there for a reason. Most of the work happens under tremendous time pressure, so knowing where to look for the right information is more important than actually knowing whether java.nio.FooWriter has 4 constructors or 3.