Database
 sql >> Base de Dados >  >> RDS >> Database

Anatomia de um Papel de Desenvolvimento de Software:Cientista de Dados


Doze anos atrás, quando escrevi os primeiros artigos para “Cracking the Code:Breaking the Software Development Roles”, tomei uma decisão consciente e talvez controversa de não incluir o administrador de banco de dados ou um arquiteto de banco de dados como parte dos papéis. A decisão foi tomada porque havia poucas organizações que lidavam com a escala de dados que exigiam esse papel dedicado no processo de desenvolvimento de software. O arquiteto de soluções pode cuidar da necessidade da organização de projetar a estrutura de dados como parte de sua função geral. No entanto, o mundo dos dados ficou maior desde então.

Big Data


Hoje, estamos enfrentando mais volume, maior velocidade e variedade dinâmica das fontes de dados que estamos processando. Não estamos falando dos bancos de dados relacionais típicos que são populares há décadas. A expansão dos dados requer um conjunto de técnicas e habilidades que são diferentes das abordagens históricas dos dados que temos usado.

O multithreading de nosso processamento de dados é uma melhoria das abordagens de single threading para processamento de dados que popularizaram o processamento de dados na década de 1980; no entanto, mesmo essas abordagens, que dependem de um único computador com vários segmentos de execução, falham quando a quantidade de processamento necessária para extrair significado excede a capacidade de uma única máquina.

A ascensão da computação baseada em serviços


Em 1999, os usuários em casa podiam doar seus ciclos de computação sobressalentes em seus computadores para a causa de encontrar inteligência extraterrestre através do projeto [email protected] executado pela UC Berkeley. Este não foi o primeiro uso de computação amplamente distribuída ou computação em grade, mas é o projeto que capturou a imaginação dos usuários da Internet em todos os lugares. De repente, eles tiveram a possibilidade de serem os que encontraram o “ET”. Em construção, o projeto distribuiu grandes quantidades de dados para processamento em muitos computadores, que realizaram cálculos nos dados para ver se havia bits interessantes que provavelmente não eram apenas ruído de fundo. [email protected] foi apenas um dos projetos de computação distribuída que trouxe consciência para o tipo de problema em que um único computador não seria suficiente.

IBM, Microsoft e outros estão agora oferecendo serviços de computação e aprendizado de máquina para ajudar as organizações a lidar com os dados que estão capturando e dar sentido a eles para que não precisem mobilizar um exército de voluntários comprometidos. As plataformas visam fornecer o poder de computação e o aprendizado de máquina necessários para extrair as informações ocultas nos volumes de dados. Em vez de as organizações precisarem construir e implantar seus próprios data centers com recursos de computação dedicados, os recursos para transformar dados em informações e significados estão disponíveis para aluguel.

Não é sobre os dados, é sobre os insights


Embora a quantidade de dados que estamos capturando seja impressionante, não são os dados que são interessantes. O interessante é o que os dados podem lhe dizer – se você for capaz de analisá-los. As leituras individuais sobre o desempenho de um motor não são importantes, mas a capacidade de prever quando o motor precisa de manutenção ou pode falhar—isso é importante.

Os cientistas de dados não estão focados no armazenamento de dados como os arquitetos de dados e os administradores de banco de dados estavam. Em vez disso, eles estão focados na conversão de dados em informações e, em última análise, em insights que a empresa pode usar para tomar melhores decisões. Isso significa procurar novas abordagens para analisar os dados de maneiras que revelem insights interessantes que a empresa possa usar a seu favor.

Permanecendo em Conjuntos e Estatísticas


O processo tradicional de desenvolvimento de software está familiarizado com uma abordagem processual para resolver problemas. Desenvolvedores, líderes e arquitetos são bem treinados nos métodos e benefícios da construção processual. Abordagens processuais são como a automação de um trabalhador incrivelmente obediente, mas não original. O computador é informado sobre as etapas (procedimento) a serem executadas em que ordem e sob quais condições ele deve repetir a operação ou dividir entre vários caminhos. No entanto, os cientistas de dados trabalham não apenas com abordagens procedurais, mas também com lógica baseada em conjuntos. O estilo de pensamento difere, porque procura lacunas e interseções. Funciona com base em relações de igualdade e desigualdade entre diferentes conjuntos de informações.

Embora alguns desenvolvedores tenham encontrado lógica baseada em conjuntos em seu trabalho, os cientistas de dados devem estar confortáveis ​​e fluentes em sua capacidade de manipular conjuntos de informações.

Além disso, ao contrário de outras funções no ciclo de vida de desenvolvimento de software, o cientista de dados precisa de uma habilidade especializada fora do domínio do desenvolvimento de software. Como os cientistas de dados procuram insights sobre as relações entre vários bits de dados, eles precisam de uma base sólida em estatística para poder procurar e gerar valores estatísticos como correlação para responder às perguntas que fazem e encontrar relações inexatas entre diferentes conjuntos de dados.

Para onde está indo a posição, afinal?


O crescimento dos dados atingiu o ponto de inflexão. Seja análise de redes sociais, histórico de cliques ou dados de compra, as organizações estão vendo valor real de negócios nos dados que estão trancados em seus bancos de dados, e os cientistas de dados são a chave para liberar o potencial desses dados.

Capturar esse valor significa contratar pessoas com habilidades para conectar os algoritmos de processamento aos dados e aproveitar o poder da computação para criar esses resultados.

O bom, o ruim e o feio


A ciência de dados está explodindo agora com o advento dos dispositivos da Internet das Coisas que gravam todos os tipos de dados de todos os tipos de lugares. Isso significa uma grande oportunidade - e mais do que alguns desafios. Aqui estão apenas alguns desses desafios:
  • Bom: Há uma grande oportunidade de encontrar novas maneiras de extrair insights de dados.
  • Bom: Os recursos de computação e armazenamento podem ser adquiridos em grandes quantidades.
  • Bom: Os cientistas de dados estão em alta demanda e provavelmente continuarão assim por algum tempo.
  • Ruim: À medida que os algoritmos e as abordagens evoluem, você se sentirá sempre desatualizado.
  • Ruim: Todos os dados precisam ser limpos e uma quantidade substancial de tempo será gasta nesse trabalho.
  • Feia: Tentativa e erro significarão muitos “fracassos” e poucos triunfos.

Em conclusão


A função de Cientista de Dados tem uma necessidade em rápida expansão e um conjunto diferente de habilidades. Se você adorou sua aula de estatística e adora encontrar padrões que outras pessoas não conseguem ver, isso pode ser certo para você.