June 5, 2008 at 8:40 pm
Sort of related...
When I was an electrical engineering major, I asked, "Why does it work that way?" I was specifically referring to getting complex numbers when doing circuit analysis. I was told, "It just does." So I re-asked the question, "But why?" To which I got the reply, "Folks who want to know why are physicists. They're on the 2nd floor." Little did he know I was dual majoring in physics. But that was the last day I considered myself an EE major. Later, when I switched my second major from EE to mathematics, my mathematics advisor said something to the effect of, "Ultimately, engineering boils down to physics. But physics boils down to mathematics. The best physicists are excellent mathematicians. You master the mathematics and everything will come easy after that."
Andy is right that before we could do through a true certification process, we have to agree on what our fundamentals are. This is true regardless of what aspect of computing and information technology we're talking about. We're still too busy arguing over how to write out numbers (languages, platforms, preferred apps... butif you've ever taken a graphics communication class, you know what I mean about the numbers) to argue over methods and procedures.
K. Brian Kelley
@kbriankelley
June 6, 2008 at 4:40 am
With regard to the IT profession in the UK, the question whether we engage in "software engineering" can be left moot.
Established professional bodies are given the power to confer Chartered status according to their own rules – the right to grant and to use the title has legal standing, but the standards are not subject to government regulation. This presumably descends from the Guild system for guarding knowledge and maintaining an elite - which has good and bad points. Some professions are so established that jobs are advertised requiring that you hold the relevant status - Steve has mentioned comparisons with medics and lawyers as well as engineers (and every now and then someone points out that the job title "network architect" may infringe the legal usage of the title "Architect"). But what looks to one person like a solid tradition of upholding professional standards can look to another like an exclusive Old Boys' network with a stranglehold on the profession.
The British Computer Society (BCS) confers "Chartered IT Practitioner" (CITP), and more generally works to (amongst other things) promote professional standards in IT, so that employers and society as a whole can expect members and chartered members to adhere to professional ethics and be committed to personal professional development, as well as have the qualifications (not necessarily degrees) and skills appropriate for working in IT. It appears to be growing and building a presence, gradually.
The difference from other professions is that IT is relatively new, and has grown, changes and develops so fast that knowledge and experience with current applications is worth at least as much as a broad range of higher-level skills and experience. So not having Chartered status is no bar to succeeding in the IT world.
Depending on their particular field and experience, a CITP may also qualify as a "Chartered Engineer", or a "Chartered Scientist". But this will be under the rules of the separate professional bodies that award those titles.
June 6, 2008 at 8:14 am
If the customer says make the bridge 2 lanes, then that is what they will build.
It is our job to know more than the customer about what they need.
Maybe that's the difference between and Engineer (in the professional accredited sense) and a technician. I need to look at the proposal, understand the likely ramifications, and make recommendations to get the customer what they need, instead of what they ask for.
My favorite example is the project with a massive spec to write an analysis tool to optimize pilot and aircraft utilization. The project was scheduled for one Project Manager, one Business Analyst, several programmers, and a DBA all working together to figure out how to do this. What the end-user really needed was a report showing who would be spending the night within 100 miles of a selected airport and what they could fly. The end-user (and everyone in the department) had the expertise to do the analysis. They didn't have the information.
Again, it is our job to know that the 2 lane bridge will not be sufficient, and to tell the customer that. If they still want a 2 lane bridge, then that's what they get, but they get it knowing our recommendation is for something more.
June 6, 2008 at 8:25 am
K. Brian Kelley (6/5/2008)
Sort of related...When I was an electrical engineering major, I asked, "Why does it work that way?" I was specifically referring to getting complex numbers when doing circuit analysis. I was told, "It just does." So I re-asked the question, "But why?" To which I got the reply, "Folks who want to know why are physicists. They're on the 2nd floor." Little did he know I was dual majoring in physics. But that was the last day I considered myself an EE major. Later, when I switched my second major from EE to mathematics, my mathematics advisor said something to the effect of, "Ultimately, engineering boils down to physics. But physics boils down to mathematics. The best physicists are excellent mathematicians. You master the mathematics and everything will come easy after that."
I know EXACTLY what you mean! I had a similar experiance (before dropping-out to join the military and starting a real life) of taking an engineering statics and dynamics course, engineering physics, and a differential equations course, all in the same semester (it wasn't easy, but I did get an A in each). The difficult part was I wound up working the same problems in all three classes and had to take a totally different approach to the final resolution in each class. However, the main thing I took away from experiance was "To how many decimal places. . ." question. The engineer works in rough approximations and two to four decimal places is always adequate (this was back in the early 70's and I was still using a slide rule -- the precursor to the calculator, which had extemely limted precision). The physicist always needed 8 to 12 decimal places and the pure mathematician required solutions to the umpteenth decimal place.
This analogy strikes me as being appropriate in the software world in categorizing merely competent, from the highly competent, and the guru. However, it is likely that the guru working toward filling that umpteenth decimal place will have a sadly lacking proficiency rating in getting work done on time and under budget and therefore most strive toward the middle compentency rating. It is the true guru who learns to use the tools to deliver the umpteenth decimal place in the least amount time that we should all be working towards.:P
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." -- Martin Fowler
June 6, 2008 at 8:42 am
Well, I'm definitely not a physicist. I took some Modern Physics, starting with relativity and moving forward from there, and was lost. We had some questions on the final exam that I never really understood, but I could do the math, so when things equaled out, I stopped and turned those answers in.
Got a "B", probably understanding about 1/2 the material.
Good thing I'm not building rockets :w00t:
June 6, 2008 at 9:02 am
Rockets are easy. Just make sure Thrust > Mass. The rest is steering.
June 6, 2008 at 9:24 am
Lux (6/6/2008)
Rockets are easy. Just make sure Thrust > Mass. The rest is steering.
"Once ze rockets go up, who cares where zey come down? That's not my department, says Werner von Braun." - Tom Lehrer
Actually, it's all about specific impulse > (mass, gravity, friction of medium). (Okay, as usual when I'm not firing on all cylinders yet in the morning, I'm taking this one beyond where it needs to go.)
- Gus "GSquared", RSVP, OODA, MAP, NMVP, FAQ, SAT, SQL, DNA, RNA, UOI, IOU, AM, PM, AD, BC, BCE, USA, UN, CF, ROFL, LOL, ETC
Property of The Thread
"Nobody knows the age of the human race, but everyone agrees it's old enough to know better." - Anon
June 6, 2008 at 10:52 am
Lux (6/6/2008)
Rockets are easy. Just make sure Thrust > Mass. The rest is steering.
What happens on the way down? I think I'm glad you're not building them either, are you :w00t:
June 6, 2008 at 11:26 am
Not that I'll admit publicly.
June 6, 2008 at 11:40 am
I just want to add . . .
If you are given a solution and told to write code to implement it, you are just a programmer. If, on the other hand, you are given a problem and have to do the analysis to refine it, interview the users and determine their preferences, determine alternate approaches and costs, document a plan of what is needed to arrive at the best cost efective solution, and possibly implement the it; you are a software engineer! -- don't let anyone tell you otherwise!
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." -- Martin Fowler
June 6, 2008 at 12:27 pm
So looks to me we have just about one to one ratio between unique posters and unique (or at minimum _substantially different_ )definitions of what constitutes either a "software engineer" or "software engineering".
now I'll start engineering that oil change for my car I've been putting off...
June 6, 2008 at 1:11 pm
GSquared (6/5/2008)
kenambrose (6/5/2008)
Personally I think it is simply a self-serving fraud for software developers to call themselves engineers.There is neither the scientific basis for the analysis, design, construction, and testing processes in software development, nor the rigourous management of the practitioners (training, licensing, etc.) to warrant such a lofty title.
The widespread level of incompetence, ignorance of the few basic, well founded, theoretical principles we do have available for software development practice, and the lack of rigourous training and "certification" for the overwhelming majority of practitioners, makes it laughable to me to hear the term "software engineer".
"engineer": noun 1 a person qualified in engineering. 2 a person who maintains or controls an engine or machine. 3 a person who skilfully originates something. (Oxford Dictionaries, per AskOxford.com)
"engineering": noun the branch of science and technology concerned with the design, building, and use of engines, machines, and structures. (ibid)
"machine": noun: any mechanical or electrical device that transmits or modifies energy to perform or assist in the performance of human tasks (onelook.com); complex system: a complex system structured so as to accomplish a particular goal (Encarta Online Dictionary)
"engine": noun: something used to achieve a purpose (onelook.com)
Thus, actually knowing what the words actually mean, I find your post just as laughable as you find my pretentions. 🙂
First, "engineer" is not a lofty title. If you think it is, check a dictionary. It isn't. It's a functional title that describes the general function of working with engines (it's a derivation thing), and machines.
And before you think all engineering is some rigorous study, please understand that the guy who changes the oil in your car is technically an "engineer", in both the original sense and by dictionary definition.
And before you think that all software design is bereft of rigorous study, methodology, standards, predictability, and the rigors of a mathematical and scientific discipline, I recommend just trying to read almost any ANSI standards document. The ones for SQL would be pertinent to this page, but most any of them will do.
Yes, a lot of software engineers are sloppy about their work. Very true. But it's also true that you should get a good inspection of the house you want to buy, because the engineers who designed and planned it, and the technicians who built it and wired and plumbed it, might have been seriously incompetent.
You said it! Of course we software developers are engineers and I think their should be associations for us and to make sure that we do our jobs right. The engineers in South Africa as in the rest of the world I suppose, have to give proof of the continuous development they do on themselves. Likewise should the software engineers do. When an engineer builds a bridge that collapse (and that happens) he/she gets investigated and if necessary scraped from the engineering role and they may never practise engineering without the supervision of a qualified professional engineer again. We also have to keep our standards of development high so we will not have BAD developers that create systems that causes loss to a client
:-PManie Verster
Developer
Johannesburg
South Africa
I can do all things through Christ who strengthens me. - Holy Bible
I am a man of fixed and unbending principles, the first of which is to be flexible at all times. - Everett Mckinley Dirkson (Well, I am trying. - Manie Verster)
June 6, 2008 at 1:46 pm
I am reminded of somethign I first saw on greenbar from the 1970's.
If builders built buildings the way programmers wrote programs, the first woodpecker to come along would destroy civilization.
I think this is still largely true. But I don't think a builder's ever been asked to build a building that help other builders build other buildings and would optimize itself for every new type of building possible. 😛
Lux
June 6, 2008 at 3:10 pm
Lux (6/6/2008)
I am reminded of somethign I first saw on greenbar from the 1970's.If builders built buildings the way programmers wrote programs, the first woodpecker to come along would destroy civilization.
I think this is still largely true. But I don't think a builder's ever been asked to build a building that help other builders build other buildings and would optimize itself for every new type of building possible. 😛
Lux
When I started progemming we developed a system with MSSQL 7, MSAccess (.adp) and Visual Basic for applications we had hardly sorted out all the bugs whe the system was running in the clients offices and we had to start rewriting the same system again on another platform because technology is moving so fast. Our system is now webbased, we have a SQL Server 2005 database and the logic tier is done in Frontpage with VBScript and Java Script. This system is still running but now we are researching new platforms. It took us 2 years to develop the new system which is now already old again? Might I say that this system is big and can do various different companies' requirements. Technology is like time. It never stops and that's why I think it is so important that we as developers must do continuous development.
:-PManie Verster
Developer
Johannesburg
South Africa
I can do all things through Christ who strengthens me. - Holy Bible
I am a man of fixed and unbending principles, the first of which is to be flexible at all times. - Everett Mckinley Dirkson (Well, I am trying. - Manie Verster)
Viewing 14 posts - 16 through 28 (of 28 total)
You must be logged in to reply to this topic. Login to reply