Fury Road: a viaxe do programador de facturación

O xerente dunha empresa de desenvolvemento de facturación ten dúas formas de construír un equipo. O primeiro é contratar "maiores" preparados e crear continuamente esas condicións de traballo para que utilicen ao máximo as súas habilidades e experiencia, se desenvolvan e, ao mesmo tempo, non entren en pelexas. O segundo é crear un equipo a partir dunha mestura de recén chegados, medios e profesionais, para que se comuniquen, se inflúan, aprendan e medren dentro da empresa. Estou en contra do círculo vicioso de "sen experiencia - sen traballo - sen experiencia" e non vexo ningún problema para contratar un programador principiante. Forward Telecom ten durante moito tempo un programa de prácticas, que se converteu nun trampolín de carreira para moitos empregados actuais.

Agora vouche contar como vexo o camiño de desenvolvemento dun programador de facturación e en que secuencia cómpre dominar as habilidades profesionais.

1. Aprende unha linguaxe de programación

Para comezar, calquera. A prioridade é Java, Python e JavaScript, pero Ruby, Go, C, C++ son axeitados para adquirir coñecementos básicos. Como ensinar? Fai cursos de pago e gratuítos; podo recomendar formación de Golang. Se o teu nivel de inglés o permite, ver vídeos estranxeiros é unha boa habilidade adicional.

Fury Road: a viaxe do programador de facturación

2. Comprender os conceptos do SO

Os sistemas operativos baséanse en sete compoñentes que debes coñecer e poder explicar o principio de funcionamento:

  • Xestión de procesos;
  • Threads e código multithread;
  • Socket (interface de software);
  • despacho de E/S;
  • Virtualización;
  • Almacenamento;
  • Sistemas de ficheiros.

Recomendo facer un curso básico de administración de Linux. Os segundos sistemas operativos en liña son Windows e Unix.

3. Acostúmate ao terminal

Por analoxía coa fobia a unha folla en branco, hai unha fobia a unha pantalla negra en branco cun cursor parpadeante. Terás que superalo para aprender a escribir bos comandos na liña de comandos.
Debe saber:

  • shells Bash e KornShell;
  • Os comandos find, grep, awk, sed, lsof;
  • Comandos de rede nslookup e netstat.

Fury Road: a viaxe do programador de facturación

4. Rede e seguridade

A facturación está estreitamente relacionada cos requisitos de rede e protección de datos. Non podes escribir servizos en liña sen entender como funciona a rede, polo que tes que aprender os conceptos e protocolos básicos: DNS, modelo OSI, HTTP, HTTPS, FTP, SSL, TLS. Entón, cando atopes un erro de conexión rexeitada, saberás que facer.

5. Servidores

Despois de estudar os principios da transmisión de información na rede, pode comezar os conceptos básicos do funcionamento do servidor. Comeza cos servidores web: IIS, Apache, Nginx, Caddy e Tomcat.

Seguinte na lista:

  • proxy inverso;
  • Proxy anónimo;
  • Almacenamento en caché;
  • Equilibrio de carga;
  • Firewall.

6. Aprende a infraestrutura como código

Creo que esta etapa é unha das máis importantes. Terás que comprender tres grandes temas:

  • Contedores: Docker e Kubernetes
  • Ferramentas de xestión da configuración: Ansible, Chef, Salt e Puppet
  • Backup: Terraform, nubes.

7. Aprender CI/CD

Outra habilidade útil para un programador de facturación é poder configurar unha canalización para a integración e entrega continuas. Na área de CI/CD hai ferramentas como Jenkins, TeamCity, Drone, Circle CI e outras. Spoiler: coñecer os Jenkins moi utilizados será suficiente ao principio.

8. Software e control de infraestruturas

O obxectivo fundamental é comprender os conceptos básicos do seguimento das aplicacións. As ferramentas nesta área divídense en tres grupos:

  • Seguimento da infraestrutura: Nagios, Icinga, Datadog, Zabbix, Monit.
  • Monitorización do rendemento da aplicación: AppDynanic, New Relic.
  • LMS: ELK Stack, Graylog, Splunk, Papertrail.

9. Servizos na nube

Nun futuro próximo, cada aplicación ou software terá unha contraparte na nube. Tarde ou cedo, os desenvolvedores atopan a nube, así que lea sobre os provedores de nube populares (AWS, Google Cloud e Azure) e os conceptos básicos da tecnoloxía.

10. Traballar coa base de datos

Todos os proxectos actuais usan bases de datos, e a experiencia con DBMS e SQL facilitará o inicio. Aprende a escribir consultas SQL, utiliza explica e aprende como funciona o índice. O xeito máis sinxelo é facer un curso. Tamén podes practicar as túas habilidades de documentación de Postgres e xogar coa réplica.

11. Mellora as túas habilidades suaves

Un punto inesperadamente fóra do común, pero non por iso menos importante. Para comezar, teña paciencia. Acostumache rapidamente a situacións como "arregla o ferro, es programador", pero cómpre estar mentalmente preparado para os prazos para lanzar novos proxectos. Se tes de cero a un ano en programación e te consideras Junior, prepárate para as críticas e aprende a aceptalas, a revisión do código por parte dun mentor adoita ser un proceso doloroso. Pero ao mesmo tempo, unha habilidade obrigatoria é a capacidade de defender o propio punto de vista e argumentar de forma construtiva; ás veces a verdade nace nunha discusión. Os desenvolvedores nunca deixan de aprender, practicamente non hai teito na profesión, polo que a capacidade de aprendizaxe e o DESEXO de aprender cousas novas son a base do teu desenvolvemento.

Fury Road: a viaxe do programador de facturación

A miúdo pregúntanme cando un principiante chega ao nivel medio e cando se lle pode chamar "maior" con orgullo. Creo que o momento do paso de nivel a nivel non está determinado polo número de anos traballados, aínda que as competencias prácticas son un criterio fundamental. Son precisamente as habilidades blandas as que moitas veces determinan a velocidade do crecemento dun programador: un principiante adestrado e traballador pode escribir código de alta calidade en varios idiomas e poder traballar en equipo en só uns meses. É posible que un programador con 10 anos de experiencia non poida resolver problemas non estándar, xestionar un equipo e ter habilidades unilaterales.

Así é como vexo o camiño de desenvolvemento dun programador de facturación, así é como crecemos especialistas cualificados no noso equipo de Forward Telecom. Parece que non falta nada, pero sempre estou agradecido polas adicións útiles ao punto.

Fonte: www.habr.com

Engadir un comentario