transporte telefono que numero framework español app scala lift

scala - telefono - lift transporte



Posicionamiento para trabajos de Scala o Lift (5)

Estoy empezando a entender a Scala y me gusta mucho.

¿Cómo puedes posicionarte para obtener un trabajo remunerado como desarrollador de Scala (suponiendo que se vuelvan más comunes)?

  • ¿Qué partes del ecosistema de Scala tienen el mejor potencial de trabajo (Lift, Actors?).

  • ¿Cómo puede ganar credibilidad con un posible empleador sin poder señalar la experiencia laboral de Scala (tal vez la experiencia en proyectos de código abierto?).

(Es de esperar que las preguntas anteriores sean de interés general para la gente de Scala. Si desea tener en cuenta mi situación particular en su respuesta, aquí hay algunos detalles sobre mí: desarrollador de larga data (principalmente Java) con un doctorado en computación; actualmente no funciona; Estoy atado a una ubicación que no es de vanguardia (Rochester, NY), por lo que puedo estar limitado a trabajos remotos.

Actualización 30/07/2010:

Gracias por las respuestas. Me gustaría aumentar el énfasis en el problema de la ubicación. Estoy atado por mi familia a un lugar donde probablemente Scala no trabaje localmente por mucho tiempo. ¿Hay posibilidades realistas de conseguir un trabajo remoto en Scala? En caso afirmativo, ¿cómo se posiciona para obtener un trabajo remoto ? (Se podría hacer una pequeña cantidad de viaje, pero no un guerrero de la carretera).

Además, me preguntaba sobre cómo aprovechar mi experiencia en la enseñanza. ¿La enseñanza de una clase de Scala en una universidad local haría una gran diferencia en la comercialización de uno como desarrollador , o simplemente desviaría más esfuerzo de lo que vale?


Creo que su mejor apuesta es ser bueno en Scala y hacerse visible en la comunidad de Scala. Estos no son necesariamente lo mismo, pero afortunadamente están muy relacionados en la comunidad Scala. Una vez que haga esto, definitivamente hay oportunidades de usar Scala para divertirse y obtener ganancias, ya sea como consultor / contratista o como empleado de tiempo completo (remoto). Como parte de mejorar y ser más visible, recomendaría estar activo en una de las comunidades existentes ( Lift , Akka , ScalaNLP , lo que sea) o incluso salir a la selva y piratear para resolver un problema común, incluso si es solo hacer una alternativa nativa de Scala a una biblioteca popular de Java (p squeryl ej., squeryl y Dispatch tal vez no fueran necesarias, pero son increíbles).

Supongo que lo que digo es que contribuir a cualquier código de Scala bueno y útil será una buena experiencia y creo que el ecosistema es tan joven que no hay necesidad (o beneficio) de especializarse en una sola parte. Por supuesto, si hay un tema específico para el que Scala es útil y / o un campo específico que se beneficia de Scala que salta hacia usted, dirija su atención en esa dirección.


Habiendo tenido dos trabajos de Scala a tiempo completo en este punto, diría que lo más importante es aprender el sistema de tipos y las bibliotecas estándar por dentro y por fuera. Las tecnologías individuales pueden ser recogidas con relativa facilidad.

Además, comience a usar Scala (específicamente Specs y ScalaCheck) para realizar pruebas en su proyecto actual, hoy, si es posible.

Finalmente, como dijo pr1001, hazte visible en la comunidad Scala. Contribuya a un proyecto, interactúe en la lista de correo, vaya a #scala en freenode, responda preguntas donde pueda.


Si estuviera contratando en este momento, puedo decirle en este momento qué preguntas estaría haciendo y sobre el idioma . Es un lenguaje difícil de entender a un nivel profundo, incluso si parece fácil de usar y, como consecuencia, se puede esperar que comprenda el código escrito en una gran cantidad de estilos diferentes .

El conocimiento de las bibliotecas (siendo Akka y Lift las más obvias) la herramienta de compilación sbt es excelente, pero es un extra . Me gustaría saber que entiendes:

Si entiendes el idioma, recogerás las bibliotecas sin problemas, estoy seguro.

Otras bibliotecas:

  • scalaz para la programación funcional.
  • scalala para programación numérica (álgebra lineal, etc.)
  • scalaj para interactuar con Java

Tome su trabajo actual e implemente el desarrollo impulsado por el currículum. Simplemente reclame que xyz no se puede hacer a tiempo sin Scala, y luego úselo. Después de eso, lleve su proyecto al éxito y trabaje en otro lugar, abra su propio negocio o continúe desarrollando aplicaciones Scala en su propia empresa.

Funcionó para Dick Wall, por lo que debería funcionar para ti. :)


Posición Scala pura:

Encontrar una posición Scala pura no es muy fácil, pero es cada vez más fácil. Voy a realizar mi primera entrevista de trabajo en Scala en pocos días.

Espero que veamos muchos sistemas nuevos escritos completamente en Scala, y creo que estos sistemas serán en su mayoría sistemas de servicios pesados ​​de back-end. Estos sistemas utilizarán el estilo funcional Scalas menos propenso a errores para reducir errores. Creo que Akka, SBT y Specs serán marcos importantes para el desarrollador de Scala (esto no es una predicción ya que ya son importantes).

Si no encuentras una posición Scala pura:

Tu credibilidad viene de tu tiempo con Java. La mayoría de las grandes empresas tienen montones de código Java que deben mantenerse y desarrollarse. Si su trabajo es cuidar al viejo código de Java, y como un viejo gurú de Java, debería tener alguna opinión sobre cómo se debe hacer esto. El primer paso es cambiar la configuración de Maven para permitir un entorno mixto Java / Scala. Mudarse a SBT es probablemente su mejor opción. ¡Esta es una inversión de una sola vez que tiene que hacer o de lo contrario no podrá continuar!

  • Si trabaja de forma independiente, es probable que pueda reemplazar Java con Scala cuando lo desee, muy probablemente cuando tenga que volver a factorizar algún código antiguo. Hablar de Scala como un "marco" para Java (esto es técnicamente una mentira) que aumenta la productividad cuando se habla con el gerente de proyectos no técnico, esto podría calmar sus mentes preocupantes. Al final, será su responsabilidad asegurarse de que Scala se integre con Java. Pero como Scala lo hace muy bien, no es un gran problema. En realidad, mantener el antiguo código heredado no es un sueño para nadie, por lo que los PM generalmente están contentos si encuentran a alguien que lo haga por más de 3 meses. La gerencia probablemente aguantará tu rebelión.

  • Si trabajas en equipo es un poco más complicado. En este caso, debe enseñar al equipo Scala o, de lo contrario, no podrán entender su código. Debe persuadir a su PM para que reserve recursos para el entrenamiento de Scala (puede ser difícil). Cuando le presentas a Scala a un equipo, empieza pequeño. Mi experiencia es que un tío de Java necesita un tiempo para aprender Scala, por lo que no se hace de la noche a la mañana. Por lo tanto, ignora todo lo que es "difícil" cuando enseñas a Scala. Cuando el equipo comprenda lo básico, comience con las pruebas de escritura en Scala (gracias a Davetron5000 por este consejo), continúe usando Java para la programación en la aplicación (el código de producción). Con suerte, el equipo aprenderá y disfrutará a Scala y después de eso, bueno, todo está cuesta abajo desde ese punto.

¡Buena suerte!