O Camiño do Arquitecto: Certificación e Inmersión do Produto

Case todos os desenvolvedores fan preguntas sobre como debería desenvolver as súas habilidades e que dirección de crecemento escoller: vertical, é dicir, converterse en xestor, ou horizontal, a pila completa. Moitos anos de traballo nun produto, ao contrario dos mitos, non se converten nunha limitación, senón nunha oportunidade útil. Neste artigo, compartimos a experiencia do noso desenvolvedor de backend Alexey, que dedicou 6 anos ás certificacións e durante este tempo traballou ata converterse en arquitecto.

O Camiño do Arquitecto: Certificación e Inmersión do Produto

Quen é arquitecto

Un arquitecto de TI (responsable tecnolóxico) é un programador de alto nivel que se ocupa de problemas globais en proxectos de TI. Mergúllase nos procesos comerciais do cliente e axuda a resolver os seus problemas mediante a tecnoloxía, e tamén determina como se estruturará tal ou cal sistema de información.

Este profesional necesita non só comprender as áreas temáticas individuais, senón tamén ver todo o proceso:

  • Establecer un problema empresarial.
  • Desenvolvemento, incluíndo programación, preparación, almacenamento e tratamento de datos.
  • Implantación e apoio de infraestruturas.
  • Probando.
  • Implantar.
  • Servizos analíticos e operativos.

Isto significa a capacidade de poñerse na pel de calquera especialista ou equipo no ciclo de vida do desenvolvemento, comprender o estado actual dos sistemas desde dentro, identificar os erros cometidos e formular obxectivos. Ás veces cómpre realizar a cirurxía vostede mesmo.

O camiño do desenvolvemento profesional de desenvolvedor a arquitecto leva moito tempo, normalmente varios anos. Para iso, o desenvolvedor necesita tanto habilidades prácticas como coñecementos teóricos, que poden ser confirmados mediante certificación internacional.

Máis de 5 anos nun proxecto: rutina ou oportunidade de crecemento?

Hai varios anos, comezamos a traballar nun gran sistema de TI médico para un cliente estranxeiro. Houbo certos problemas neste proxecto a gran escala:

  • acceso limitado;
  • prod inestable;
  • sprints incriblemente longos e longas aprobacións.

"É hora de mellorar as túas habilidades"", - un dos principais desenvolvedores Alexey tomou esta decisión para superar as dificultades enumeradas e comprender mellor o sistema.

Alexey compartiu a súa experiencia, onde é mellor comezar a adestrar, que certificados son importantes para obter, como e por que facelo.

Primeiro paso: mellora o teu inglés

As linguaxes de programación son unha parte fundamental do desenvolvemento, pero as linguaxes para a comunicación son igual de importantes. Especialmente nas comunicacións cun cliente de fala inglesa!

Da práctica

Un bo día, Alexey recibiu unha chamada dun empregado do cliente. Nese momento, o noso desenvolvedor aínda non podía presumir dunha morea de certificados, nin en tecnoloxía, nin en xestión, nin en comunicacións. Quizais non sexan útiles; despois de todo, podes ser un especialista competente sen vestiario adicional. Pero o problema aínda xurdiu.

Debemos entender que a lingua falada é radicalmente diferente da escrita. Se coñeces ben as especificacións en inglés, pero non practicas escoitar e falar, entón temos unha mala noticia para ti. Neste caso, as conversacións telefónicas cos socios poden levar a un camiño sen saída.

Alexey captou algunhas palabras coñecidas na chamada, pero o discurso do seu colega foi tan rápido e a diferenza da pronunciación clásica das clases de audio que a esencia principal das súas preguntas pasou nalgún lugar. Por cortesía e reticencia a complicar a situación, Alexey aceptou rapidamente todas as propostas.

Hai que dicir que durante o traballo se fixeron descubrimentos desagradables? O noso desenvolvedor rexistrouse en algo que tería rexeitado absolutamente deliberadamente se a oferta chegase nunha linguaxe comprensible.

Nese momento quedou claro que simplemente era necesario mellorar a capacidade de escoitar e falar. A mellor forma de facelo foi mediante certificacións.

Certificación da lingua inglesa

Para mellorar as comunicacións no marco do noso proxecto médico, Alexey estudou varios programas á vez. Como resultado, aprobou a certificación FCE - First Certificate in English. Isto axudoume a comezar a escoitar ao cliente e a transmitirlle os meus pensamentos.

Piratería de vida:

Evite os programas básicos de inglés. A habilidade debe ser dirixida. Se necesitas inglés para a comunicación empresarial, deberías levalo. Simplemente non vaias a extremos e toma o CAE (Certificate in Advanced English). A súa peculiaridade son as palabras sofisticadas, expresións específicas que case nunca se usan na comunicación internacional.

O Camiño do Arquitecto: Certificación e Inmersión do Produto

Segundo paso: certificación en toda a pila tecnolóxica

Inicialmente, o proxecto baseouse na tecnoloxía de mapeo relacional obxecto ORM. O equipo de desenvolvemento do lado do cliente estaba orgulloso da súa creación, porque todo se fixo utilizando conceptos avanzados, complexos e chulos.

Non obstante, os problemas na produción, en particular, un servidor SQL que se conxelaba constantemente, non eran pouco comúns. Chegou ao punto no que a solución típica ao problema era reiniciar o servizo. O cliente chamou ao xefe do equipo e dixo que era hora de reiniciar. Finalmente decidimos rematalo.

O cliente quería traballar o rendemento do sistema; para iso era necesario introducir o perfilado e realizar a optimización regularmente. Nese momento, arredor de 2015, elixiuse Ants Profiler como ferramenta de elaboración de perfiles, pero tivo un mal rendemento. Con poucos detalles, era difícil obter información sobre un bloque crítico de código. Co máximo detalle, Ants Profiler comezou a cambiar o código de tal xeito que a funcionalidade dos sistemas estaba en risco: onde se configuraba o perfil, todo simplemente fallaba. Así que cambiamos o noso enfoque.

Comezamos coa análise das estatísticas

Ao analizar as estatísticas de vendas, quedou claro que o 95% do traballo no servidor ten unha lóxica empresarial primitiva de 4 liñas. Para eles, unha consulta SQL era suficiente e non un conxunto completo de consultas xeradas por un bloque de lóxica empresarial cun ORM.

Alexey propuxo e implementou un procedemento almacenado para mover o traballo sen ORM. A idea contradí o paradigma habitual do proxecto, o xefe do equipo recibiuno con cautela, pero o cliente aceptou todo e solicitou a posta en marcha. Non foi sorprendente, porque o novo método permitiu reducir os atrasos no procesamento na produción de catro horas a varios minutos, unha media de 98 veces.

Aínda así, tiñamos dúbidas: é esta a decisión correcta ou é unha cuestión de preferencia persoal? A fe no todopoderoso C# e ORM foi sacudida por un accidente que mostrou todo o poder das solucións sinxelas.

Caso dous

O equipo escribiu unha consulta para traballar con datos dentro do paradigma ORM, compilados segundo todas as regras, sen erros. O seu procesamento levou 2-3 minutos, e estes parámetros parecían aceptables. Non obstante, unha implementación alternativa que utilizaba selectores e vistas simples proporcionou resultados máis rápido, en 2 segundos.

Fíxose obvio que era hora de elixir un especialista que se sometera á certificación en toda a pila do proxecto para comprender todos os matices e escoller o método óptimo. Alexey asumiu esta tarefa.

Primeiros certificados

Para entender a esencia, pasou Alexey varias certificacións de Microsoft, cubrindo toda a pila tecnolóxica do proxecto:

  • TS: Desenvolvemento de aplicacións de Windows con Microsoft .NET Framework 4
  • TS: Acceso a datos con Microsoft .NET Framework 4 Programación en C#
  • TS: Microsoft .NET Framework 3.5 Desenvolvemento de aplicacións de Windows Forms
  • PRO: Deseño e desenvolvemento de aplicacións de Windows usando Microsoft .NET Framework 3.5
  • PRO: Deseño e desenvolvemento de aplicacións baseadas en Windows mediante o Microsoft .NET Framework
  • TS: Microsoft .NET Framework 2.0 - Desenvolvemento de clientes baseado en Windows

Tratando de optimizar o traballo no novo proxecto, o equipo chegou ás seguintes conclusións:

  • Para que os sistemas funcionen, é necesario seguir as regras de escritura de código: non sangrías e comentarios, senón características técnicas: o número de chamadas ás bases de datos, a carga no servidor e moito máis.
  • Aplicar conceptos conflitivos pode levar a problemas. O concepto de bases de datos é teoría de conxuntos, mentres que ORM é un concepto de operacións.
  • As ideas que perturban a orde habitual das cousas poden atopar resistencia dentro do equipo. O desenvolvemento tamén ten que ver coas relacións e a capacidade de argumentar o teu punto de vista.
  • A certificación amplía os teus horizontes e permíteche comprender o que se pode usar e o que non.

O Camiño do Arquitecto: Certificación e Inmersión do Produto

Terceiro paso: aprende máis que o código

Cando se traballa en solucións de TI a gran escala, son importantes moitos factores. Por exemplo, non todos os desenvolvedores prestan atención aos parámetros da rede, pero incluso o seu ancho de banda pode afectar a solución dun problema empresarial.

Comprender isto está dado Certificación da serie 98:

Permítenche dar unha ollada máis ampla ás cousas e saír do concepto limitado de "só código". Estes son Fundamentos, o básico, pero son importantes para entender todo nun nivel máis profundo.

As certificacións da serie 98 son probas curtas: 30 preguntas durante 45 minutos.

Cuarto paso: xestión de procesos

Traballar con clínicas é unha empresa máis importante que, por exemplo, crear un xogo para móbiles. Aquí non pode engadir unha función e publicala para a produción; é importante seguir o proceso de aprobación e facer numerosas edicións do cliente, porque a saúde e a vida das persoas están en xogo.

O típico Agile non deu os resultados desexados neste proxecto e cada sprint durou bastante tempo. Entre os despregamentos levouse de 6 meses a un ano.

Ademais, era tecnicamente imposible achegar os procesos das dez clínicas atendidas a algún denominador común.

Para obter resultados máis rápido nestas condicións, os desenvolvedores necesitaban responsabilidade persoal e unha visión a gran escala dos procesos, o que significa concentración constante e alta cualificación.

Cando un especialista está inmerso no proceso, ve claramente os resultados, as causas e as consecuencias, toda a imaxe. Este é ao mesmo tempo un factor de motivación e conciencia adicional, mellorando a capacidade de resolver problemas e problemas.

Cunha infraestrutura que funciona ben, unha arquitectura ben construída e un código óptimo, unha persoa pode asumir moitos procesos. Non obstante, isto non significa que sexa necesario criar soldados universais que sexan capaces de liderar o proxecto en solitario. A comunicación e o traballo en equipo son fundamentais.

Nun equipo, cada desenvolvedor entende que os seus compañeiros dependen das súas accións. Aforrar 5 minutos durante a fase de desenvolvemento significa quizais 5 horas adicionais de probas. Para entendelo, é importante establecer comunicacións.

No noso proxecto, Alexey recibiu axuda para dominar os procesos certificados de EXIN:

  • Certificado Fundación M_o_R en Xestión de Riscos
  • Fundación Agile Scrum
  • Fundación de Xestión de Servizos de TI
  • Fundación de Xestión de Información Empresarial EXIN
  • Certificado Fundación PRINCE2 en Xestión de Proxectos
  • Certificado de Enxeñeiro de Probas
  • Microsoft Operations Framework Foundation
  • Proxectos de servizo áxil

Realizáronse cursos sobre edX que axudaron a mirar o sistema desde o punto de vista da estatística e da programación lean e que posteriormente impulsaron a obter certificado de arquitecto:

  • Produción Lean
  • Six Sigma: Analizar, mellorar, controlar
  • Six Sigma: definir e medir

Segundo o principio Six Sigma, o control estatístico garante un resultado de alta calidade cunha probabilidade extremadamente alta.

Aumentando o seu nivel, o desenvolvedor, por regra xeral, chega ás seguintes conclusións:

  • Non traballes duro, pero traballa de forma eficiente.
  • Non te compliques a vida perseguindo o exterior: a tecnoloxía sofisticada non necesariamente resolve mellor os problemas.
  • Fai amizade con especialistas en todas as etapas do ciclo e descubre os seus puntos de dor. Un arquitecto debe dominar os procesos: identificar un problema, establecer un problema, deseñar unha topoloxía de rede, desenvolvemento, probas, soporte, funcionamento.
  • Consulta todas as funcións por dentro e por fóra.
  • Ocorre que os procesos informáticos non se corresponden cos procesos empresariais, e iso hai que abordalo.

O Camiño do Arquitecto: Certificación e Inmersión do Produto

Quinto paso: comprender a arquitectura a través da lente do Big Data

Durante o proxecto tratámonos con bases de datos bastante grandes. Polo menos así o pareceu ata certo momento. Cando Alexey comezou a estudar grandes datos en edX, resultou que 1,5 Tb do proxecto era unha pequena base de datos. Escalas serias - a partir de 10 Tb, e outros métodos son necesarios alí.

O seguinte paso cara á certificación foi un curso sobre big data. Axudou a comprender a organización do fluxo de datos e a acelerar as operacións de produción. E tamén preste atención ás pequenas ferramentas, por exemplo, comeza a usar Excel para resolver microtarefas individuais.

Certificado:
Programa Profesional de Microsoft: Certificado de Big Data

O Camiño do Arquitecto: Certificación e Inmersión do Produto

Paso seis: de desenvolvedor a arquitecto

Despois de recibir todos os certificados enumerados, mentres aínda era un programador, Alexey comezou a entender que a información recibida tiña un alto nivel de abstracción, e isto non estaba nada mal.

Unha visión a gran escala dos procesos leva ao nivel de arquitecto, un dos máis altos niveis de certificación.

En busca da certificación de arquitecto, chegou Alexey Arquitecto de software certificado - Plataforma Microsoft por Sundblad & Sundblad. Este é un programa recoñecido por Microsoft, o seu desenvolvemento comezou hai 14 anos coa colaboración da xefatura da empresa e as oficinas suecas. Abarca o .NET Framework, a recollida de requisitos, a xestión do fluxo de información e moitos outros temas de alto nivel e considérase un firme testemuño das habilidades dun arquitecto.

Houbo cursos para estudar dentro do programa. A certificación sistematizou o coñecemento e permitiunos entrar nunha nova etapa de desenvolvemento: dende o promotor ata o arquitecto.

O Camiño do Arquitecto: Certificación e Inmersión do Produto

Resumindo

Como sinala Alexey, cando se traballa cun sistema informático a gran escala, é importante lembrar que a programación non é un entretemento caro, senón unha ferramenta para resolver problemas empresariais. Cando se enfronta a este ou aquel desafío, definitivamente cómpre anotar o valor comercial para que o proxecto non chegue a un camiño sen saída.

O arquitecto ten unha visión especial da programación e dos seus compoñentes elementais:

  • Creación e/ou mantemento dun fluxo de datos
  • Extraer o fluxo de información do fluxo de datos
  • Extraer fluxo de valor do fluxo de información
  • Monetización do fluxo de valor

Se miras un proxecto a través dos ollos dun arquitecto, cómpre comezar polo final: formular o valor e ir a el a través do fluxo de datos.

O arquitecto segue as normas de desenvolvemento, tendo unha visión global do proxecto. É case imposible alcanzalo a través da práctica e dos teus propios erros, ou mellor dito, é posible, pero levará moito tempo. A certificación permítelle ampliar os seus horizontes e mirar o contexto completo de cada cuestión, familiarizarse coa experiencia de miles de profesionais e desenvolver a habilidade para a resolución eficaz de problemas.

Ata a data, levamos máis de cinco anos traballando co sistema médico anteriormente descrito e conseguimos melloras importantes. Durante este tempo, Alexey aprobou máis de 20 exames de certificación:

  1. TS: Desenvolvemento de aplicacións de Windows con Microsoft .NET Framework 4
  2. TS: Acceso a datos con Microsoft .NET Framework 4 Programación en C#
  3. TS: Microsoft .NET Framework 3.5 Desenvolvemento de aplicacións de Windows Forms
  4. PRO: Deseño e desenvolvemento de aplicacións de Windows usando Microsoft .NET Framework 3.5
  5. PRO: Deseño e desenvolvemento de aplicacións baseadas en Windows mediante o Microsoft .NET Framework
  6. TS: Microsoft .NET Framework 2.0 - Desenvolvemento de clientes baseado en Windows
  7. 98-361: Fundamentos de desenvolvemento de software
  8. 98-364: Fundamentos de bases de datos
  9. Certificado Fundación M_o_R en Xestión de Riscos
  10. Fundación Agile Scrum
  11. Fundación de Xestión de Servizos de TI
  12. Fundación de Xestión de Información Empresarial EXIN
  13. Certificado Fundación PRINCE2 en Xestión de Proxectos
  14. Certificado de Enxeñeiro de Probas
  15. Microsoft Operations Framework Foundation
  16. Proxectos de servizo áxil
  17. Produción Lean
  18. Six Sigma: Analizar, mellorar, controlar
  19. Six Sigma: definir e medir
  20. Programa Profesional de Microsoft: Certificado de Big Data
  21. Arquitecto de software certificado - Plataforma Microsoft

O Camiño do Arquitecto: Certificación e Inmersión do Produto

Despois de aprobar todos os exames, Alexey pasou de desenvolvedor principal a arquitecto de proxectos. Ao mesmo tempo, a certificación converteuse nunha poderosa ferramenta tanto para o desenvolvemento profesional como para a construción da reputación aos ollos do cliente.

O "Certification Ram" axudou a acceder a procesos críticos individuais que precisaban control e elaboración. Os clientes europeos de solucións informáticas, por regra xeral, valoran moito aos especialistas certificados e están preparados para darlles máis liberdade de acción.

Grazas pola súa atención! Agardamos que o artigo che fose útil.

Fonte: www.habr.com

Engadir un comentario