Mainframe developer. Looking to get into OO programming. What language to focus on?

Aharami

Lifer
Aug 31, 2001
21,205
165
106
I graduated college with a degree in Comp Engg. and have been working for a company doing mainframe software development for the past 7 yrs in northern NJ. Finally, at 29, I've realized that there isnt any future in my current position, and that I need to expand my skillset before looking for another job. My problem now is, what language do I focus on? There are so many out there.

I'm posting this here in hopes that the many seasoned developers/programmers here can guide me in understanding what is in demand right now. What do I focus my time on? Java? C++? Python? Perl? PHP? Unfortunately I can only do one at a time. I've done some C/C++ in college, but that was ages ago. So although I'm not new to programming and the SDLC, I can be considered a beginner at OO based languages.

My hope is that I can focus on one language, get a book, go thru it in a month, and start applying for other dev jobs just so I can say I have a decent grasp at the language. Then start getting more experience at whatever job I land. I know I wont land any senior level jobs soon, but I hope to land something better than entry level dev jobs. Is that a bit unreasonable?

I appreciate any input. Thanks!
 

DaveSimmons

Elite Member
Aug 12, 2001
40,730
670
126
What kind of work? You could make a career using any of those languages. If you're good, you can find jobs.

Large-company in-house desktop applications using Microsoft tech? C# and Windows Presentation Foundation (with maybe a smattering of Windows Forms).

Unix / linux server-side coding? Maybe Java or PHP.

Shrink-wrap application Windows development? Probably C# again, but maybe C/C++.

Embedded? C/C++

Mobile games? iOS, Java, or C# depending on the platform.

My hope is that I can focus on one language, get a book, go thru it in a month, and start applying for other dev jobs just so I can say I have a decent grasp at the language.

With only a month's experience you probably will need to start with entry-level work.

You might know a little about the language, but you won't know the APIs/libraries/frameworks. How much do you need to know for your current work beyond just COBOL or FORTRAN?
 
Last edited:

Aharami

Lifer
Aug 31, 2001
21,205
165
106
Thats the thing. Since I've only been involved with one thing in my professional career, I don't even know what type of job I'd enjoy. My gut tells me working for an in-house IT leg of a big financial firm would be fun. But that's probably only because I have friends in those positions and thats the only other type of dev job I've been exposed to. Will I enjoy embedded programming or server-side coding? I don't know. But I want something where I can make around 80K a year and learn more in that position.

My current position is just straight COBOL and JCL, with a little bit of DB2 thrown in. But I do need to know about the software development life cycle - from scope and analysis, to changing modules/creating new ones, creating a test plan, unit testing, and system testing to make sure it works ok with the rest of the system and provides the desired result.
 
Last edited:

DaveSimmons

Elite Member
Aug 12, 2001
40,730
670
126
Perhaps you should plan to spend more time learning before you start the job search.

That way you can either pick one and dig deeper, or try a little bit of work with several different technologies before deciding.

If you start looking for work too soon you could find yourself unsatisfied again a few months after you're hired when it turns out that working on -X- just isn't interesting to you.
 

EagleKeeper

Discussion Club Moderator<br>Elite Member
Staff member
Oct 30, 2000
42,589
5
0
Go down to the local CC and take all the level I and II classes that they have to offer in different languages.

1) You will get the exposure to the languages
2) Most instructors can provide you leads out in the world.
3) You will deterime what type of language you thrive on

4) Find companies (possibly through the school) that fit in with #3
5) While doing #4, take any additional advance classes in #3.

Get acquainted with SLDC - what one learns at work is tailored toward work. The school will provide you with a different perspective.

There is also development vs QA/testing. both require similar skills; one may be more appealing than the other.

80K is not reasonable when crossing as a noob unless you are in a high COLA
 

Aharami

Lifer
Aug 31, 2001
21,205
165
106
Thanks for the suggestions. Yea I guess I need to take more time learning. I'm just getting impatient because my job satisfaction is at an all time low.

I'm in nyc suburb, so I guess it's a high COLA. I was able to get the O'Reilly Learning Python (3rd ed) and Deitel Java How to Program (7th ed) books from friends. I will start going thru those on evenings and weekends and see where I can go from there.
 

Cogman

Lifer
Sep 19, 2000
10,286
145
106
With experience in COBOL, just about any language experience will be a boon. The need for people that can read COBOL and convert to another language is pretty big (At least, thats what I've understood from my brother).

Languages that are good.

Java has a pretty high demand in most sections.

C# is a pretty rapidly growing market. Primarily in windows world doing business type applications.

C++/C have pretty good demand for how old they are, however, the demand may go away. Embedded systems, games, firmware, drivers, and high speed computing are generally where you will find these beasts.

PHP, Has a pretty strong presence in the web development world

Ruby, A semi-growing presence in the web development world.. I've not really heard much about it for a while.

Python, is growing. I personally don't like this language, but there is a pretty good following.
 

Ken g6

Programming Moderator, Elite Member
Moderator
Dec 11, 1999
16,698
4,660
75
If you're looking to learn about OO programming, I'd suggest C#. I can't quite believe I'm saying that because I hate Microsoft, but overall it seems like the best choice to me.

Java would be my second choice - learn either of Java or C#, find the other's API documentation, and you can generally figure out the other. C# may be a slightly better choice because there are a few more oddities than in Java, and they're probably easier to learn not to use.

My third and fourth choices would be Python and Ruby. They can be OO, they're designed for OO, but they really don't have to be OO and often aren't, except possibly for using a pre-built API's OO. They have some other "interesting" features though, like easy regexes, list manipulations, and functional programming, if you like "interesting" languages. You'll like them because they have no ";" at the end of each line. :)

C++ is probably not the original OO programming language, but it's the Model T. It has some oddities, like "virtual", and lacks the nice memory management of modern languages. Of course you're used to doing your own memory management, but you'll grow to like garbage collection.

PHP and Perl are barely OO. PHP may be more OO, but it's uglier than Perl. PHP is sort of like C/C++ in Perl's clothing. Being an old hand at programming you'll be able to use it, but you'll find it cumbersome compared to other languages.

C is not OO. It's the new assembly, for speed and not much else. It is the language for embedded coding, however.

And just to blow your mind...have a look at OO COBOL!
 

iCyborg

Golden Member
Aug 8, 2008
1,353
62
91
While I agree with the guys above that if you know COBOL well, you won't have much trouble getting the hang of any of the popular languages (Java/C++/C#), having been in the job market recently, I think you'll find the reality rather stringent. Anything non-entry-level will require X years of professional experience with language L, and HR/recruiter will likely not even forward your resume further along if you don't have that. Most intermediate/senior level positions will also require specific domain knowledge in addition to X years, like financial sector work or embedded development. You will find this stupid, I do too, but this is what I've noticed. So perhaps keep your job for a little while longer while trying to do some open-source contribution in whatever language you choose? Or do you perhaps have experience with some DB work, like Oracle, MS SQL etc, that you could put more emphasis on? While the recession may be technically over, and jobs aren't being shed left and right, the unemployment rate doesn't seem to have fallen much either and the employers can be picky.

Java/C# seem to be in more demand, but C++ positions tend to pay a bit better, especially compared to web development stuff. There are probably millions of exceptions, but that's my very general observation.
 

Monster_Munch

Senior member
Oct 19, 2010
873
1
0
Java has a lot of flexibility, you can use it to do server side web applications, android and J2ME phone apps, even desktop applications (although C# is better for that).

But I do think C# and C++ jobs pay better, and a lot of Java jobs are being outsourced to India.
 

Aharami

Lifer
Aug 31, 2001
21,205
165
106
this has turned out to be a very informative thread. Thanks everyone for all the input, and ofcourse I welcome more. I am going thru the java book I got from my friend for now. After I finish studying this book, I'll see how I feel about java - whether I want to pursue it further and get a more advanced book, or move onto to C# and .NET. I've heard that C# programmers in nyc can make 100K after a couple yrs experience!

Some of you mentioned involving myself with some open source projects. Where can I find a list of projects where help is needed? Obviously I'd need something thats more simple to start off with, but I think it's an awesome idea to get some experience.
 

Cogman

Lifer
Sep 19, 2000
10,286
145
106
this has turned out to be a very informative thread. Thanks everyone for all the input, and ofcourse I welcome more. I am going thru the java book I got from my friend for now. After I finish studying this book, I'll see how I feel about java - whether I want to pursue it further and get a more advanced book, or move onto to C# and .NET. I've heard that C# programmers in nyc can make 100K after a couple yrs experience!

Some of you mentioned involving myself with some open source projects. Where can I find a list of projects where help is needed? Obviously I'd need something thats more simple to start off with, but I think it's an awesome idea to get some experience.

sf.net has tons of open source projects going. just make sure you start working on one that is active.
 

Oyster

Member
Nov 20, 2008
151
0
0
C# and Java are nice to know and will help you get into six-figures after 3-4 years of experience. However, 100K doesn't cut it for me in the tristate area (or anywhere in the Northeast for that matter)... the cost of living is horrendous. Of course, I am talking about family, and all, but if you're single and don't save a lot, then it's a different story.

If you're thinking about breaking into major financial firms, you must absolutely know C++. Also, since the passage of the Dodd-Frank Act, most bulge bracket banks have shut down their prop trading desks (this is where most of the action was). So, if you want to "grow," be careful about the company you pick because whatever IT operations remain within these firms will probably be outsourced. There is, however, a lot of money to be made because a lot of hedge funds and middle-market investment firms have taken over these prop trading/quantitative systems.

IMO, given your hesitancy, I'd probably first think about where you want to be in 10 years from now. Then start searching for the firms which will allow you to grow with time and experience. Choice of language is secondary (or even moot) if you don't enjoy what you do.