¿Con qué tecnologías de software se niega a trabajar o considera una solución técnica?

Primero, Ruby. De hecho, dejé un trabajo cuando me dijeron que iban a reescribir todo el proyecto en Ruby on Rails. No tengo carne con rieles, per se. La tecnología parece terriblemente 2008, y no soy un gran admirador de CRUD. Pero también tiene algunas cosas geniales.

No, es el lenguaje en sí mismo lo que no puedo soportar. El hecho de que pueda eliminar elementos sintácticos y luego dejar que el compilador lo descubra es una locura. Y debería haber una sintaxis para especificar un bloque de código. Gran parte del código Ruby que veo es doloroso de ver y completamente desconcertante. No tengo idea de por qué algunos ingenieros lo encuentran “divertido”.

Y para ser honesto, muchos de los ingenieros de Ruby que he conocido son snobs tecnológicos insoportables y obstinados. Bebieron el Kool-Aid.

Siguiente: Guión de café. Sabe a alguien que sumergió JavaScript en salsa de rubí e intentó hornear un pastel con él. Deja un sabor amargo y empalagoso en mi boca. Sin mencionar que es completamente superfluo. Agrega una sintaxis horrible encima de un lenguaje que ya tiene una sintaxis perfectamente buena. Y luego tienes que compilarlo para probarlo. Una de las mejores cosas de JavaScript es que solo se ejecuta en el navegador. Haga un cambio, actualice la página. ¡Auge!

Y, por supuesto, TDD y BDD. La promesa de que la gente de marketing puede escribir pruebas de BDD nunca se cumplió. Las herramientas BDD tienen una sintaxis, una que debe seguirse. Es un poco, más o menos parece inglés. Y con cualquier desarrollo impulsado por pruebas, el objetivo del código que escribe es pasar las pruebas que escribe. Y luego, cuando no es así, el problema podría estar en el código … o podría estar en las pruebas que pasó todo el tiempo escribiendo. Hay pocos incentivos para escribir un buen código.

Antes de dejar ese trabajo, renuncié, los vi construir el reemplazo más horrible, que estaba completamente desprovisto de cualquier visión arquitectónica. Pero pasó todas las pruebas.

Anticipo votos negativos sobre esto, pero tenía que decirlo.

Java ¿Por qué? ¿No es genial la JVM? ¡Es! Y es exactamente por eso que ya no consideraría Java: hay otros lenguajes JVM que son mucho mejores en general, sin sacrificar la mayoría de las ventajas de JVM. Entonces, incluso si tengo muchas razones para usar Java, ¡es posible! Todavía puedo usar Scala en su lugar. O Clojure, aunque realmente preferiría Scala. Java es simplemente un mal lenguaje, pero viene con una gran plataforma; felizmente, la plataforma ha sido liberada. Ahora ya no tenemos que lidiar con el idioma. Además, generalmente prefiero el código nativo a la JVM, pero esa es una historia diferente, ni aquí ni allá.

También hay algunas tecnologías tan malas que ni siquiera las usaría para sus supuestos nichos: PHP es quizás el mejor ejemplo aquí. Casi cualquier otra cosa es mejor para un nuevo proyecto web.

Como regla general, no me gusta trabajar con ninguna tecnología que sea completamente específica del proveedor. Esto no significa que solo trabajo con tecnología de código abierto. Prefiero no estar encerrado en una pila de tecnología que depende completamente de un solo proveedor.

SAS es un gran ejemplo de una tecnología cerrada. Es muy potente y es un estándar de la industria para el análisis estadístico. Sin embargo, el lenguaje SAS es propietario. Si su análisis se basa en SAS, está bloqueado en su plataforma. Por otro lado, estaría bien con la compra de una implementación patentada de R.

Si estoy usando una solución específica del proveedor (por ejemplo, Oracle), trato de evitar los complementos específicos del proveedor para evitar el bloqueo del proveedor.

Hay algunas excepciones a esta regla. Primero, no se extiende a mi vida personal. Estoy de acuerdo con el uso de productos Apple para uso doméstico y personal, porque no estoy tratando de escribir software para integrarlo con esos productos.

En segundo lugar, estoy dispuesto a considerar una pila de tecnología específica del proveedor si no hay otras opciones abiertas viables. En mi trabajo anterior trabajé con OPNET para modelar y simular redes. Estaba cerrado y patentado, pero ninguna de las otras opciones se acercó en términos de adopción o funcionalidad.

Si te consideras un programador profesional, NUNCA rechazarás un trabajo o proyecto debido al lenguaje de programación utilizado. Es un desafío y siempre mejorarás mucho tus habilidades al aprender un nuevo lenguaje de programación. ¿Cómo puede comparar los lenguajes de programación si nunca construyó un proyecto SERIO con ellos?

Sin embargo, si está creando una startup personal, puede elegir lo que más le guste y puede hacer el trabajo con CALIDAD

Si estuviera creando una startup web personal, nunca elegiría PHP porque odio su sintaxis y la encuentro limitada (basada en la experiencia laboral PRO).

Depende del dominio. Hay muchas tecnologías y herramientas que han resultado ser inferiores en comparación con las demás, independientemente de su popularidad. Considero que Php es uno de esos para crear aplicaciones en la web. Si tuviera control total sobre la pila, nunca introduciría Php. Hay muchas mejores opciones.

Microsoft, IBM, Oracle y SAP. Me recuerdan dinero, trabajos y tener que hacer lo que me dicen.

La notable excepción es Apple. Ganan más dinero que los hombres de negocios, pero estoy de acuerdo con eso. No parecen un negocio. Steve Jobs nunca usó un traje.

Tiendo a alejarme de las tecnologías que no tienen un futuro prometedor. Incluso entonces, uso lo que requiere el proyecto, pero dejaré en claro en la entrevista cuáles son las tecnologías esperadas. Para un trabajo, aprendí que tenían una buena cantidad de código heredado de Adobe Flex / Actionscript, y no me interesaba aprender eso. Pero dado que fue solo por un tiempo, y me enfocaría principalmente en la nueva versión del producto, me inscribí. Regresaron a su palabra, y aprendí que sería el 75% de mi trabajo para el próximo año. Eso, junto con los recortes salariales en toda la empresa en 2 meses, me convenció para encontrar un nuevo trabajo lo antes posible, y no confiar en nadie en el sector financiero nunca más.

Windows, PHP y Ruby

La base de datos Oracle.

Microsoft Windows