How about a career discussion?

evident

Lifer
Apr 5, 2005
12,064
674
126
Not sure if this is off topic or not for the programming section. If not, mods please move it.

I graduated in 07 w/ a BS in comp e, minor in CS, mainly focused on algorithms, java programming, databases and etc. Since graduating, i've been working in a job that has really been non programming related. my job is to understand a large multifaceted military system with several interfaces, a mix of legacy and new hardware, and develop requirements for the programming team to develop. I get to travel about 3 times a year and rack up miles, and get to present to our customers and so on.

In the last year or so, I've been doing some programming assignments, but it's pretty mundane, related to jboss drools rules engine. since i'm a systems engineer by title, i've been assigned to programming tasks that are more related to legacy hardware and it's pretty much repetetive if statements. i don't get to do any software design or anything of that nature. the infrastructure is already there, i just get to apply the domain specific parts to it.

while i wasn't completely happy, i was somewhat content with my job until 3 weeks ago, where my manager announced i would be reorg'ed into another systems engineering division where i don't think i'd be doing any type of software development whatsoever. This got me thinking about my future within and outside this company

needless to say, my i feel my programming skills aren't up to par anymore and i feel if i got laid off tomorrow, not much of my domain knowledge i acquired wouldn't be transferrable to another company, which really scares me.

The world of web apps seem to be booming and i feel like i couldn't delve into any of these frameworks without a huge learning curve. I have some limited exposure to jboss with the software i'm working on right now. i'd like to expand on that but i dont think my job will offer me that type of opportunity for the time being.

what should i do? I always had a knack for coding and doing software type stuff, i just feel i'm not being utilized properly here. what can i do to try and stay on top of technology?

i'm trying to find the time to continue my masters in software engineering degree as my company is paying for it. I think that in a way will help me refresh my skills. any suggestions would be greatly appreciated.

sorry for the long post,
cliffs

did alot of programming in college, my internships
got hired at a company that pays well but not doing any actual programming work
feel like i'm losing my skills and becoming behind the times
reorg at my company got me thinking about refreshing my software development skills
what can i do to do this?
 
Last edited:

degibson

Golden Member
Mar 21, 2008
1,389
0
0
If you like it and the money's good, keep doing what you're doing. Program on the side if you're worried about falling behind the times.
 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
14
81
www.markbetz.net
Yeah, along those same lines I would say decide what it is you like to do. If it's programming, and you aren't getting enough experience at your current job, then write some apps in your spare time to bone up, and then go looking for a new one.
 

KIAman

Diamond Member
Mar 7, 2001
3,342
23
81
You sound like you can communicate reasonably well.

Tell your boss. Tell him/her you are grateful for the opportunity he/she has given you thus far but you want to move towards software development.
Extra credit for giving him/her a transition plan or at least several solutions for him/her to think about.

Like I said, you sound like a good communicator so leave out any threats or strong-arm tactics.

Assuming your boss is reasonable, the company is decently varied, and your performance has been better than average, they will make reasonable attempt to keep you as a resource rather than lose you to other interests. If none of these preconditions are true, you should look to leave.

Collaborate.
 

Merad

Platinum Member
May 31, 2010
2,586
19
81
IMO, try to get something on your resume to distinguish yourself. From the guys I've talked to in the industry, Java programmers tend to be a dime a dozen, since that's what most of the schools teach. Pick up some additional languages, and/or have some work to show off.

C# should be fairly easy for you to pick up. C++ will be more work, but not extremely difficult, if you're willing to let go of your Java habits and learn things the C++ way.

If you don't have any projects of your own that you're interested in working on, maybe look at contributing to an open source project. Or even do a few jobs at a place like rentacoder.com - you probably won't make crap for money, but it's still experience.

Anything to make yourself stand out.
 

magomago

Lifer
Sep 28, 2002
10,973
14
76
IMO systems engineering is about the logic and approach. I personally like it, but every systems engineering group will be different; i get to spend time touching many aspects of the system and get to communicate with many different groups that a algorithm or hardware engineer wouldn't normally be in contact with...i'd say we know a little bit about the whole system since we care about the bits and pieces and how they fit and interact, and can sitll delve into algorithms and other area in order to help fix or figure out whats going on...but that is no sub for the real expert in that area when its needed (you don't need to, nor should you be able to draw the expert every single time if somone can hack it up and try to figure it out).

i wouldn't worry if you are growing on a specific project; the functional knowledge i have also only really applies to the project i'm working with as well...but the conceptual knowledge is more valuable.

if you like systems, stay there and then do coding at home if you like it with your free time. lots of FOSS projects to join.

if you hate systems, and want to be a sw developer...then perhaps its time for a career switch

imo:

if you like the job, do these three things:
+stay there as a systems engineer
+get an MS in SW engineering
+do some FOSS project that is relevant to what you may be interested in the future as that could be great resume content
 

hans007

Lifer
Feb 1, 2000
20,212
18
81
IMO, try to get something on your resume to distinguish yourself. From the guys I've talked to in the industry, Java programmers tend to be a dime a dozen, since that's what most of the schools teach. Pick up some additional languages, and/or have some work to show off.

C# should be fairly easy for you to pick up. C++ will be more work, but not extremely difficult, if you're willing to let go of your Java habits and learn things the C++ way.

If you don't have any projects of your own that you're interested in working on, maybe look at contributing to an open source project. Or even do a few jobs at a place like rentacoder.com - you probably won't make crap for money, but it's still experience.

Anything to make yourself stand out.


First off you need to work on your own outside of work. I'm not entirely sure you want to learn C++ over say Java.

I am a c++ programmer, and I code java for android outside of work. C++ is well if you want to be sharp at programming its the thing to learn, i'd agree with that, but not nearly as many jobs out there use it now, so it would be harder to get a job in (at least I've been trying and my selection of jobs doesn't seem to be as big as someone who knows say java or php or ruby on rails).

Also honestly you should just start looking for a job now if you are unhappy. If you want to progrma and you don't like what you do and especially if you are willing to relocate there is probalby a better job out there as the job market seems pretty decent in software right now. I mean it sounds liek you work for some sort of defense contractor anyway, and I know for a fact a lot of startups / private industry firms sort of look at defense industry engineers with a sort of wary eye given well the reputation of that being a slow moving buracracy with a lot of people who work extremely slow. (i have a friend, in LA and if your resume says boeing or northrop on it, they just throw it out....)

But yeah, find somehting you want to program on your own, and work on it. Like it'll keep your mind going if anything and eventually you can maybe get paid to do that fun thing (or well in my case, thats what i'm hoping..)
 

KIAman

Diamond Member
Mar 7, 2001
3,342
23
81
Wow, what is so hard about communicating your wants to your direct report? All the other responses here seem to indicate taking action on your own.

Trust me when I say the company has a stake in making you happy unless they suck balls. Show some assertiveness and you might be surprised at the outcome.
 

LokutusofBorg

Golden Member
Mar 20, 2001
1,065
0
76
Wow, what is so hard about communicating your wants to your direct report? All the other responses here seem to indicate taking action on your own.

Trust me when I say the company has a stake in making you happy unless they suck balls. Show some assertiveness and you might be surprised at the outcome.
This *really* depends on your management, and in many cases your ability to kiss ass. Some companies have a serious cog-in-the-machine mentality, and there's little that can be done to change that. Other companies are very free form, progressive management, and believe in employees as an asset. During a downturn even the cool companies can become not-so-cool. Sounds like the OP's company is going through some down-sizing, which puts a cramp on most freeform, invest-in-the-employee kind of stuff.
 
Sep 29, 2004
18,656
67
91
Tell your boss unless you know there is no code authoring opporunities?

Truthfully, you are on a money making path. Learn about management, etc.

And to be honest, coding gets boring afer 11 years in the industry. Very few people with 20 years expereince do coding. They are more management. And to be hoenst, I am getting sick of learning new technolgies.
 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
14
81
www.markbetz.net
Tell your boss unless you know there is no code authoring opporunities?

Truthfully, you are on a money making path. Learn about management, etc.

And to be honest, coding gets boring afer 11 years in the industry. Very few people with 20 years expereince do coding. They are more management. And to be hoenst, I am getting sick of learning new technolgies.

Yeah but management is boring right from the beginning.
 

wantedSpidy

Senior member
Nov 16, 2006
557
0
0
I can't believe people are talking about taking up C++. It takes 4-5 years to get to the point where you can write production grade code in C++. Not easy at all.

Pick one major language between C++ and Java, and MASTER it. I would recommend java because while there are plenty of 'java developers' out there, you'd be surprised how few are actually good at it. Not to mention the plethora of java API's, there's plenty of scope to distinguish yourself.

Its important that you do things for the sake of learning/getting better (which seems to be your case) vs. doing stuff just to get a new job.

As for management vs. developing. You'll find people for/against both sides. I personally am very confused myself on this issue, but I'm young so I have time :). From what I have gathered going from developer to program manager is much easier than the other way around. So you may want to work on your technical skills first and foremost.

If you're really 'serious' about computer science. I would say it would take you at least 6-8 months to become a good 'candidate'. Spend time learning discrete math first, then become a java guru, then do algorithms/data structures, then do Java API's, some SQL, and then you're good to go for a lot of jobs.
 

KIAman

Diamond Member
Mar 7, 2001
3,342
23
81
There is nothing intrinsically special about C++ that makes it any harder or easier than Java.

I do agree that there are a lot of Java programmers out there and few are good at it, that applies to all languages.

Also, there is no rule of thumb for what to learn for a specific developer job. Every job will have a different process, different language, different required skills. The best thing you can do is to become a fast study and learn how to adapt.
 

wantedSpidy

Senior member
Nov 16, 2006
557
0
0
There is nothing intrinsically special about C++ that makes it any harder or easier than Java.
I don't agree with this. C++ is MUCH harder language than Java. What I mean by that is, if you have a certain task you need to do (not trivial stuff) you're going to be able to write stable solid code in java to do it in much less time than in C++.

I do agree that there are a lot of Java programmers out there and few are good at it, that applies to all languages.
Agreed, but would it also be fair to say there are more Java programming jobs, than C++ specific ones?

Also, there is no rule of thumb for what to learn for a specific developer job. Every job will have a different process, different language, different required skills. The best thing you can do is to become a fast study and learn how to adapt.
This again, I agree with however to that I would add that a combination of maybe mastering Java, and learning memory management with some C/C++ exposure is the best way to prepare yourself.
 

hans007

Lifer
Feb 1, 2000
20,212
18
81
I don't agree with this. C++ is MUCH harder language than Java. What I mean by that is, if you have a certain task you need to do (not trivial stuff) you're going to be able to write stable solid code in java to do it in much less time than in C++.


Agreed, but would it also be fair to say there are more Java programming jobs, than C++ specific ones?


This again, I agree with however to that I would add that a combination of maybe mastering Java, and learning memory management with some C/C++ exposure is the best way to prepare yourself.

i wouldn't say it was MUCH harder. but it is still probably harder. C++ has a lot of wierder conventions, if anything most of the apis for it are not written in a particularly uniform way.

It also i'd say weirder to debug and you can run into wierd issues like compilers optimizing away code you intended to run a differnet way (something i found out when i first started writing multithreaded code). it also has a lot of odd conventions that you don't see in other languages like all the different #include / define / ifdef things , and preprocessor stuff.

i think the main thing is that you can screw up much more badly in ways that are harder to figure out. syntactically it is not really hugely worse.

i am a much better c++ programmer than java programmer at least as far as knowing APIs and such. but that said, if i was starting today i'd learn java first just because its use is more widespread and there are more positions in the job market for it it seems. i mean in reality its probably good to learn them both. get really really good at something and itll be good for you. they are both pretty expansive languages, i'd say you still have to specialize in the language on top of being decent at it. i mean i dont think anyone knows every single api call in java given all the j2ee,se,me and all the 3rd party frameworks and things like gui toolkits like swt, vs swing etc.

i think the one thing with C++, is that even though its not as popular now with all the interpreted languages and web stuff, at the core of everything is C/C++. so theres always going to be a need for it, just that most of the growth in software engineering has not been in c/C++. i'd like to think though that a great C++ programmer probably could learn any of the other languages easily. or well i am not what i'd call great, but i do it for a living and its a lot easier downshifting fromC++ to say ruby / java or php than the other way around.