De aprendiz a senior en la empresa de facturación

El gerente de una empresa de facturación tiene dos formas de formar un equipo. El primero es reclutar "personas mayores" ya preparadas y crear continuamente tales condiciones de trabajo para que usen sus habilidades y experiencia al máximo, se desarrollen y al mismo tiempo no luchen. El segundo es crear un equipo a partir de una combinación de principiantes, "midas" y profesionales, para que se comuniquen, se influyan mutuamente, aprendan y crezcan dentro de la empresa. Estoy en contra de un círculo vicioso a la "sin experiencia - sin trabajo - sin experiencia" y no veo ningún problema en contratar a un desarrollador principiante. Forward Telecom ha estado ejecutando un programa de pasantías durante mucho tiempo, que se ha convertido en un trampolín para muchos empleados que trabajan.

Ahora le diré cómo veo la ruta de desarrollo del desarrollador de facturación y en qué secuencia necesita dominar las habilidades profesionales.

1. Aprende un lenguaje de programación


Para empezar, cualquiera. La prioridad es Java, Python y JavaScript, pero Ruby, Go, C, C ++ son adecuados para el conocimiento básico. ¿Cómo enseñar? Tome cursos gratuitos y de pago, puedo aconsejar la capacitación de Golang. Si el nivel de inglés lo permite, ver videos extranjeros es una buena habilidad adicional.

imagen

2. Comprender los conceptos del sistema operativo


Los sistemas operativos se basan en siete componentes que debe conocer y poder explicar el principio de acción:

  • Gestión de procesos;
  • Secuencias y código multiproceso;
  • Socket (interfaz de software);
  • Programación de E / S;
  • Virtualización
  • Almacenamiento
  • Sistemas de archivos.

Recomiendo tomar un curso básico de administración de Linux. Segundo sistema operativo en línea: Windows y Unix.

3. Acostúmbrate a la terminal


Por analogía con la fobia de una hoja en blanco, hay una fobia de una pantalla negra en blanco con un cursor parpadeante. Tendrá que superarlo para aprender a escribir buenos comandos en la línea de comandos.
Asegúrate de saber:

  • Bash y KornShell conchas;
  • Comandos find, grep, awk, sed, lsof;
  • Comandos de red nslookup y netstat.

imagen

4. Red y seguridad


La facturación está estrechamente relacionada con la red y los requisitos de protección de datos. No puede escribir servicios en línea sin comprender cómo funciona la red, por lo que debe aprender los conceptos y protocolos básicos: DNS, OSI, HTTP, HTTPS, FTP, SSL, TLS. Luego, cuando encuentre un error de Conexión rechazada, sabrá qué hacer.

5. Servidores


Después de estudiar los principios de transmisión de información en la red, puede comenzar los conceptos básicos de cómo funcionan los servidores. Comience con los servidores web: IIS, Apache, Nginx, Caddy y Tomcat.

Más abajo en la lista:

  • Servidor proxy inverso;
  • Proxy anónimo;
  • Almacenamiento en caché
  • Equilibrio de carga;
  • Cortafuegos

6. Explore la infraestructura como código


Creo que esta etapa es una de las más importantes. Se deberán resolver tres temas generales:

  • Contenedores: Docker y Kubernetes.
  • Herramientas de administración de configuración: Ansible, Chef, Salt y Puppet
  • Reserva: Terraform, nubes.

7. Aprender CI / CD


Otra habilidad útil para un desarrollador de facturación es poder personalizar la canalización para una integración y entrega continuas. En el campo de CI / CD hay herramientas Jenkins, TeamCity, Drone, Circle CI y otras. Spoiler: Estudiar Jenkins, ampliamente utilizado al principio, será suficiente.

8. Software y control de infraestructura.


El objetivo clave es comprender los conceptos básicos del monitoreo de aplicaciones. Las herramientas en esta área se dividen en tres grupos:

  • Monitoreo de infraestructura: Nagios, Icinga, Datadog, Zabbix, Monit.
  • Supervisión del rendimiento de la aplicación: AppDynanic, New Relic.
  • LMS: ELK Stack, Graylog, Splunk, Papertrail.

9. Servicios en la nube


En un futuro próximo, cada aplicación o software tendrá un equivalente en la nube. Tarde o temprano, los desarrolladores se enfrentan a las nubes, así que lea sobre los proveedores populares de la nube (AWS, Google Cloud y Azure) y los conceptos básicos de la tecnología.

10. Trabajar con la base de datos.


Todos los proyectos actuales utilizan bases de datos, y la experiencia en trabajar con DBMS y SQL facilitará el inicio del trabajo. Aprenda a escribir consultas SQL, use explicar y aprenda cómo funciona el índice. La forma más fácil es tomar un curso. También puede practicar habilidades en la documentación de Postgres, jugar con la replicación.

11. Impulsa las softskills


Un punto que de repente sale del lienzo general, pero no menos importante. Para comenzar, sea paciente. Te acostumbras rápidamente a situaciones como "arreglar el hierro, el programador", pero debes estar mentalmente preparado para el momento del lanzamiento de nuevos proyectos. Si en la programación tiene de cero a un año y es considerado Junior, prepárese para las críticas y aprenda a aceptarlo, revise el código como mentor; el proceso a menudo es doloroso. Pero al mismo tiempo, una habilidad obligatoria es la capacidad de defender el punto de vista y argumentar constructivamente, a veces la verdad nace en una disputa. Los desarrolladores nunca dejan de aprender, prácticamente no hay límite en la profesión, por lo que aprender y DESEAR aprender cosas nuevas son la base de su desarrollo.

imagen

A menudo me preguntan cuándo un principiante alcanza el nivel medio, y cuándo ya puede ser llamado "senior" con orgullo. Creo que el momento de transición de un nivel a otro no determina el número de años trabajados, aunque las habilidades prácticas son el criterio clave. De todos modos, las softskills a menudo determinan la tasa de crecimiento de un desarrollador: un principiante capacitado y trabajador puede escribir código de alta calidad en varios idiomas en unos pocos meses y poder trabajar en equipo. Un desarrollador con experiencia de 10 años puede ser incapaz de resolver tareas no estándar, administrar un equipo y tener habilidades unilaterales.

Así que veo la ruta de desarrollo del desarrollador de facturación, por lo que crecemos especialistas calificados en nuestro equipo de Forward Telecom. Parece que no me perdí nada, pero siempre estoy agradecido por las útiles adiciones en esencia.

Source: https://habr.com/ru/post/459886/


All Articles