¿Debo usar el idioma con el que me siento más cómodo o la empresa "estándar"

18

Voy a desarrollar un sitio de Intranet para mi planta específica, y el estándar de nuestra compañía para el desarrollo web es IIS + ASP.Net + VB.Net + Microsoft SQL Server (tenga en cuenta que tenemos más de 10 plantas). El sitio de Intranet solo será utilizado por mi planta, y yo soy el único que lo apoyará. Soy mucho más competente con una configuración de LAMP , y podría hacer desarrollo y resolución de problemas mucho más rápido con PHP que ASP.Net. Aunque el "estándar" de la compañía es ASP.Net/VB.Net, la mayor parte de lo que la compañía hace en su conjunto es comprar software de terceros (que generalmente está basado en Java ), y muy, y me refiero a muy pocas personas en la empresa incluso sabeVB6 , y mucho menos ASP.Net/VB.Net.

Dicho esto, ¿ es mejor violar el estándar de la compañía e ir con la configuración que puedo soportar mejor, o es mejor ir con la configuración que la compañía puede soportar mejor si alguna vez me fuera, aunque nadie actualmente? en la empresa puede soportar su propio estándar de todos modos?

Algunos factores adicionales a considerar en mi caso personal:

  • Nuevamente, esto es solo para mi planta, y soy el único que lo respaldará a menos que deje la empresa, y luego mi reemplazo lo respaldaría. No alguien más ya en la empresa.
  • La compañía desarrolla muy poco con su estándar de todos modos.
  • Casi ninguna de las compañías de software existente utiliza su estándar.
  • Si elijo el estándar de la compañía, entonces tengo que usar la versión Express de Microsoft SQL y un sistema operativo Windows 7. Según mis lecturas, la versión Express está bien para uso comercial, pero el tamaño de la base de datos es limitado.
Drew Chapin
fuente
25
La palabra clave aquí es violar . Has elegido la palabra correcta, y solo leer tu propia pregunta debería decirte que esta es una idea bastante tonta. Han elegido el estándar por una razón. Si no está de acuerdo con esa opción, debe canalizarla hacia arriba formalmente.
Joel Etherton
3
"Me refiero a que muy pocas personas en la compañía conocen VB6, y mucho menos ASP.Net/VB.Net". Realmente no veo qué tiene que ver eso con nada. VB6 es un código heredado feo; el hecho de que nadie lo sepa es algo realmente bueno.
DeadMG
1
@DeadMG, el problema es que ninguno de ellos conoce VB.Net tampoco. Entonces, ¿qué importa qué idioma uso? Aún tendrían que contratar a alguien más para que lo apoyara si me fuera.
Drew Chapin
3
SQl Server Express admite bases de datos de hasta 4 gb. Eso es por lo general suficiente, si es no, entonces se necesita alguna otra base de datos y es probable que se debe tomar con las personas pertinentes (TI chico, superiores, etc.)
Holger
3
@Baboon, sí, no es como si sitios como Facebook alguna vez usaran algo tan poco profesional
SWeko

Respuestas:

38

Nuevamente, esto es solo para mi planta, y soy el único que lo respaldará a menos que deje la empresa, y luego mi reemplazo lo respaldaría. No alguien más ya en la empresa.

1 - No asumas que eres el único que va a apoyar esto. Te gusta tu tiempo de enfermedad y tus vacaciones, ¿verdad? ¿Qué sucede si necesita tomar un permiso de maternidad / paternidad extendido o algo así? ¿Quién va a apoyar tu aplicación entonces? Además, ¿qué pasa si desea hablar con alguien sobre problemas técnicos específicos de su empresa? ¿Qué pasa si desea tener revisiones de código? ¿O necesita ayuda con un error complicado? En todos estos casos, es útil estar entre otros con información sobre la tecnología que está utilizando, específicamente cómo se puede aplicar para resolver los problemas específicos de su empresa.

La compañía desarrolla muy poco con su estándar de todos modos.

2 - El hecho de que exista algún documento no significa que realmente sea el estándar o que signifique algo. Puede significar simplemente que hay un grupo de personas políticamente influyentes que defienden este enfoque, y puede resultar que haya otros subgrupos que adopten enfoques diferentes.

Su problema puede ser simplemente que el "estándar" ha evolucionado a un estado indocumentado de facto que entra en conflicto con el "estándar" documentado. O puede haber muchas pequeñas agrupaciones no oficiales de personas que utilizan diferentes "estándares", y uno de esos grupos logra hacer oficial su "estándar". Probablemente necesites preguntar para descubrir qué otros miembros de tu grupo, que también pueden apoyarte a ti y a tu aplicación, consideren las mejores prácticas. Pregúntales qué se sienten cómodos contigo usando. Planifique el panorama tecnológico real de su empresa y descubra dónde está el know how. Al igual que cualquier buen conocimiento tribal en evolución, la única forma de saber cómo proceder es hablando con la gente.

3 - No deje pasar las oportunidades profesionales para aprender cosas nuevas . Tienes que evitar ser encasillado en esta industria. Sé ágil Es posible que tenga la oportunidad de ganar algo de amplitud y aprender una nueva forma de resolver un problema. Sin mencionar que estás adquiriendo nuevas habilidades para tu currículum. Principalmente solo puede ayudarlo a tener que salir de su zona de confort para hacer algo nuevo. Dicho esto, si lo diferente / nuevo es tan extremadamente nicho que no crees que tú o ningún futuro empleador obtendrán ningún valor de esas habilidades, entonces tal vez esta no sea una gran oportunidad. Pero tener la oportunidad de ser un experto en ASP.net y LAMP ciertamente te abrirá los ojos y solo puede ayudarte en tu carrera. No hay nada como un proyecto real con una fecha límite que te obligue a aprender realmente algo.

Así que mi consejo, no lo hagas solo. Averigüe dónde se para realmente la gente y decida dónde puede encajar mejor. Si necesita salir de su zona de confort, aproveche esto como una oportunidad para crecer profesionalmente.

Doug T.
fuente
44
+1: Apoyarás esto mientras trabajes allí. Sin embargo, si te vas, alguien más lo apoyará.
unholysampler
1
Esta es una buena respuesta, pero agregaría que el OP debe hablar con su gerente sobre las compensaciones para ver cuán estrictos consideran el estándar y si aprobarían su uso de otra pila para este proyecto.
Mike Partridge
No asuma que es el único que va a apoyar esto : también, de esta manera, las personas pueden reutilizar el código entre sí, en lugar de reinventar la rueda cada vez que necesitamos algo que ruede.
Konerak
2
La forma más rápida de quedar atrapado en una posición es hacerse insustituible. Si no puede ser reemplazado, no puede ser promovido.
Burhan Khalid
9

Dicho esto, ¿es mejor violar el estándar de la compañía e ir con la configuración que puedo soportar mejor, o es mejor ir con la configuración que la compañía puede soportar mejor si alguna vez me fuera, aunque nadie actualmente? en la empresa puede soportar su propio estándar de todos modos?

Es una decisión de gestión. Hágales saber sus preocupaciones e insista formalmente en cambiar.

Dicho esto, un idioma es una herramienta y debes elegir la herramienta adecuada para un trabajo; hazles entender que no atornillas un tornillo con un martillo.

Fabián Heredia Montiel
fuente
Importante tener en cuenta que, en el contexto de la pregunta (dado el nivel de detalle disponible) ASP.NET y PHP son tanto la herramienta correcta para el trabajo en el que tanto A muy capaces plataformas
Murph
1
ASP.NET es posiblemente más capaz, es solo que el operador conoce mejor php.
Kevin
1
@Kevin, la única razón por la que podría argumentar que ASP.Net es más capaz que PHP es que se integra mejor con la seguridad de AD / Windows a pesar de que todavía es posible integrar PHP con la seguridad de AD / Windows. Fuera de eso, no he visto ventajas de ASP.Net sobre PHP.
Drew Chapin
Por su propia admisión, usted conoce php mucho mejor, por lo que no es sorprendente que diga eso.
Kevin
8

¿Tiene aspiraciones de promoción o está trabajando en otros proyectos? Si es así, sugiero que "hacer lo suyo" tendrá dos efectos negativos que casi con seguridad resultarán en (paráfrasis) "Yo seré el que lo respalde, hasta que me vaya"

  1. Debido a que eligió no seguir los estándares de la compañía, demuestra que no es particularmente adecuado para funciones más importantes, ya que no puede seguir instrucciones simples.
  2. Debido a que eligió no seguir el estándar de la compañía, será su problema que nadie más en la compañía pueda soportar su código.

Si elige usar el estándar, no será su responsabilidad continuar manteniendo el producto cuando (si) surge una oportunidad de promoción u otro proyecto.

La otra forma de ver una analogía ridícula. Me mudo a un país donde conducen por la izquierda, sin embargo, estoy mucho más acostumbrado a conducir por la derecha, prefiero conducir por la derecha, por eso soy mejor y puedo conducir más rápido. ¿Debo conducir por la derecha?

Mattnz
fuente
+1 para el último párrafo, especialmente en términos de capacidad de la plataforma, realmente no se puede justificar la elección de PHP en lugar de ASP.NET. Puede haber un argumento para cambiar el estándar basado en las capacidades de los equipos de desarrollo ...
Murph
5

Las empresas tienen estándares por una razón, si hay un estándar establecido formalmente que dice usar x, entonces debe justificar y.

Esto no significa que no pueda usar y, significa que debe comprender el razonamiento detrás del estándar y obtener la aprobación antes de violarlo.

Quizás después de que comprenda por qué, ya no querrá violarlo, tal vez verá que necesita ser cambiado o desechado, o que no se aplica en este caso, por lo que usar y no es un problema.

Si corresponde, a menos que pueda cambiarlo, debe seguirlo. Los estándares de la compañía no están en el mismo nivel que las órdenes directas, pero su empleador tiene una expectativa razonable de que usted siga ambos a menos que violen la ley.

jmoreno
fuente
1
Los estándares de la compañía a veces están relacionados con razones de marketing en lugar de consideraciones de eficiencia o técnicas.
Señor Smith
@ Señor Smith Aun así, aún necesita hablar con su gerente o alguien con poder de decisión para verificar esas razones. Vea mi respuesta sobre esta pregunta.
Mike Cellini
1
@MisterSmith: las razones de marketing válidas son tan importantes, si no más, que la mayoría de las consideraciones técnicas. Si no conoce el motivo, no conoce la validez del motivo.
jmoreno
Sí, pero al leer la pregunta tuve la impresión de que no hay un gerente encima de él para este proyecto, y que a nadie le importa realmente hacer cumplir los estándares. Si eso fuera cierto, no veo ninguna razón para seguir ciegamente los estándares en lugar de simplemente elegir la tecnología más conocida.
Señor Smith
@MisterSmith: No está siguiendo ciegamente los estándares, está siguiendo ciegamente los estándares de la compañía. Hay una diferencia Y si a nadie le importa, entonces debería ser lo suficientemente fácil obtener permiso para violar o incluso cambiar el estándar.
jmoreno
2

Todo depende de si vas a ser despedido o no. Si vas a ser despedido, no lo hagas. Si no vas a ser despedido, entonces sigue adelante.

Mike Nakis
fuente
-1 Este es, en mi opinión, un consejo terrible. También podrías decirle a la gente que escriba código feo, incomprensible y ofuscado sin documentación (o peor aún, incorrecta) solo para hacerse indispensable. Sepa que si se hace indispensable, nunca podrá ascender en la empresa, ¡pero quédese haciendo lo que estaba haciendo y manteniendo su propio código (horrible) por años!
Konerak
@Konerak Bueno, tienes razón. No estaba hablando en serio al respecto. Editaré mi pregunta para mantenerte feliz.
Mike Nakis
Lo siento, Mike, no entendí la parte de ironía;) Me alegré de ver una respuesta sobre indispensable, porque me dio la oportunidad de reaccionar y la gente leería al respecto.
Konerak
1

Creo que puede anticipar muchos de los problemas que podrían surgir de esto y hacer un plan detallado para si alguna vez tuvo que abandonar la empresa.

Un problema que podría arruinar los trabajos sería si te fueras y HR tuviera que buscar tu reemplazo. Dado que tratan activamente de comprender lo que hizo y contratan de acuerdo con las habilidades necesarias, o simplemente, miren el documento original que especifica la política de IIS / ASP.NET / etc. y contratar ciegamente a alguien con esas habilidades para mantener su código LAMP (en el principio "porque lo dice"), creo que esto último es mucho más probable.

Lo más fácil (a largo plazo) es hacer lo que fabianhjr recomendó y cambiar el estándar. Cámbielo para incluir tanto Microsoft como LAMP si son resistentes a un cambio completo.

jonsca
fuente
En realidad, la publicación oficial de mi trabajo no requería ningún conocimiento de programación / desarrollo web.
Drew Chapin
1
@druciferre Más razón para respetar todo entonces. Si este proyecto se convierte en una gran parte de la responsabilidad de su trabajo y hubo alguna eventualidad en la que volverían a contratar en función de la descripción original de su trabajo, estarían en un arroyo (no es que tenga que preocuparse en ese momento, sino solo por por ellos).
jonsca
1

En este caso, debe seguir el estándar. Si el estándar no parece aplicarse, debe hablar con su gerente sobre cómo hacerlo en un idioma diferente.

De todos los estándares a seguir en el desarrollo, personalmente considero que la elección del idioma es la más importante . Ignorando la elección de idioma estándar a favor de uno con el que se sienta más cómodo, deja a los compañeros de trabajo y / o sucesores en un arroyo sin una paleta, porque es posible que no tengan las habilidades para trabajar en su proyecto. Las decisiones de contratación de una empresa se basan en la elección del idioma, por lo que decisiones como estas pueden tener un gran impacto. La introducción de otra plataforma / lenguaje más puede obligar a la empresa a tener problemas cuando comienzan a contratar a otras personas.

Más allá del lenguaje, debe considerar el soporte interno para el servidor LAMP. ¿Quién va a administrar Apache? ¿Qué hay de MySQL? ¿El software de la compañía se ejecuta en una base de datos diferente? ¿Los administradores estarán dispuestos a administrar una nueva plataforma? Incluso si planea administrar estos servicios, las obligaciones eventualmente podrían recaer en otra persona. Si planea administrar los servicios, ¿los administradores de red / servidor le permitirán hacerlo?

Las ramificaciones de introducir una plataforma diferente pueden ser amplias y profundas. No seguir el estándar puede terminar afectando a muchas personas además de usted. A pesar de que es más hábil en LAMP que ASP.NET, construir sobre esa plataforma podría terminar costando mucho más a su empresa a largo plazo. La clave aquí es comunicarse con su gerente y comprender los efectos de la decisión final.

Mike Cellini
fuente