Forgot your password?
typodupeerror

Comment Definitely Scala (Score 1) 897

If you've got Java and C++, presuming you're fully using the power of these languages, then you should move to Scala. Not to slam any language but in terms of experience if you've only programmed in PHP you'll find Scala "complex". A Java programmer will find Scala complex at first and absolutely wonderful as it soaks in. A C++ programmer already has enough grasp of language subtleties that Scala will not be a problem.

My take on it is it is a sophisticated tool for sophisticated applications, having levels of richness and expressiveness that I haven't experienced in years... got the same feeling as when I moved from C++ to Java when it was new.

I've been using it for about 6 months having written 1000s of lines of code now. Absolutely loving it--and even though I was happy working in Java, I wouldn't go back. (The longer I use Scala the madder I get at Java--why aren't some of the low-hanging language features in Java by now? For Java7 they're talking about strings in switch statements and I'm supposed to be impressed, like they're doing me some great favor?)

Scala-to-Java interoperability is fine... not quite as seamless as the glossy brochure leads you to believe but not at all bad. I've written EJB web apps in a mix of Scala and Java, utilizing a number of 3rd party libraries in both languages. No issues. Actually the only issue I had was with Scala's actors I was trying to use in an EJB. Since actors are basically fancy threads and you're not supposed to create threads in an EJB, I got the trouble I deserved. Actors outside the EJB container work great.

It's a risk--few enterprises are aware of, or ready for, Scala (or other "alternate" languages for that matter), but think about it and it seems inevitable that Scala will capture some enterprise share due to its Java interoperability and strong typing (I love loosely typed script languages too, but I wouldn't want a 50K-line enterprise app done in one).

Comment This is a tipping point in your carreer (Score 1) 541

Congratulations, you're on your way up a different ladder. As an architect you're arguably at the "top" of the technical ladder (and pay scale). Your first management job is an entry into a whole new ladder--if you want it. Be very aware though--this is a different job. I made the jump several years back much as you described and am now a global VP.

The biggest change is that you no longer do the work as an individual contributor. You manage those who do. Sounds simple, right? Biggest problem is that unless you let your tech skills get rusty (NEVER let this happen!) you can probably do many of your guys' jobs better/faster than they can because of your experience. Don't give in to the temptation do to the work yourself. That's no longer your job. You don't get graded or bonused on how well you write code. Now you get graded on how well your team performs as a unit. I can't tell you how frustrating it will be the first time you catch heat for a project in trouble that you just *know* would have been fine if you had been writing code yourself. Don't take it personally--its not a personal attack. Explain your action plan and how you've allocated your resources based on the management team's communicated priorities. Sometimes all you can do is all you can do. Sometimes, on rare occasions, even PHB's are reasonable people if you explain yourself.

You'll have to get used to communicating messages to/from senior management who doesn't know anything about technology, and frequently has zero patience for it. You'll get exposed to different decision logic that now you'll have a growing input to influence rather than just have things land on your head. Largely this is a matter of higher perspective. You'll now be more concerned about a broader scope than just a single project and may choose to make resourcing and priority decisions that won't make sense if you were a non-management coder focused on a particular task.

Here's why its 100% critical you always stay sharp technically:

First there are a lot of non-tech managers who like to poke their ignorant noses into technical matters (not to mention vendors, etc.). Staying sharp means you will always speak with calm authority and never doubt yourself when speaking to your area of strength. In other words you can't be BS'ed. Secondly your team will respect you. You need to build respect like money in the bank for a day you might need to make a withdrawal. Your team needs to know you represent their interests when you meet with your management brethren. Win some battles for them--you'll need the political capital. On those occasions when your job is to deliver a difficult message down the tree your team will at least know you aren't vacantly parroting a message somebody read in Infoworld. They will at least know you understand the implications of what you're saying.

There are plenty of good courses, seminars, and certificate programs you can plug into at universities and colleges in your area in their school of management. I'd pass on the books-de-jour. They'll just preach some 12-step program to overnight success that everyone will see as plastic and methodological. Be yourself!

Give your new career some time. Junior level managers are basically the coffee-getters of senior management just like entry level programmers and get the crap jobs as any newbies would. Stick with it, gain respect, be a team player without being partisan and you'll find your influence and voice growing.

If after a while this isn't your cup of tea there's no shame in re-entering the tech world as an architect.

Good luck!

Slashdot Top Deals

MAC user's dynamic debugging list evaluator? Never heard of that.

Working...