The first part of your post is right on. If your job is head's down coding without any need for "face time" interaction with co-workers, then you're done for. If you don't lose your job to outsourcing, you'll lose it to generative programming.
Instead of going hopeless and just learning to live with less, reposition yourself so that "face time" is a critical part of what you do. Then your position won't be able to be outsourced. Chances are you won't be working for any CCM level 3 and above companies so I hope that you are comfortable with anarchy.
So I guess the term for Linux is "feature-rich" but the equivalent term for Windows is "bloated".
On the face of it. It would seem that your post deserves the heavily modded "insightfull" score that it has but my own experience runs counter to this conventional wisdom.
The family computer was running Windows 98. It was having a lot of stability and network problems so I upgraded it to Windows XP Home. That made it run so slow as to be virtually useless and its network was unreliability. I installed Knoppix 3.3 on it and never looked back. With Knoppix, the same computer runs much faster, is more stable, and has great network availability.
I find Knoppix to be more feature and application rich than Windows XP. It comes on a single CD and (once you install it on the HD) runs much faster than Windows XP.
i'm not sure how sun is making a ton of money off of java now
I have no more transparency into SUN than anyone else here so this is all speculation. IMHO, I think that they were thinking if they could get massive adoption of EJB entity beans, then their servers would be in a great position to compete against Microsoft. EJB entity beans work best on big boxen which gives the advantage to sun blades over intel servers. The market didn't bite, however, as realization grew that EJB entity beans do not easily cluster. Also, I.T. that need big boxen can go to I.B.M. which really is Sun's biggest competitor, not Microsoft.
It's an old story. Users want both scalability and performance. So, they cache objects to improve performance but they also want clustering to scale up to larger volumns.
This article is just speaking to that need for both. It's a hard road, by the way, as each node in the cluster must notify the other nodes when an object gets dirty. The hard part is doing that in a way that scales, is accurate, and without a prohibitive cost in message traffic.
I am a director for a small, niche ISV. I use a skillset test to guage how quickly someone new can be productive. What I find more important is the verbal questions that I give in the interview. I find out how long they have been in a certian technology then I ask questions to determine how deep they are in it. We pass on those that take a long time to learn a new technology.
Just what this world needs is another office productivity suite. Why do companies do this? What is the value proposition in attempting to mine this already thoroughly exhausted market? Are word processors something that developers just love to write code for? I don't get it. Will someone please provide me with a clue?
I like it. Here's another, less reverent, variation.
Get any book written in the early 90s on object oriented programming. The more academic, the better.
Write a complex system that makes heavy use of everything in that book. Absolutely everything.
Publish this as part of the instructions. Describe a fairly modest change as the objective of the competition.
State that the winner will be assigned based on as small and accurate a change as possible.
Accept submissions.
Bring each submitter in for in interview. Hook him or her up to a blood pressure monitor and say "Why did it take you so long to make such a modest change to such a well designed system?"
The contestant with the smallest increase in blood pressure wins.
Obviously, the art of negotiation is important. Don't be afraid to ask for more money if you feel that you are worth it. Worth, however, is a function of both supply and demand. You may be very talented but if you are looking for work in an area where there are a lot of very talented people looking for work, then you may not be able to command as high a salary.
More important is career development. Before taking a job, ask yourself this. Will this job look good on my resume a year from now? Is this job taking me in the direction that I want to go?
In my first post college graduation computer job, I was earning about half what I am earning today.
If you want to make a career out of always having the skill that's in demand, keep in mind that the only reason the skill is in demand is because it is rare--and you'll need to be quite clever at guessing the next fad
That's true. Isn't that the secret of success? You must learn to take opportunities before they become general knowledge. To a degree that means being able to predict the future.
When you choose what you want to learn, what investments you want to make, what company to work for, it is always with an eye to the future. Investing a lot of money, time, or mind into something that has no future is not a recipe for success.
Programmers are NOT to programs what builders are to buildings.
Programmers are to programs what ARCHITECTS are to buildings.
Builders are to buildings what COMPILERS AND MAKE UTILITIES are to programs.
I disagree. Builders are to buildings what programmers are to programs. Compilers and make utilities are to programs what drills and hammers are to buildings.
For both building and software construction, there is variation in how tight the specifications are. Sometimes the builders get to make a lot of decisions and sometimes they don't.
Elegance can mean different things to different people. If elegance is all about Fisher Price colors and icons, then Windows XP is your best bet. If you find getting work done efficiently, simply, and easily to be elegant, then consider using Linux.
I can't tell you how many times I feel the lack of elegance when I start some process that takes time on Windows (any flavor). It would be great if I could get up and walk away, having the computer elegantly complete the task while I do something else. What a great feeling it would be to see that the task was done upon my return. But no. Instead, I have to sit by the keyboard and wait for the seemingly endless procession of dialogs all with the same theme. Do you really want to do this? How about now? Are you still wanting to do this? I found another file and do you want to do the same thing to that one too? There I sit playing the "click the OK" game and wishing that Windows could grow up one day and learn to work without constant supervision.
How does an old UNIX coder/SysAdmin turned professional corporate cog get back into coding?
Your question isn't really about learning modern development tools/techniques/languages is it? If you have earned the CS degree that you claim you have, then you would have no problem learning the new stuff. It's all the same fundamental principals but with new and highly marketable buzzwords. It's like riding a bicycle.
I think that you are going through a mid-life crisis and are questioning some of the decisions that you made along the way.
Only you can answer those kind of questions. Although, it could be benefitial to hire a therapist if this really is what you are going through. A cheaper way would be to get drunk with a good buddy (if you're male) or have a heart to heart talk with your best friend (if you're female). Either way, you're looking for a sympathetic listener that you can <male>bounce stuff off of</male><female>express and explore your feelings with</female>.
Perhaps you're just asking how to find the time to brush up on the new technology. Okay, that's a time management issue. If you don't have time outside of work and can't figure out how to sneek it in during work, then quit your job. Live on your savings for a while until you can get up to speed and get a new job as an entry level developer. Yes, you're going to take a big cut in pay, aren't you? Say, maybe that corporate swine job isn't so bad after all? How many years until retirement?
If you are panicing because you think you're about to get the ax and you haven't done anything to improve your resume since the invention of the mouse, then it's time to start getting some certifications under your belt. Make time for it now while you are still on someone's payroll.
Sidenote to the young who are reading this. It's too late for this sucker but let it be a lesson to you. Before you accept the promotion, consider this. Are you going to be able to live with yourself 10 years down the line? Remember, it is hard to do any serious introspection when they are waving an obnoxious amount of money in front of you.
They give you a nice little breakfast buffet at a nearby resort, and tell you that they'll only take 90 minutes of your time, and there's no obligation.
All you got was breakfast? You charge a pretty cheap rate. My wife and I endured the timeshare presentation only once but for a $200 discount off of some tickets.
There are already some visual programming IDE's that are supposed to work at this gross chunked (fit them together like pipes) component level. I've noticed that they cluster around the B2B integration tool space.
Here are some examples. M$FT uses their acquired Visio engine in their biztalk server to model dataflow. BEA Systems does something very similar in their Weblogic Workshop IDE. Go to page 8 in this white paper of theirs.
Is this true programming? IMHO, its as much programming as writing a shell script.
Do you get get paid for posting on slashdot?
What you get with yahoo is POP access. So, I can download the email into my favorite client where I also have search capability and privacy.
The first part of your post is right on. If your job is head's down coding without any need for "face time" interaction with co-workers, then you're done for. If you don't lose your job to outsourcing, you'll lose it to generative programming.
Instead of going hopeless and just learning to live with less, reposition yourself so that "face time" is a critical part of what you do. Then your position won't be able to be outsourced. Chances are you won't be working for any CCM level 3 and above companies so I hope that you are comfortable with anarchy.
On the face of it. It would seem that your post deserves the heavily modded "insightfull" score that it has but my own experience runs counter to this conventional wisdom.
The family computer was running Windows 98. It was having a lot of stability and network problems so I upgraded it to Windows XP Home. That made it run so slow as to be virtually useless and its network was unreliability. I installed Knoppix 3.3 on it and never looked back. With Knoppix, the same computer runs much faster, is more stable, and has great network availability.
I find Knoppix to be more feature and application rich than Windows XP. It comes on a single CD and (once you install it on the HD) runs much faster than Windows XP.
I have no more transparency into SUN than anyone else here so this is all speculation. IMHO, I think that they were thinking if they could get massive adoption of EJB entity beans, then their servers would be in a great position to compete against Microsoft. EJB entity beans work best on big boxen which gives the advantage to sun blades over intel servers. The market didn't bite, however, as realization grew that EJB entity beans do not easily cluster. Also, I.T. that need big boxen can go to I.B.M. which really is Sun's biggest competitor, not Microsoft.
It's an old story. Users want both scalability and performance. So, they cache objects to improve performance but they also want clustering to scale up to larger volumns.
This article is just speaking to that need for both. It's a hard road, by the way, as each node in the cluster must notify the other nodes when an object gets dirty. The hard part is doing that in a way that scales, is accurate, and without a prohibitive cost in message traffic.
I am a director for a small, niche ISV. I use a skillset test to guage how quickly someone new can be productive. What I find more important is the verbal questions that I give in the interview. I find out how long they have been in a certian technology then I ask questions to determine how deep they are in it. We pass on those that take a long time to learn a new technology.
Just what this world needs is another office productivity suite. Why do companies do this? What is the value proposition in attempting to mine this already thoroughly exhausted market? Are word processors something that developers just love to write code for? I don't get it. Will someone please provide me with a clue?
Actually, you should use the File.separator and File.pathSeparator fields for that.
You can't visually design a professional GUI with Visual Studio either.
Only two posts and it's already slashdotted.
I like it. Here's another, less reverent, variation.
Here, here. If I had any mod points right now you would be getting a +1 INSIGHTFULL right about now.
Obviously, the art of negotiation is important. Don't be afraid to ask for more money if you feel that you are worth it. Worth, however, is a function of both supply and demand. You may be very talented but if you are looking for work in an area where there are a lot of very talented people looking for work, then you may not be able to command as high a salary.
More important is career development. Before taking a job, ask yourself this. Will this job look good on my resume a year from now? Is this job taking me in the direction that I want to go?
In my first post college graduation computer job, I was earning about half what I am earning today.
That's true. Isn't that the secret of success? You must learn to take opportunities before they become general knowledge. To a degree that means being able to predict the future.
When you choose what you want to learn, what investments you want to make, what company to work for, it is always with an eye to the future. Investing a lot of money, time, or mind into something that has no future is not a recipe for success.
You joke but this has already been done.
Programmers are NOT to programs what builders are to buildings.
Programmers are to programs what ARCHITECTS are to buildings.
Builders are to buildings what COMPILERS AND MAKE UTILITIES are to programs.
I disagree. Builders are to buildings what programmers are to programs. Compilers and make utilities are to programs what drills and hammers are to buildings.
For both building and software construction, there is variation in how tight the specifications are. Sometimes the builders get to make a lot of decisions and sometimes they don't.
Elegance can mean different things to different people. If elegance is all about Fisher Price colors and icons, then Windows XP is your best bet. If you find getting work done efficiently, simply, and easily to be elegant, then consider using Linux.
I can't tell you how many times I feel the lack of elegance when I start some process that takes time on Windows (any flavor). It would be great if I could get up and walk away, having the computer elegantly complete the task while I do something else. What a great feeling it would be to see that the task was done upon my return. But no. Instead, I have to sit by the keyboard and wait for the seemingly endless procession of dialogs all with the same theme. Do you really want to do this? How about now? Are you still wanting to do this? I found another file and do you want to do the same thing to that one too? There I sit playing the "click the OK" game and wishing that Windows could grow up one day and learn to work without constant supervision.
My buzzword alarm went off on "paradigm shift" too. Next thing you know, this will be the "de facto standard."
They already did that themselves.
Your question isn't really about learning modern development tools/techniques/languages is it? If you have earned the CS degree that you claim you have, then you would have no problem learning the new stuff. It's all the same fundamental principals but with new and highly marketable buzzwords. It's like riding a bicycle.
I think that you are going through a mid-life crisis and are questioning some of the decisions that you made along the way.
Only you can answer those kind of questions. Although, it could be benefitial to hire a therapist if this really is what you are going through. A cheaper way would be to get drunk with a good buddy (if you're male) or have a heart to heart talk with your best friend (if you're female). Either way, you're looking for a sympathetic listener that you can <male>bounce stuff off of</male><female>express and explore your feelings with</female>.
Perhaps you're just asking how to find the time to brush up on the new technology. Okay, that's a time management issue. If you don't have time outside of work and can't figure out how to sneek it in during work, then quit your job. Live on your savings for a while until you can get up to speed and get a new job as an entry level developer. Yes, you're going to take a big cut in pay, aren't you? Say, maybe that corporate swine job isn't so bad after all? How many years until retirement?
If you are panicing because you think you're about to get the ax and you haven't done anything to improve your resume since the invention of the mouse, then it's time to start getting some certifications under your belt. Make time for it now while you are still on someone's payroll.
Sidenote to the young who are reading this. It's too late for this sucker but let it be a lesson to you. Before you accept the promotion, consider this. Are you going to be able to live with yourself 10 years down the line? Remember, it is hard to do any serious introspection when they are waving an obnoxious amount of money in front of you.
All you got was breakfast? You charge a pretty cheap rate. My wife and I endured the timeshare presentation only once but for a $200 discount off of some tickets.
Yes, we passed on the once-in-a-lifetime offer.
I did alternatively intonated woodwind instruments using a Java applet I wrote called WINDS (Woodwind Instrument Notes Designer System).
A great resource for those who are interested in inventing or creating experimental musical instruments is Experimental Musical Instruments.
I believe that Micro Focus makes COBOL environments for either client/server or .NET and Acucorp also makes a PC based COBOL environment.
There are already some visual programming IDE's that are supposed to work at this gross chunked (fit them together like pipes) component level. I've noticed that they cluster around the B2B integration tool space.
Here are some examples. M$FT uses their acquired Visio engine in their biztalk server to model dataflow. BEA Systems does something very similar in their Weblogic Workshop IDE. Go to page 8 in this white paper of theirs.
Is this true programming? IMHO, its as much programming as writing a shell script.