it-swarm-es.com

¿Debo cambiar el idioma para dejar de volverse obsoleto?

Soy un programador ASP.NET/C# usando SQL Server como finalización.

Soy el director técnico de la compañía, estoy extremadamente feliz en todo lo que hago y considero los idiomas y el sistema que usamos para ser perfectos para lo que hacemos.

En el fondo de mi mente, aunque sé que a lo largo del tiempo los programadores pueden volverse obsoletos. Recuerdo como un pequeño joven que todos esos desarrolladores "viejos" lo pasaron y no podían mantenerse al día con los jóvenes.

Así que considerando que estoy feliz en todo lo que estoy haciendo. ¿Qué opciones hay para mantenerse al día con todo y evitar quedarse obsoleto?.

Una idea particular que yo uso es dejar que todos los nuevos desarrolladores usen y muestren las cosas que creen que son geniales. Si algo llame mi atención, entonces absolutamente será algo que todos usamos en adelante.

¿Pensamientos?

7
Robin Day

Aprender a muchos idiomas le brinda diferentes ideas: diferentes herramientas, en problemas.

Creo que es muy importante aprender varios muy idiomas diferentes. Tal vez un lenguaje funcional (esquema, haskell), un objeto orientado a objetos (SmallTalk, Ruby), orientado a la concurrencia (Erlang), una programación lógica (prólogo) y y.

Lo importante aquí es que los idiomas no deberían ser más de lo mismo. Si sabes C #, aprendiendo Java no te va a enseñar mucho. Si sabes c, Aprender Pascal no va a expandir tus horizontes intelectuales.

13
Frank Shearar

Para agregar a la respuesta de @ Frank: vale la pena aprender nuevos idiomas :incluso si nunca tiene la intención de usarlos en su trabajo. [*]

El punto importante es que aprender un idioma que no está acostumbrado a (decir, Haskell) le convierte en un mejor programador en el que usa diariamente (C #). Le ayuda a apreciar la diferencia entre la lógica fundamental que se aplica a todos los programas versus idiosincrasias en su lenguaje de programación diaria que ha dado por sentado.

([*] De hecho, es una mala idea comenzar a registrar el código en un idioma que solo ha estado usando durante una semana).

7
Tim Robinson

La gente de estantería pragmática tiene un nuevo libro que sale, escrito por Bruce A. Tate, titulado "Siete idiomas en siete semanas". Su propósito es cubrir siete idiomas muy diferentes con la intención del lector obteniendo una comprensión significativa de cada uno con el tiempo que han terminado.

http://www.pragprog.com/titles/btlang/seven-languages-in-seven-weeks

Creo que es un excelente remedio para mantenerse fresco.

3
markhellewell

No soy un director técnico, pero si me convertí en uno, haría esto.

Organizaría cierta fracción de horas de trabajo para proyectos laterales donde los desarrolladores deberían escribir algo limpio con los idiomas y herramientas, que son diferentes de los que usualmente utilizan. Estoy seguro de que puede encontrar un programa que necesita (pero aún no lo sé). Aquí hay algunas ideas:

  • Ruby en el sistema basado en los rieles que recopila votos de miembros del equipo para diferentes tipos de pizza, y ordena automáticamente la pizza de acuerdo con la distribución de votos. Muy útil al hacer una fiesta corporativa.
  • Si comienza a asignar su tiempo entre diferentes proyectos, seguramente puede necesitar un sistema de seguimiento de tiempo que recopila y analiza cómo los desarrolladores pasan sus horas de trabajo. Di, implementado en C++? (Algunos de nuestros programadores Perl están haciendo esto ahora mismo).
  • ¿Un parche al sistema de seguimiento de errores basado en la web que usa que refleja su forma muy específica de administrar errores? ¡Oh, el sistema se implementa en PERL, pero es todo el punto!
  • ...

Si cava, puede encontrar muchos programas "útiles" que ayudan a los desarrolladores en la oficina. Por supuesto, solo podría comprarlos con soporte a tiempo completo, pero también podría usarlos como proyectos que impiden que las personas se vuelvan obsoletas.

3
P Shved

No solo debe mirar en otro idioma, sino que hagas planes para sumergirse en ella (Rosetta Stone Software utiliza este enfoque). No quieres correr el riesgo de: "Sé cómo hacerlo en C #, ¿cómo se llama en Python?"

Eche un vistazo a lo que ha estado haciendo e identifica las áreas problemáticas. Luego encuentra un idioma que lo haga mejor. Es posible que tenga que probar más de uno, pero una vez que encuentre el mejor candidato, inicie un proyecto usándolo.

O use su mismo idioma, pero desarrolle una plataforma diferente como teléfonos inteligentes.

1
JeffO

Aprender un nuevo idioma y/o marco se abrirá nuevo ideas y horizonte para hacer su trabajo más agradable. No se está volviendo rancio y aprendiendo algunos bits nuevos todos los días, mantenga feliz a software.

Yo creo que, un desarrollador real y apasionado, siempre mira aprender la nueva tecnología de vanguardia e introducir/compartir eso con colegas.

Mi sugerencia es también ver las tendencias recientes en el desarrollo web de ASP.NET y el avance en la secuencia de comandos del lado del cliente. Relativamente nueva tendencia con MVC y Web API Frameworks están cada vez más populares con un apoyo comunitario detrás.

Por ejemplo: jQuery and KnockoutJs Las bibliotecas se pueden aplicar fácilmente en los proyectos de ASP.NET existentes, mejorando la presentación en poco tiempo :)

Sin embargo, hay una curva de aprendizaje que todos vamos.

0
Yusubov

Según los programadores pragmáticos, debe aprender un nuevo idioma cada año. Esto le ayuda a evitar que se vuelva obsoleto. Hay tantas mentsets diferentes a la programación, y cada idioma lo alienta a ver los problemas desde un ángulo diferente.

C # es un idioma que está evolucionando rápidamente. Comenzó como un simple OO Idioma, luego desarrolló una carga de características funcionales (Linq), y con C # 4 se ha trasladado al reino de lenguaje dinámico. Para abarcar completamente todas estas nuevas ideas, Realmente puede ayudar a aprender un idioma donde ese paradigma es el enfoque principal del idioma. Esto le dará la Agiliy Mental para utilizar completamente el aspecto relevante de C # que mejor resolverá su problema.

Ahora hay cargas de langaughes que puede aprender sin dejar el Framework .NET. Aprenda F # para asumir la programación funcional, Ironruby o IronPhepthon para una programación dinámica. Boo para (cualquier Boo es bueno) ... Como todo está en .NET, estos idiomas pueden hablar directamente con ellos, por lo que es posible que pueda usarlos directamente en su trabajo.

0
Mongus Pong

Puede ser interesante hacer como un pasatiempo y puedes ganar algunas ideas buenas. Incluso puedes decidir que te gusta la "nueva forma" de hacer las cosas mejor que la antigua manera. Sin embargo, a partir de la experiencia personal, me precedería contra tomar un cambio de trabajo para trabajar en un nuevo idioma. No decir que no funcione para todos, pero ciertamente no lo hizo.

He estado trabajando en Objective-C en la próxima/Mac/iOS por innumerables épulos, y aparte de un poco de idiomas, en numerosos idiomas, pero principalmente Python y Java - ¡ha sido mi pan y mantequilla. Decidí que valdría la pena bucear en Java más plenamente para ver cómo se diferenció y tal vez gane algún conocimiento que podría usar en el objc, y obtuve un trabajo como un ingeniero Java. Avance rápido de dos meses y ya había dejado de fumar.

La cosa es que puede ser difícil encontrar tiempo (o me resulta difícil, de todos modos) trabajar en proyectos de programación fuera del trabajo, porque eso se supone que debe estar de descanso. Si usted trabaja por cuenta propia o puede acordarlo con su gerente, configurando un tiempo de investigación durante sus horas de trabajo puede ser la mejor manera de ir.

0
user4051