I don't to be a NEET all my life, so I want to start a career in ENTERPRISE programming, because there are lots of jobs in that area. So I have a few questions:
- should I learn C# or Java?
- Postgresql is good for this or should I install some bloated enterprise DBMS like Oracle?
- should i abandon /prog/?
Name:
Anonymous2013-08-13 1:41
My job is currently so ENTERPRISE, we use Stardate on our TPS reports. (not actually, that wouldn't be ENTERPRISE).
To be honest, the precise choice of language isn't something that matters so much. Sure, if you walk into an interview for my company and say you know only C# but not Java you'll be viewed unfavorably (our projects almost universally target RHEL), but what really matters in getting hired and staying hired is the ability to work within existing frameworks and design patterns and such. We're not going to complain if you keep a Java reference book by your desk, and you'll have plenty of time to read through it while waiting for requirements to be finalized and during mandatory code freezes. We will complain if you can't adapt to a four-layer logging framework or if you show inability to follow approved documentation guidelines.
A hell of a lot of work is done by contractors on 6 month contracts, which is ironic because it takes one month for their security clearance and usually at least another month before they become truly comfortable in their target project. But hey, hiring contractors is good for ROA or something. I don't care to get it, which is why I'm not in management.
So if you want to get into ENTERPRISE, you need to be able to learn enough of the popular languages (I'd actually throw some heavily restricted subsets of C++ in there as well) to express yourself during an interview (you should, for example, be able to give a good explanation as to why using == on Strings is wrong, and why you can't cast anything to List<Foobar>), but beyond that you should acquire familiarity with design patterns and popular frameworks/technologies.
So while you're training yourself, make a conscious decision on the technologies you use. If you learn databases, don't learn PostgreSQL, learn Oracle. If you learn version control, don't learn Git or Mercurial, learn Rational, or in worst case SVN. Companies will expect that you need a training period to fit into their exact architecture. If you demonstrate that you can work with the types of frameworks they use instead of being a Githubbing WTFPL cowboy, they'll be a lot more comfortable hiring you.