none
Qual o ponto de equilíbrio entre o estado da arte e a realidade na programação?

    Question

  • Bom dia a todos.

    Estou confuso.

    Depois de anos programando sozinho, tenho aprendido na faculdade conceitos sobre Engenharia de Software, Modelagem de Sistemas e coisas do gênero. Tudo muito lindo e maravilhoso mas, é claro, na vida real a coisa é bem diferente (no final da aula até o professor concordou comigo). Nós, seja na função de analista ou programador, acabamos mais apagando incêndios e tapando buracos. Toda aquela história de reutilização de código, polimorfismo, baixo acoplamento, com o meu insignificante conhecimento de trabalho de equipe parece ser mais coisa para americano ver.

    Quero desenvolver softwares de qualidade, seguindo as melhores práticas e ser reconhecido por isso, mas obviamente preciso ganhar dinheiro com isso!

    Gostaria da opinião de profissionais do fórum sobre o que o mercado usa na prática desta teoria acadêmica toda. O que realmente é usado no desenvolvimento de grandes projetos, como grandes equipes conseguem modelar de forma eficiente grandes sistemas, desenvolver um sistema seguindo o mínimo de padrão, manter documentação organizada e acima de tudo rentáveis.

    Duvido muito que eles sejam feitos como eu fiz até hoje, alguns feitos em prazo recorde (mas que tenho pesadelos em fazer manutenção neles), outros que levei meses para desenvolver e trabalhei quase de graça.

    Qual é o ponto de equilíbrio e que caminhos devo seguir para me alinhar ao mercado?

    Att,

    Marnei Erencio

    Thursday, May 10, 2012 12:31 PM

All replies

  • Embora aqui seja fórum de .NET, eu acho que no mercado você verá de tudo, empresas que usam muitos processos e empresas que não usam nada, o que eu recomendo é que você tenha sólidos conhecimentos em Engenharia de Software (processos, modelagem, arquitetura, análise, design, etc..) se você tiver esse conhecimento a fundo se dará bem e as portas se abrirão para você, mas repito, tem empresa que usa só um UML básico, outras que usam todos os diagramas da UML, varia muito, é isso.

    Te aconselho a ler livros de Engenharia de Software como o do Pressman e o Somerville, o livro The Pragmatic Programmer também é muito bom, os livros da série Head First! (Use a Cabeça!) são extraordinários.

    Abraços!


    thiagokoelho


    Thursday, May 10, 2012 12:42 PM
  • Como disse o Thiago vc verá de tudo, mas eu acrescento que onde trabalhei não usávamos nem UML nem nada, e o que acontecia? sempre apagando incêndios.

    Em qualquer empresa vai ter bugs e urgência, um bom planejamento evita muito esses dois casos. Falo isso porque já desenvolvi coisas "sem pensar no amanhã" me preocupando apenas em desenvolver rápido, aconteceu que 1 ano depois eu estava dando manutenção neste mesmo projeto. Hoje quando vou desenvolver faço três perguntas: Qual a finalidade disso? Como deve funcionar? Envolve ou vai envolver outros programas no software?

    Então crio da forma mais simples possível, tanto para o usuário que vai utilizar quanto para o programador que poderá dar manutenção.

    Sobre reutilização de código: sim, é muito interessante ter e se souber utilizar, ajuda e muito seu trabalho. Aqui na minha cidade as 3 maiores empresas utilizam OO e isso reutiliza muito código, vc não precisa criar 2 (ou mais) vezes a mesma função ou ainda o mesmo componente!

    O lado bom disso, é que se o componente/função que vc criou deverá ser alterado, vc terá apenas 1 para alterar e já funcionará em todas as telas.

    Procure aprender boas regras de programação e estude como o Thiago falou.

    Abraço

    Thursday, May 10, 2012 8:08 PM
  • @Marnei

    Hello,

    Benvindo ao forum. A tua pergunta e valida mas dificil de responder. Eu concordo com voce a realidade e completamente diferente das universidades. Os porfessores dizem, faz isto, aprende isto, le tambem este livro etc ect. 

    No final, acabas por nao usar nada do que eles disseram e ensinaram. Depende muito da empresa e sua politica de trabalho. A empresa dita as regras dos jogos, dizem que material usar, as vezes dizem como se deve usar. A tua opinia as vezes nao conta, tu estas ai pra trabalhar e fazer o k eles mandam. 

    Muitas empresas tem, funcionarios que so fazem estudos de mercado, tendencias e muitos eles tomam decisoes baseado nestes resultados trazidos por estes funcionarios.

    Programar sozinho nao e facil. Tens de pensar em tudo. 

    Como o Thiago disse: "o que eu recomendo é que você tenha sólidos conhecimentos em Engenharia de Software"

    Apenas uma curiosidade: 80% dos hackers nao frequentaram a faculdade ou universidade, nehum deles tem profundo conehcimento de Engenharia. Mas sao os melhor programadores que existe no mundo.

    Meu conselho e, como estas na faculdade, estude e aprofunde bem Engenharia de Software. Depois, deixa o teu instintu e criatividade guiar o teu caminho de programacao.

    Se Voce ler muitos livros como eu fiz, vais acabar por descubrir que eles "contradinzem-se", um livro diz que o melhor e isto, o outro livro que o melhor e aquele.

    Meu conselho e, aprenda a fazer bem, e o resto e conversa. 


    O Amor que Sinto por Ti, Apenas Deus e capaz de sentir e superar tal amor!

    Thursday, May 10, 2012 9:03 PM