Mostrando postagens com marcador tecnologia. Mostrar todas as postagens
Mostrando postagens com marcador tecnologia. Mostrar todas as postagens

terça-feira, 6 de outubro de 2009

Feliz aniversário Internet

Antes de mais nada, escrevi esse post, a mais de um mês, só estou postando agora, pq fiquei sem tempo, e também porque o google classificou meu blog como um blog de SPAM =) Nice! Talvez por causa da inatividade... merecido =)

Bom, esse é um post apenas para lembrar que a Internet fez mês passado (02/09) 40 anos. E muita evolução houve desde a primeira comunicação entre dois computadores, porém basicamente o que foi desenvolvido nos primórdios ainda são a base das redes de computadores hoje.

Veja um resumo de fatos marcantes na história da internet aqui (http://www1.folha.uol.com.br/folha/informatica/ult124u617940.shtml)

Vi um post no feed do HackaDay - http://hackaday.com/2009/09/02/internet-40th-birthday/ com 4 vídeos bem interessantes. Vale a pena assistir também.

Eu acredito que todas as pessoas que trabalham com informática DEVEM conhecer como funciona internet, roteamento, protocolos tcp/ip, e ter uma idéia das camadas OSI. Bom, um vídeo muito legal que acho que todos devem ver, que explica resumidamente como isso tudo funciona é o vídeo Warriors of the Net (http://www.warriorsofthe.net/movie.html ). Vi esse na facul, e sempre carrego comigo!

Thats all folks! Conhecer a história é muito importante =)

terça-feira, 29 de julho de 2008

Conhecimento vale mais que experiência

Estava lendo um post que veio pela newsletter do javalobby, que achei muito interessante e me fez pensar em algumas coisas.
Resumindo, a conclusão principal do post é: "Não adianta ter anos de experiência em [coloque-aqui-o-que-quiser] da forma errada.", ou seja, muitas vezes os anos de experiência são substituidos pela teoria (sem a prática), esta qual pode ser adquirida de várias maneiras.

Meio confuso não?! Vou tentar explicar um pouco melhor. Nos post do Jurgen Appelo, ele cita a questão da Lobotomia, e cita as seguintes frases, que tentei achar no wikipedia em português, porém as descrições não eram tão boas quanto as em inglês, então traduzo abaixo:

A Lobotomia, ou Leucotomia, que envolve o corte das conexões do Cortex Frontal, foi usado em alguns milhares de pacientes por todo o mundo durante o século 20, o que ocasionava uma mudança de comportamento, com o intuito de "curar" pessoas com esquizofrenia, e depressão profunda. Hoje este procedimento é considerado como "um dos maiores e mais bárbaros erros praticados pela medicina"
Jurgen faz uma pergunta após isso: "Você ainda ficaria impressionado com médico com mais de 20 anos de experiência em Lobotomia?"

O que me chamou atencão neste post foi justamente nunca ter parado para pensar sobre isso, e nunca ter feito uma comparação deste tipo. Realmente, 20 anos fazendo a coisa da maneira errada, vale mais que 1 mês fazendo da maneira certa? Isso nos remete também aquele outro post sobre A Fábula dos Porcos Assados.

O que ele ressalta ainda no post, é que a sua experiência como desenvolvedor não importa muito quanto aplicar a técnica ou tecnologia certa para resolver o problema, agora faz mais sentido aquela analogia de "Para quem só tem um martelo, tudo parece prego."

Outra frase de grande impacto citada por Jurgen, é a seguinte:
"Professionals don't match problems with their experiences. They match them with their knowledge."
tradução livre:
"Profissionais não usam a experiência para resolver os problemas. Eles usam o conhecimento para resolver os problemas."

Isso não quer dizer que você deva ficar em casa lendo livros sobre tudo que você saberá fazer tudo, mas diz que a experiência não diz muita coisa, se junto com ela não vier o conhecimento, e principalmente o conhecimento do correto.

Sem dúvida uma opinião um pouco radical, mas sem dúvida cheia de verdades. O que acha você? Pronto para uma lobotomia? Conheço uma pessoa cheia de experiência! =)

sexta-feira, 9 de maio de 2008

Cansou da cor das divisórias da sua baia? Forre-as com Refcardz!!

Talvez alguem esteja se perguntando: WTF??!
Pronto, agora vc tem um monte de papelada de alta qualidade para colocar pregado nas paredes de sua baia, ou sala, ou o que for que vc use.

Então, estou falando dos novos, bonitos e práticos Refcardz!
A idéia, dos caras foi comprimir as informações em um pequeno manual, feitas por pessoas que entendem do assunto, layoutado por profissionais de diagramação, e publicados gratuitamente =) quer coisa melhor? Agora você não precisa mais daqueles manuaisinhos (ruins) que nem lembro o nome, mas vc encontra em todo o lugar.

Pra quem ainda não conhece, de uma olhada em www.refcardz.com.
Hoje, há apenas 4 tipos diferentes:
- Spring Configuration (excelente!!!!)
- Getting Started with Eclipse (porra por que não tinha um troço destes no meu tempo?!)
- GWT Style, Configuration e JSNI Reference (não cheguei a ver ainda)
- Getting started with ajax (um quick reference de diversas bibliotecas e frameworks para se trabalhar com ajax)
Apesar de começar com apenas 4 refcardz (começaram bem pra caraleo), existe já o cronograma pronto para diversos outros.

Então fique de olho, e vamos colorir nossas paredes! =)

quinta-feira, 16 de agosto de 2007

Photosync - Amazing!

Eu não sei quem já conhecia esta "ferramenta/tecnologia" mas pra mim isso é novo. Posso dizer que fiquei realmente impressionado, e achei bastante interessante do aspecto tecnológico... E pasmem, não é coisa da Google hehehehe a MS saiu na frente e comprou os caras =(

O que isso faz? Ele pega milhares de fotos "tagueados" com uma certa palavra e sintetiza as imagens pegando pedaços de cada uma, juntando tudo, formando assim uma imagem tridimensional. Pense nas possibilidades?! ;) cool! Agora assista o vídeo!

Vídeo da Apresentação do Photosync no TED

Quem sabe depois vc queira dar uma testadinha:
Try it - Photosync

ps: Eu não consegui testar, o programa não conseguiu carregar "a Collection...", nem com o IE funfou essa parada.

quinta-feira, 10 de maio de 2007

Como começar e como manter o foco (parte2)

Normalmente pessoas me perguntam como começar, pois se deparam com uma nuvem enorme de siglas que, vamos concordar, não são poucas. Mesmo que você pegue apenas uma tecnologia, ao exemplo de Java.

Como minha maior especialidade é Java, vou usá-la como exemplo para este post, voltando-me mais para web, sendo que é isso que está em alta hoje no mercado. Apesar de que para iniciar em programação não exista exatamente um caminho das pedras, vou tentar citar o que eu acho importante saber e em seguida como começar com java.

  1. Orientação a Objetos - Precisa saber muito bem. Não se engane, aprenda mesmo, aplique, leia muito sobre o assunto, aplique, refaça, mude, modele, remodele... Hoje, creio que o pior problema de programadores, é não saber realmente OO, acham que sabem, e criam sistemas que "desmoronam" mais tarde. A hora que vc disser, eu sei OO, to "bão" no negócio, então estude novamente tudo o que havia estudado e mais. Saiba como aplicar OO a sistemas, como desenvolver sistemas OO. Com este conhecimento, você será um bom profissional, note que nem estou falando em Java até agora.
  2. Design Patterns - Aquela coisa que para os iniciantes parece ser o "santo graal", não é nada de mais, são apenas formas de como se fazer as coisas, como modelar teu sistema, para que você consiga manter a qualidade e sobre tudo, eles são alguns padrões de como fazer as coisas, documentados por pessoas que passaram pelo mesmo problema, e descreveram a melhor forma de solucionar um certo problema. Lembre-se, não force o uso de um DP, mas sim, depois que você tiver a maioria deles bem estudados, e bem conceituados em sua cabeça, o seu uso será natural em seus sistemas. Note novamente que Java nem entrou ainda em seus estudos. Queria enfatizar que você irá ler muito até aqui, mas leia com atenção, não desanime porque ainda não está pondo a "mão na massa".
  3. UML - Acho bem interessante o aprendizado de UML e seus diversos diagramas, mesmo que inicialmente você não venha a ser um Analista/Arquiteto de sistemas, mas você irá responder a um, que, deus-queira, monte um diagrama de classes, de seqüencia, ... para que você possa trabalhar "consciente" do que está fazendo. Ainda não entramos em Java.
  4. Conceitos de Web - Se você irá trabalhar com Web, antes de aprender o que quer que seja, Java, .Net, Ruby, ou seja lá o que, aprenda os conceitos de Web. Como funciona, que tipo de protocolo usa, o que é um Request, Response, Session, métodos Post, Get, Head, etc. Ou seja, estude legal estes conceitos, pois muitos dos problemas que os iniciantes tem, são com estes conceitos.
  5. Plataforma Java - Este estudo não precisa necessariamente vir depois de todos os anteriores, normalmente ele vem seguindo em paralelo com eles. Porém ATENÇÃO, NÃO comece a desenvolver antes de ter aprendido os 4 primeiros. Aprenda o que é a plataforma completa, como ela está dividida, e então comece a aprender a linguagem em si, sintaxe, loops, if´s, coisas básicas. Normalmente, um iniciante se perde nesta parte, pois a Plataforma Java é bem abrangente. Um direcionamento profissional seria interessante, um curso, ou mesmo algum material disponível na internet, mas procure algo bom, existe muita coisa ruim pelo mercado. Eu sempre indico o material da Caelum, é o melhor material que eu conheço. Depois de ter aprendido bem a linguagem, existe algumas coisas ainda que são importantes, como:
    1. Collection API
    2. JDBC
    3. Thread e Sincronização
    4. ...
  6. Java WEB - Só então comece a aprender Java para web. Esqueça Frameworks, você não precisa deles agora, ainda não está pronto para eles. Aprenda primeiro, como é a estrutura de uma aplicação Java para Web, como fazer uma JSP, como fazer um Servlet e como fazer uma JSP e um Servlet conversarem, como fazer um Post, um Get e como trabalhar com Session. Depois, aprenda para que serve o tal arquivo web.xml e o que da pra fazer com ele, o que é um Filter, os Listeners possíveis e como aplicá-los. Tente então juntar os conhecimentos adquiridos até agora, OO, DP, UML e os Conceitos de Web com o Java e fazer um sisteminha simples para testes. Após feito e ele funcionando legalzinho, comece o mesmo sistema, de outra maneira, estudando e tentando melhorar alguns aspectos, tentando aplicar outros conhecimentos adquiridos com o primeiro projeto.
É..., não falei que iria ser fácil e que o tempo de estudo seria curto, porém, esta não é necessariamente a curva de aprendizado do Java em si. Mas sim a curva de aprendizado de um bom profissional. Não só na minha opinião, mas em todos os aspectos da vida, se uma coisa não tem uma base forte, o que for construído por cima dela, uma hora ruirá.

Enfim, esta é minha opinião hoje sobre o assunto, não sou o dono da verdade, porém hoje vejo que se tivesse seguido alguns caminhos assim, minha vida teria sido muito mais fácil =). Sei que alguns concordam, outros discordam, e ainda outros tem muitas coisas a acrescentar, mas isso foi o que me veio a cabeça em quanto estava escrevendo este post. Agradeço as opiniões.

quinta-feira, 3 de maio de 2007

Como começar e como manter o foco

Este post foi motivado por este post.

Manter o foco no começo é meio complicado, principalmente para aqueles que são "fuçadores", normalmente o cara sabe lidar com hardware, instalar programas, configurar, alguma coisinha de redes, alguma coisinha de programação e com isso também algumas coisas sobre Banco de Dados, o famoso "micrero". Antes de explanar sobre isso, queria deixar claro que quanto maior seu conhecimento melhor, quanto mais você conhecer melhor, pois ser extremamente especialista não é bom.

Nesta área de TI, temos muitas especialidades que requerem muito estudo para cada. Vamos citar duas, Desenvolvimento e Suporte (servidores, rede, etc). Estas duas áreas, podem ser consideradas "Macro áreas", pois dentro de cada área tem muitas subdivisões. Quando uma pessoa começa a trabalhar (quer deixar de ser micrero para virar um profissional de verdade) fica meio perdido sem saber pra que lado seguir, por isso antes de mais nada você precisa definir exatamente que lado quer seguir.
Digamos que você quer desenvolvimento. Ok, agora precisamos definir qual liguagem você irá adotar como a principal. Particularmente, acho necessário ter uma principal senão você não deixará de ser um micrero =) , porém você precisa aprender mais liguagens com certeza, para não ser uma ferramenta de uma única utilidade. Além de uma linguagem de programação, você precisará ainda interagir com banco de dados (quase que 100% das aplicações precisam). Então você acaba tendo que aprender SQL, um pouco de linguagem para escrever procedures e functions no banco de dados que você for trabalhar. Porém, é aqui que muitos desenvolvedores se perdem, muitos começam a partir para estudos aprofundados do banco de dados. Para isso existe um especialista chamado DBA. Normalmente um DBA, sabe tanto de banco de dados, como de infra-estrutura e um pouquinho de desenvolvimento. Porém não é trabalho de um desenvolvedor saber dessas coisas. (mas lembre-se do que falei antes de começar este texto.) Digamos então que você escolha Java para sua linguagem principal, você já terá muito estudo pela frente, porém, lembre-se de conhecer outras principais no mercado, como a plataforma .Net (C# de preferência), e ao menos alguma outra, uma emergente se possível, como o Ruby nos dias de hoje, ou ainda outra de sua preferência. Contudo evite aprender coisas que estão saindo de uso, principalmente no começo de sua carreira. Caso seja necessário depois, será bem mais fácil para aprender, no começo só irá confundir.
Concluindo, defina uma macro-área, especialize-se na MACRO AREA, assim que você se sentir seguro o suficiente, ou seja, estiver trabalhando com tranquilidade com isso, então parta para avançar em seus estudos. Normalmente leva-se no mínimo uns 3 anos para isso, então tenha paciência e aprenda o máximo que você conseguir, sem perder muito o foco.

Espero com este email ter ajudado um pouco, com minha pouca experiência. Pode ser que eu esteja errado, porém isso hoje me parece o mais correto. Qual sua opinião sobre o assunto?

------
devido ao primeiro post abaixo resolvi editar este post, e adicionar o link a este site:
http://mundo.it/blog/
Para mais artigos sobre esse assunto pesquisem por Carreiras, tem muita coisa legal.
Obrigado Yuri.