Great points about programming. Any good programmer can maintain well commented code, even if it's in a language that they are not familiar with. (not to discount times when depth of knowledge in the body of class libraries is important). Knowing where and how to look for the right questions to answer is a much more difficult skill to master, and harder to fill when it comes time to hire a programmer.
Most importantly, what makes a good programmer is someone who knows when there are questions bigger than "what flavor of gas to fill up the car with" so to speak. Many, many, many customers will get much more value from IT professionals who can first ascertain whether it's a data problem, business process problem, or a problem that can be solved by writing code. As a good software engineer (and occassional PHB), it's what I look for whenever I hire someone.
Let's not forget to collect all of the relevant constraints to the problem first. If there's an obvious solution to be found by utilizing a combination of environments and tools, by all means, that should be explored first (ie. some new stored procedures in the database, enhanced data validation in the user interface level, more relevant data capture in the business process, and a bit of additional analysis via a piece of specialized code), before one has the luxury of selecting from the available languages and tools, and deciding whether performance, maintenance, extensibility, interapplication communication and integration make any draws toward one choice over another.
So many users, PHB's and customers do not understand why IT folks spend so much time worrying about the color of the windows on the caboose, when all they care about is whether it's the right train to get on to get where they want to go! A good software professional solves the users' problems within the constraints of the environment, and when it makes sense, chooses one, two or five tools and languages, depending on what's appropriate.
Two parts -couldn't resist. First, where does IBM see Linux fitting in the 'network computing' push by some of the big boyz out there (MS, Sun, Oracle)? Does it allow companies like your's who's focus appears to be on delivering consistent services and data at any scale do so better and more predictably (i.e. it's an active and enabling participant in the network computing world)?
Does it offer instead a means to guarantee decentralized control and help foster effective competition in the distribution of software and data services, and as such is either an alternative to or a barrier against the network computing model as proposed by things like.NET?
Second, what does IBM see as the result of more extensive Open Source and open standards in the industry? Will it encourage more decentralization and competition in the supply of services and product, allowing companies to focus on providing value-add instead of reinventing the software wheel? Does it assist or hurt the 'average' corporation in getting more trusted, secure, stable and useful product and services?
Vote! The US is after all a representative democracy, and while not perfect, the concept has worked well enough for us to be the model for so many new governments. If you don't vote, your voice is not REPRESENTED in the leadership, and we'll end up with skewed representation. It doesn't matter if your favorite (esp. third party) candidate loses the election if the issues that they voice most strongly get adopted by the winner. That's what is supposed to happen with our system. It's why Delaware has as big of a voice in the Senate as California. A vote not cast is a voice not heard. Getting the issues addressed starts at the local level and trickles up to the federal executive. If you avoid the polls, then your school district suffers, your state initiatives suffer, your voice in the legislatures and congress is not heard. Voting in local elections gives you the best chance of helping someone get elected who you might actually get to know well enough to influence with your opinion.
(Leaving the soap box now...)
I believe that not only MS$, but Sun, IBM and anyone who's focus is on marketshare $, is ehading in this direction. Apparently, bandwidth and the ability to distribute advanced code at 0 cost was all the 'big boyz' needed to try and return us to the centralized cerver world. Why? Control of the dollars and information. How to fight it? Don't buy non-open source tools, encrypted data players, or store your files on someone else's hardware. Do - support open software development efforts, teach and lend support to anyone trying to learn the basics, and choose your file formats carefully. Otherwise, we all get what we've chosen, despite our whining!
Great points about programming. Any good programmer can maintain well commented code, even if it's in a language that they are not familiar with. (not to discount times when depth of knowledge in the body of class libraries is important). Knowing where and how to look for the right questions to answer is a much more difficult skill to master, and harder to fill when it comes time to hire a programmer.
Most importantly, what makes a good programmer is someone who knows when there are questions bigger than "what flavor of gas to fill up the car with" so to speak. Many, many, many customers will get much more value from IT professionals who can first ascertain whether it's a data problem, business process problem, or a problem that can be solved by writing code. As a good software engineer (and occassional PHB), it's what I look for whenever I hire someone.
Let's not forget to collect all of the relevant constraints to the problem first. If there's an obvious solution to be found by utilizing a combination of environments and tools, by all means, that should be explored first (ie. some new stored procedures in the database, enhanced data validation in the user interface level, more relevant data capture in the business process, and a bit of additional analysis via a piece of specialized code), before one has the luxury of selecting from the available languages and tools, and deciding whether performance, maintenance, extensibility, interapplication communication and integration make any draws toward one choice over another.
So many users, PHB's and customers do not understand why IT folks spend so much time worrying about the color of the windows on the caboose, when all they care about is whether it's the right train to get on to get where they want to go! A good software professional solves the users' problems within the constraints of the environment, and when it makes sense, chooses one, two or five tools and languages, depending on what's appropriate.
Does it offer instead a means to guarantee decentralized control and help foster effective competition in the distribution of software and data services, and as such is either an alternative to or a barrier against the network computing model as proposed by things like .NET?
Second, what does IBM see as the result of more extensive Open Source and open standards in the industry? Will it encourage more decentralization and competition in the supply of services and product, allowing companies to focus on providing value-add instead of reinventing the software wheel? Does it assist or hurt the 'average' corporation in getting more trusted, secure, stable and useful product and services?
Thanks in advance.
Vote! The US is after all a representative democracy, and while not perfect, the concept has worked well enough for us to be the model for so many new governments. If you don't vote, your voice is not REPRESENTED in the leadership, and we'll end up with skewed representation. It doesn't matter if your favorite (esp. third party) candidate loses the election if the issues that they voice most strongly get adopted by the winner. That's what is supposed to happen with our system. It's why Delaware has as big of a voice in the Senate as California. A vote not cast is a voice not heard. Getting the issues addressed starts at the local level and trickles up to the federal executive. If you avoid the polls, then your school district suffers, your state initiatives suffer, your voice in the legislatures and congress is not heard. Voting in local elections gives you the best chance of helping someone get elected who you might actually get to know well enough to influence with your opinion. (Leaving the soap box now...)
I believe that not only MS$, but Sun, IBM and anyone who's focus is on marketshare $, is ehading in this direction. Apparently, bandwidth and the ability to distribute advanced code at 0 cost was all the 'big boyz' needed to try and return us to the centralized cerver world. Why? Control of the dollars and information. How to fight it? Don't buy non-open source tools, encrypted data players, or store your files on someone else's hardware. Do - support open software development efforts, teach and lend support to anyone trying to learn the basics, and choose your file formats carefully. Otherwise, we all get what we've chosen, despite our whining!