Tecnologia da informação é realmente engenharia? [fechadas]

13

Enquanto viajava, conheci um matemático que estava sentado perto de mim. Em uma discussão, ele disse: "... não há nada como engenharia em TI ou melhor, programação ". Uma verdadeira engenharia é o que é a arquitetura, o que é elétrico e mecânico.

Isso me fez pensar e fiquei confusa. Uma porcentagem do meu cérebro concordou também porque, no exército indiano, não há nenhum assunto como Engenharia de Computação no Corpo de Engenharia. Eles não consideram a programação como engenharia. Foi o que ouvi alguns anos atrás, não sei o que o Exército Indiano pensa agora.

Quais são seus pontos de vista?

RPK
fonte
5
Minha opinião: Ele é apenas ciumento que você é pago mais: P
Simon
4
Na minha opinião arquitetura não é engenharia
hiena
@hiena - na verdade, juridicamente, são profissões diferentes, e a lei (dependendo da sua jurisdição) legisla o que é arquitetura e o que é engenharia.
Scott Whitlock

Respostas:

17

Se seguirmos essa descrição , somos 75% engenheiros ou 75% de nós são engenheiros :)

Ao contrário de outras disciplinas de engenharia:

  • desenvolvedores de software não precisam de educação formal e / ou licenças
  • é uma disciplina relativamente jovem e não tem práticas recomendadas comprovadas (como construção, por exemplo)

Eu acho que isso vai mudar no futuro. Um dia seremos 100% engenheiros.


Engenheiro

fonte: http://en.wikipedia.org/wiki/Engineer

Um engenheiro é um profissional profissional de engenharia, preocupado com a aplicação de conhecimento científico, matemática e engenhosidade para desenvolver soluções para problemas técnicos.

A palavra engenheiro é derivada da raiz latina ingenium, que significa "esperteza".

Ocupação

  • Engenheiro de Nomes
  • Tipo Profissão
  • Setores de atividade Ciências aplicadas

Descrição

  • Competências Matemática, conhecimento científico, habilidades gerenciais
  • Formação exigida Formação em engenharia
  • Áreas de emprego Pesquisa e desenvolvimento, indústria, negócios
  • Trabalhos relacionados Cientista, arquiteto, gerente de projetos
Branimir
fonte
15

Engenharia de software é engenharia, mas TI ou programação não. É como a engenharia mecânica é a engenharia e a física ou a soldagem não.

A engenharia de software é um campo incrivelmente jovem (em comparação com outros ramos da engenharia), o que é realmente difícil de ensinar às pessoas, porque não há muita experiência para ensinar. Somente nos últimos 20 a 25 anos o software se tornou tão grande e complexo que a mera programação não funciona.

Devido a essa falta de conhecimento estabelecido, a engenharia de software real raramente é ensinada. A única maneira de se tornar um engenheiro de software decente é seguir o caminho de um artesão: ser orientado em campo. Portanto, embora a engenharia de software seja uma disciplina existente, muito poucos estão realmente nesse campo. A maioria das pessoas faz ajustes ou excesso de engenharia de software.

back2dos
fonte
Você quer dizer que a engenharia de software não inclui programação?
RPK
1
@RPK: difícil dizer, já que sou mais um desenvolvedor de software :) Mas basicamente acho que a programação é para engenharia de software o que é construção para engenharia civil. O primeiro termina no caos sem o segundo e o segundo não faz sentido sem o primeiro, mas os dois são relativamente distintos.
back2dos
@ back2dos: eu tenderia a concordar. No entanto, acho que os engenheiros de software quase precisam saber como codificar, enquanto os engenheiros civis não precisam necessariamente saber como soldar.
Michael K
1
Diga a um engenheiro de material ou metalúrgica que a soldagem não é Engenharia e ele vai soldar a boca fechada :)
Vitor Py
@Vitor Braga: Qual é o seu ponto? Eu realmente esperaria que um bom engenheiro entendesse a diferença entre engenharia e um ofício. E também me pergunto quantos engenheiros metalúrgicos realmente soldam em seu trabalho.
back2dos
14

Engenheiros de software em uma empresa de engenharia são engenheiros. Estou falando de lugares como prestadores de serviços de defesa, fabricantes de equipamentos, etc. Seguimos processos rigorosos para: criar requisitos e documentação do projeto, fazer análises detalhadas de que o projeto atenderá aos requisitos antes que qualquer código seja escrito, executando revisões e testes de unidade, planejamento e executando testes de integração e qualificação. Os documentos são revisados ​​por conselhos de pares e partes interessadas, os testes são testemunhados pela organização de controle de qualidade e os resultados apresentados ao cliente para aceitação formal. A engenharia de software praticada nesses locais é um processo científico rigoroso.

AShelly
fonte
1
100% concordaram. Eu trabalho em uma empresa de infraestrutura crítica. Nós projetamos aqui.
Paul Nathan
8

Como um P.Eng real, eu diria, em geral, não. No entanto, acho que programadores e engenheiros desenvolvem um design significativo . Se a pergunta era: "Os programadores são designers?" Eu definitivamente diria que sim.

A Engenharia profissional, no entanto, tem a ver com ser legalmente responsável por seus erros ou, pelo menos, arriscar o direito legal de praticar sua profissão se você cometer um erro. Não importa o quão ruim você seja um programador, você pode sair amanhã e colocar legalmente "programador" em seu currículo. Com um P.Eng. se você perder sua licença, não poderá se chamar P.Eng.

A Engenharia profissional é criada para ser uma profissão auto-reguladora, onde a profissão e o governo concordam em determinadas tarefas que só podem ser executadas por indivíduos licenciados. Eles fazem isso devido ao entendimento mútuo de que o trabalho representa um risco significativo para a segurança do público.

Existem certos dispositivos controlados por software que devem ser carimbados por um engenheiro antes de serem vendidos (estou falando de dispositivos de segurança industrial aqui). A pessoa que analisa e aprova esses projetos é um engenheiro.

Scott Whitlock
fonte
Você acha que a razão pela qual o desenvolvimento de software não é regulamentado da mesma maneira que os campos de engenharia é porque o risco é diferente ou a juventude relativa da programação como uma profissão? Em aplicações como sistemas de controle para dispositivos médicos, sistemas militares e sistemas de simulação, parece que pode haver danos no mundo real causados ​​por erros de programação. Ou será que não existe uma distinção fácil entre um desenvolvedor de sistemas de orientação de mísseis e um desenvolvedor de sistemas de contas do ponto de vista do governo / setor?
aubreyrhodes
@aubreyrhodes - imagino que, nesse caso, haja um órgão regulador diferente para os dispositivos médicos, para que eles possam ficar fora do domínio da engenharia. Há uma linha muito estrita, por exemplo, entre o que é Engenharia e o que é Arquitetura. Embora exista programação envolvida em muitas tarefas, isso não significa que você também não precise de engenharia. Engenharia não está projetando; A engenharia está dizendo: "Certifico que esse design atende às diretrizes regulatórias, usa o conhecimento mais atualizado do setor, não representa risco excessivo para o público e vou apostar minha carreira nisso".
Scott Whitlock
2

Eu diria que a maioria dos programadores é realmente software mechanics. Quero dizer, a maioria dos programadores da indústria de software não faz mais do que manutenção e correção de bugs.

mhitza
fonte
Acho que você está confundindo mecânica com manutenção.
Rook
@Rook: Mas o que um mecânico de automóveis faz principalmente?
Michael K
@ Michael - eu estava me referindo mais ao mech. engs. que desenvolvem, em comparação com manutenção.
Rook
3
@mhitza Sua implicação é que a mecânica do software não constrói componentes de software originais, mas apenas mantém sistemas legados. Duvido que a maioria dos programadores faça esse tipo de trabalho. Eu diria que a maioria dos programadores constrói novos componentes e sistemas regularmente.
Morgan Herlocker 8/03/11
@Prof Plum: Mhitza está correto. A maior parte do trabalho de software está na manutenção, porque a maioria dos sistemas de sucesso tem uma vida bastante longa. Conheço pessoas que estão neste campo há trinta anos e nunca desenvolveram nada de significativo do zero. Eles apenas corrigem e modificam as bases de código existentes.
bit-twiddler
2

Existem algumas semelhanças em termos de aplicação de habilidades, mas estou firmemente no campo "não". A distinção não é difícil de fazer - as profissões de engenharia têm conselhos que governam quem pode se chamar engenheiro com base na qualificação e na experiência. "Engenharia de software" não existe (existem esforços incipientes, mas não ouvi nenhuma repercussão por não pertencer a um). Qualquer um pode se chamar engenheiro de software e, portanto, o título não diz ao empregador nada sobre suas capacidades. O mesmo vale para alguém que se descreve como um "Engenheiro de áudio" - não queira comentar sobre o "Engenheiro de vôo" ou "Locomotiva", porque não tenho certeza sobre os quadros para eles.

Pessoalmente, sou um cientista da computação trabalhando em um ambiente acadêmico - pesquiso, não apenas construo. Também passei alguns anos na indústria e me refiro ao meu trabalho como "Desenvolvimento de Software". Não preciso fingir ser algo que não sou.

Antecedentes: Estou na África do Sul, onde felizmente o termo Engenheiro de Software ainda não se destacou. Se os conselhos de engenharia de outras partes do mundo caíram, talvez a distinção não seja relevante lá. Se assim for, é uma pena - eu prefiro viver em um mundo com um conselho profissional de engenharia de software do que com um corpo sem nenhuma profissão.

iftheshoefritz
fonte
Concordar! Também trabalho como cientista da computação em um ambiente acadêmico, mas passei mais de vinte anos trabalhando em pesquisa e desenvolvimento de software industrial antes de ingressar na minha organização atual. Eu absolutamente odeio ser chamado de programador. Um programador é um artesão, assim como um mecânico é um artesão. A única diferença é que os maquinistas são inteligentes o suficiente para receber o pagamento de horas extras.
bit-twiddler
Um engenheiro sem licença ainda está fazendo engenharia, assim como um médico sem licença ainda pratica medicina.
DougM
1

Depende do país, de sua definição, de seu sistema acadêmico e assim por diante. Alguns, por exemplo, não contam com arquitetura como engenharia - ao contrário da engenharia civil, ela é vista como mais uma mistura entre engenharia e arte.

Tudo depende de como você olha para isso.

Mas por que isso importa. Afinal, o que há em um nome?

Torre
fonte
3
Infelizmente muito. Um nome como identificador não significa muito, mas se eu disser 'geek' para o meu pai, ele pensa 'nojento', enquanto que se eu disser para os meus amigos, eles pensam 'genialidade no computador'. Um nome evoca uma imagem na mente do ouvinte e você deseja que essa imagem seja precisa.
Michael K
@ Michael - Uhmm, esse não era exatamente o meu ponto.
Rook
1

Da próxima vez que alguém tentar convencer você sobre o assunto, pergunte a eles sobre os seguintes trabalhos:

  • Engenheiro de locomotivas
  • Engenheiro de voo
  • Engenheiro de áudio

Nenhuma dessas posições também tem muito a ver com engenharia elétrica / mecânica / civil.

MIA
fonte
1
Mas, na verdade, essas pessoas não são engenheiros profissionais (PE) e, portanto, não são realmente engenheiros.
Vitor Py
@Vitor Exatamente o ponto, pois apenas alguns programadores são engenheiros reais (certificados).
precisa
1

Pessoalmente, acho que somos engenheiros, quero dizer ... posso ser apenas um programador, mas ainda estou criando e criando software à medida que modifico o código para caber etc.

De qualquer forma, para mim é apenas um nome, fui chamado de engenheiro no meu trabalho e chamado de codificador, mas de qualquer forma é basicamente a mesma coisa.


fonte
1

Engenharia de software é engenharia.

No entanto, a maioria das pessoas que se chamam engenheiros de software não é engenheira. Muitos dos que não são são programadores e codificadores que não seguem necessariamente um processo de engenharia. Nada de errado com isso, pois a) a codificação é fundamental para a engenharia de software e 2) é uma ciência por si só. Mas ter um processo de engenharia é fundamental para ser e trabalhar como engenharia. Esse é um grupo.

O outro grupo, infelizmente, muito grande, não é programador / programador. Eles são apenas hacks, macacos de código que jogam merda em seus monitores e vendem qualquer coisa (citada em algum lugar, não consegue se lembrar de onde.)

A influência do grupo posterior é nefasta, venenosa e hilária (de certa forma humor negro), e é por isso que engenheiros de outras disciplinas (erroneamente) zombam da noção de engenharia de software ou pensam que engenharia de software e ciência da computação são tudo menos codificação (e pela codificação, codificação de espaguete.)

Em resumo: Há uma percepção negativa da engenharia de software entre muitas outras disciplinas estabelecidas mais antigas. Essa é uma suposição errada.

Mas essa suposição errada vem da observação real de que muitas pessoas que se autodenominam engenheiros de software não passam de caricaturas tristes de macacos lobotomizados batendo nos teclados, na esperança de que, por acaso, eles acabem digitando o TAOCP de Knuth.

ps ... Meu palpite é que o matemático em sua história é apenas ferido. Ele tinha essa porcaria no fundo do peito, porque Deus sabe quanto tempo, e você foi simplesmente a primeira saída para deixar isso sair ao ar livre.

luis.espinal
fonte
-1

Como o desenvolvimento de software é relativamente jovem e evolui muito rapidamente, as fronteiras entre técnico de software , engenheiro e cientista não são bem determinadas / muito embaçadas.

Rei cigano
fonte
1
Desenvolvimento de software não é TI. A TI é uma disciplina focada na configuração e manutenção da propriedade intelectual (IP) existente. O desenvolvimento de software é uma disciplina focada na criação de um novo IP em resposta a uma necessidade. O acrônimo IT não entrou no nosso léxico até que a convergência de sistemas de computador e comunicação criou a necessidade de um guarda-chuva sob o qual agrupar vários tipos de pessoal operacional tecnicamente treinado. Se alguém trabalha em infraestrutura, trabalha em TI. Se alguém trabalha no desenvolvimento de software executando trabalhos orientados a projetos, não está na área de TI.
bit-twiddler
Corrigido, meu erro.
Gipsy King