Cómo pensar como agencia para convertirse en un mejor desarrollador

Mi compañía, Hallam, participó en una salida completa de la compañía en la sede de Google en Dublín el año pasado y parte de ella implicó una discusión sobre la “Agencia de Viitorul”. La discusión se ha centrado en cómo los cambios en el mercado laboral y la evolución de la tecnología requerirán que la comunidad de desarrollo (y otras comunidades digitales relacionadas) evolucionen de los optimizadores a consultores. En este artículo, me ramificaré de los blogs técnicos habituales publicados en este excelente sitio web y comenzaré a discutir habilidades y comportamientos blandos que ayudarán a la comunidad a pasar de los optimizadores a los consultores.
No será una sorpresa para los niños de mi equipo leer esto y escucharme hablar sobre The Clean Coder, un código de programadores profesionales, de Robert C Martin (alias tío Bob). Uno de nuestros desarrolladores presentó mi libro (¡gracias Pog!) Y fue una experiencia que realmente cambió la vida. Este artículo no es una revisión, por lo que no entraré en detalles, pero el tema clave es la base del libro es sobre cómo los desarrolladores no son (han sido?) Tratados como industrias de servicios profesionales, como abogados y contadores. El tío Bob se refiere a una historia en la que se esperaba que trabajara un sábado para entregar un proyecto, pero se le negó el acceso al equipo legal para el que tenía preguntas cruciales ese sábado “porque son profesionales”. El libro explica algunos comportamientos que puede tomar y ayudarlo a comportarse como un profesional, para ser tratado como uno.
Uno de los puntos privados que resonó conmigo fue el momento en que un antiguo sistema en el que había trabajado fue retirado y quería traerlo de vuelta. El CEO de la compañía le dijo “Ok Bob, haz un plan. Muéstrame cómo puedo ganar dinero. Si lo haces y creo que reiniciaré [el proyecto] nuevamente “. Comportarse como profesional, ser tratado como profesional, esto me hizo pensar que, en general, como desarrolladores, a menudo pensamos en los desarrolladores y nos centramos en nuevas tecnologías, nuevas bibliotecas, nuevas plataformas para probar nuestro código y la lista puede continuar. Es fácil centrarse en la parte técnica de nuestro trabajo, pero la realidad es que se nos pide que pensemos comercialmente en nombre de los negocios y los clientes. Para mí, es una habilidad que falta mucho para muchos desarrolladores y una habilidad que puede elevarlo de un buen desarrollador a uno excelente. Pero “¡este es un gerente de proyecto / propietario del producto / trabajo del cliente!” Te escucho exclamar y tendrías derecho a creer eso. Es su trabajo, pero hay decisiones en las que estos roles no están involucrados y que pueden tener un profundo efecto financiero en un negocio para el que nosotros, como desarrolladores, debemos asumir la responsabilidad. Comencé y dirigí mi propia agencia, así que a menudo tomo esta forma de pensar en sí misma. Recientemente me di cuenta de que todos podemos beneficiarnos si lo pensamos y si nos beneficiamos como desarrolladores, podemos transmitir ese beneficio al resto de nuestro equipo y clientes. Cualquiera que trabaje en un equipo ágil ya debe saber que los equipos interfuncionales son una necesidad, y la interferencia no se centra solo en el desarrollo.
Reinventar la rueda Quiero pasar por un proyecto reciente que trabajé para resaltar exactamente este problema. Este cliente vende CD musical en toda Europa. Tenían un sitio web creado hace unos ocho años, que se repitió continuamente desde su lanzamiento. El cliente se nos acercó porque quería mejorar la tasa de conversión en su sitio, por lo que comenzamos a investigar lo que ya tenía. Problema número 1: el desarrollador ha creado una plataforma de comercio electrónico personalizada para el cliente. Efecto: nadie más que el desarrollador original podría apoyar efectivamente esta plataforma de comercio electrónico. Esto vinculó al cliente a este desarrollador. Algunos podrían decir que esta es una estrategia deliberada para proteger el contrato con el cliente. Lección 1: No reinventen la rueda. Las horas/días/años solo estaban en las plataformas comerciales electrónicas con código abierto, sistemas de gestión de contenido y bibliotecas de propietarios (o preferiblemente) existentes, por lo que aprovecha todo el trabajo duro.
Para aclarar mi posición a este respecto, no están en contra de los sitios web personalizados cuando es necesario, es absolutamente necesario. Hace ocho años, ya había plataformas comerciales electrónicas que podrían haberse utilizado para construir el sitio. Hoy en día hay muchas plataformas de comercio electrónico para usar, incluido nuestro amante de WooCommerce, por lo que rara vez hay un caso en el que tenemos que construir una a la orden.
La arquitectura técnica Debida a la naturaleza de la forma en que funciona la industria de la música, existen reglas bastante complejas con respecto al origen de la acción de la música. Parte de esta acción es propiedad del minorista, otros por distribuidores y los diferentes distribuidores tienen diferentes reglas para los requisitos mínimos de comando. Todo esto se vuelve bastante complejo de administrar, por lo que, por supuesto, el cliente ha pedido que este complejo flujo de trabajo se integre en la forma en que trabaja. Luego, el desarrollador integró esta funcionalidad personalizada en el sitio. El problema número 2: el desarrollador ha creado funcionalidades complejas en torno a la lógica comercial en el sitio de comercio electrónico en sí. Efecto: los sitios web deben tratarse como consumibles y, a medida que avanza la tecnología, a veces puede ser más rentable lanzar lo que ya tiene y comenzar de nuevo. Lección 2: No mezcle la lógica comercial compleja que funcione con el propósito principal del sitio web. Mantenga el propósito del sitio web claro y específico y cree sistemas separados que puedan integrarse para la gestión de la lógica empresarial. Este cliente necesitaba un sistema de gestión de pedidos y compra, no un sitio web electrónico demasiado complejo.

Estaba claro que la plataforma existente no era fácilmente personal. Por supuesto, consideré a WooCommerce la mejor plataforma. El cliente tiene un catálogo de productos complejo, pero no tan complejo que arrojamos WooCommerce en un centímetro de su vida. Todos los sitios web se vuelven finales y luego comenzamos a ver los requisitos del sitio. La mayoría de los requisitos son funcionalidades de comercio electrónico bastante estándar, pero ha habido ciertos requisitos muy específicos basados ​​en los puntos que dije anteriormente sobre distribuidores y comandos mínimos. para resolver este problema. El cliente tiene un presupuesto decente, pero no es interminable, y está claro que no era suficiente presupuesto para responder la funcionalidad que tenía, no era necesariamente una buena idea. El problema número 3: el cliente está en una posición en la que no es rentable reemplazar su sitio web existente: el cliente está bloqueado con una antigua plataforma de viento Lección 3: los desarrolladores de PHP se codifican en mente, donde los objetos son discretos y desacoplados. Aplique este principio a la arquitectura técnica general, para que los elementos individuales puedan ser reemplazados, en lugar de toda la aplicación.

Copyright statement: Unless otherwise noted, this article is Collected from the Internet, please keep the source of the article when reprinting.

Check Also

gkOVSBm5B8SgiXmo

Shopify vs WooCommerce – ¿Cuál es la mejor plataforma?(Comparación)

Shopify vs WooCommerce

Leave a Reply

Your email address will not be published. Required fields are marked *