La casa que Jack construyó. Parte 2

Interoperabilidad, especialización, formación de los desarrolladores

Si quieres comenzar desde el principio, le recomendamos leer nuestra primera parte del artículo, en que explicamos el principio de interoperabilidad.   

Prepararemos la tercera parte, en la que le contaremos sobre los lados positivos y negativos, los resultados intermedios del principio de interoperabilidad. Siga a nuestras noticias en Facebook. :)

Nuestra pila tecnológica

Bitrix24 establece una pila común. Y esa es php preparado por los desarrolladores de Bitrix24 que debe aceptar y jugar siguiendo sus reglas. La optimización de cualquier tipo es siempre una experiencia enorme es que las reglas de otros intentan de implementar los límites artificiales o provocan conflictos.

En el caso del desarrollo de nuestras aplicaciones para Bitrix24 tiene un poco otra pila tecnológica que considera los trabajos con protocolo de AMI, con las configuraciones de FreePBX para Asterisk PBX, varios subtipos de javascript, incluye los frameworks de los clientes y Node.js y no es todo, hay muchas cosas más!

Durante los años de experiencia en el desarrollo basado en Bitrix24 hemos realizado los flujos de los datos entre varios sistemas, inclusos ERP, Microsoft Active Directory, los sistemas de registros creados por propio criterio (auto escritos), los agregadores sectoriales, los sistemas de pago, motores de los sitios web y landings, los sistemas de web analista, varios PBX virtuales y los servicios de SMS. A veces también migramos los datos de varios sistemas a Bitrix24.

Antes trabajamos también con los sitios web basados en CMS 1C-Bitrix) pero ahora nos alejamos de este trabajo, por que encontramos la especialización de los procesos automáticos en negocios más interesante. 

Especialidades de los desarrolladores

Cada desarrollador elige en general pila tecnológica una especialidad que le gusta. Los desarrolladores que tienen más experiencia, saben como hacer muchas cosas distintas pero tienen sus preferencias.

El desarrollador puede decir la especialidad que le prefiere para trabajar.Por un lado, no vale la pena asignar el trabajo a quien no le gusta cumplir lo de ninguna forma.Por otro lado, el desarrollador puede indicar las tecnologías que le prefieren y en este caso, a veces, cambiar una tecnología en la tarea estableciendo plazos amplios para cumplirla.

A veces cuando el desarrollador resolve bien una tarea especializada entonces se hace un ejecutor principal para las tareas parecidas.

Desarrollo de desarrollador

La especialidad permite poco a poco pero permanentemente ampliar y actualizar la pila tecnológica para sí mismo y la empresa también.Los proyectos de soporte, nuevos proyectos que permiten el espacio amplio para el diseño de programación, la rotación constante de los proyectos promueven el proceso de capacitación y desarrollo.

La discusión y la valoración del proyecto con varios desarrolladores permiten encontrar las alternativas de soluciones para cada tarea y dejar un amplio margen. La búsqueda de las alternativas aumenta mucho el nivel de comprensión y la organización de código en equipo, además lo da impulso a los desarrolladores con poca experiencia.

Los límites de especialidad

Si una tecnología está muy especificada, por ejemplo como en caso con js-framework, se pone los límites importantes para aplicar el principio de intercambio: la elección de ejecutor se está reducido hasta uno o dos desarrolladores precisos que conocen la herramienta.

Los límites de esta manera no impide mucho por que la mayoría de los proyectos son de la pila tecnológica general, por eso no resulta difícil asignarlos para liberar el tiempo del especialista.

Por ejemplo, ahora dos nuestros desarrolladores están aprendiendo Vue.js. No es significa que no podemos asignar las tareas para Vue.js a otros desarrolladores.Lo podemos y lo hacemos! Pero en una perspectiva en el futuro los pioneros participarán en todos los proyectos donde se aplica Vue.js. Así se representa un variable en la planificación.

La potencia en descomposición

Hay un truco evidente: cualquier tarea puede descompositar hasta que casi cualquier desarrollador pueda cumplirla.La potencia de la descomposición consiste en la división en las tareas pequeñas.

Lo más importante que no olvide las dependencias y la importancia de los fusiones, si no la situación se pone rara.

Por supuesto a veces occuren problemas con diseño de programación.En este caso nos ayudan el conjunto de los enfoques para el diseño del producto, las reuniones con la persona que ha asignado la tarea y también los desarrolladores con experiencia grande que ayudan y dan consejos en momento necesario.

Formación y ayuda mutuas

El principio de interoperabilidad de los desarrolladores supone el trabajo en equipo, que por su parte forma una cultura de comunicación, ayuda y formación mutuas.

Programa de pasantías en las situaciones prácticas

Ya más de un año organizamos el programa de pasantía para estudiantes-desarrolladores de la universidad local. Unos practicantes trabajan de manera permanente y los dos entre ellos ya se han hecho los desarrolladores en nuestra empresa. 

Sin embargo, la universidad local forme a profesionales con las competencias distintas de nuestra especialidad. Además la empresa tiene sus reglas de la organización de código y maneras de resolver la mayoría de las tareas típicas. No cada practicante entiende nuestro sistema del entorno laboral y además en Bitrix24. Organizamos una presentación de nuestro entorno laboral, las reglas y Bitrix24 para responder a las preguntas principales. 

Formación de nuevos miembros de equipo

Todos nuestros desarrolladores aprenden Bitrix24 en el curso especializado y obtienen las certificaciones. Para los practicantes puede parecer a una tarea difícil, pero poco a poco obteniendo la experiencia todos consiguen.

En realidad hemos creado programa propio de mentores, digamos “Sensei y Padawans”. Sensei — es uno de los desarrolladores principales. Él tiene recurso inagotable del sentido común, la lógica, la paciencia y las soluciones de programación muy sencillas para que todo funcione. Ya ha enseñado cuatro personas lo que importante para nuestro equipo pequeño.

El practicante siempre puede pedir un consejo a un desarrollador que tiene más experiencia, una solución y para obtener un code review (que contiene explicaciones sobre lógica y la realización de programa). Las interacciones mencionadas se pasan cada día. Además eso nos ayuda mantener un nivel alto de la realización de todos los proyectos sin excepciones.

Por otra parte nuestros practicantes resuelven las tareas en equipo con el desarrollador que tiene más experiencia, mejorando y usando otra vez la funcionalidad realizada.Lo que permite a los practicantes estar en el flujo de las soluciones óptimas y en muchos detalles, para que no estar limitado en algunas tareas y no perder el proceso del trabajo.

Consejo y ayuda mutua

Los practicantes dan consejos a los practicantes, todo nuestro equipo suele ofrecer consejo y aprovecha la ayuda mutua en el trabajo, evitando la competencia personal. Pero tenemos el espíritu de competencia sana, cuando alguien quiere mejorar la calidad de las soluciones y cada desarrollador lo entiende de su manera. Por eso alguien trabaja de sobre para que sus soluciones mantienen el nivel alto, otro no comprende los principios de la competencia, trabajando tranquilamente.

Entonces aconsejar con el compañero de trabajo es una cosa normal. Cada desarrollador tiene su máximum al lograr de que el/ella prefiere pedir un consejo. Ayuda mutua vive y funciona gracias a la manera de trabajar profesionalmente y enfoque personal, también a través de compartir el principio del interoperabilidad.

P.S. Ingenieros

Cuando digo “el desarrollo” me refiero nuestro ingeniero de Asterisk. Él escribe código en su parte y le acercan “peregrinos” para pedir su consejo en funcionamiento de PBX y cómo elegir la arquitectura correcta. Nuestro módulo para integrar Bitrix24 con Asterisk (basado en el configurador de FreePBX), el soporte permanente y el desarrollo a lo largo de dos años todo eso es mérito del ingeniero.

Nuestro director técnico es también ingeniero con especialidad en Cisco y no sólo. Él combina los roles de desarrollador y el administrador de sistemas (especialmente cuando nuestro administrador está de vacaciones). Durante su experiencia ha resuelto muchos problemas técnicos y han dado un montón de consejos útiles para desarrolladores.

Nuestro administrador de sistemas es una persona de oro que gestiona todos entornos de desarrollo, prueba, production, copias de seguridad y otras cosas importantes. Siempre ayuda al desarrollador tanto como puede según sus competencias, da un consejo y a veces trabaja en equipo con el desarrollador.

Y por supuesto todavía no hemos mencionado nuestro director general. Él también tiene experiencia en el desarrollo y a veces participa en gestión de algunas situaciones complicadas y técnicas.

Por eso no olvide mencionar los ingenieros cuando se trata de los desarrolladores y además en el tema de ayuda mutua y formación.

***

En la tercera parte del artículo le contaremos sobre los lados positivos y negativos del principio de interoperabilidad. Nuestra página en Facebook le avisa cuando publiquemos el artículo.  Por cierto, ya estamos en LinkedIn y Instagram.
Volver a la lista