2010-03-02 10 views
8

La cantidad de lenguajes de programación disponibles es tanto una bendición como una maldición, creo. Conozco un lote de lenguajes de programación, algunos a nivel de sintaxis solamente y otros lo suficientemente buenos como para hacer una codificación real (Python, C, C++, Haskell, Perl, BASH, PHP y muchos otros). He estado programando durante casi tanto tiempo como he estado usando intensamente las computadoras (6 años), en casi todos los paradigmas (funcional, imperativo, orientado a objetos), pero no me siento preparado para la industria del software.¿Cómo prepararse para la industria?

He estado escribiendo una gran cantidad de programas más grandes en muchos idiomas diferentes, en su mayoría basados ​​en red, incluidos los grandes servidores/clientes multiproceso, ¡y todavía no me siento preparado!

Actualmente estoy obsesionado con mi plan de "3 niveles", que incluye un lenguaje de alto nivel como Haskell, un lenguaje interpretado como Python y un lenguaje de bajo nivel como C, ¡pero no me siento lo suficientemente bien!

Sé cómo trabajar en equipo, y cómo trabajar según las pautas dadas, pero no estoy seguro.

¿Estoy preparado?
¡Por favor, gente amable de stackoverflow, ayúdame a salir de este lío! :(


Gracias por todas las respuestas, me gustaría poder elegir más respuestas como LA respuesta :)

+12

Solo toma un Valium y sigue con tu vida. Si has estado trabajando con Haskell, probablemente estés más avanzado que muchos programadores que conozco. – ChaosPandion

+2

¿Tiene usted un "plan de tres niveles"? Algunas personas han estado usando VB6 exclusivamente durante años y hacen paquetes de dinero. ¿Por qué no vienes a trabajar conmigo? – ChaosPandion

+1

¿Dónde vives y en qué parte de la industria del software quieres trabajar? –

Respuesta

12

Parece que sabes mucho sobre programación, pero no mencionas nada más. Ser un desarrollador de software requiere más que solo programación como una habilidad técnica. Reflexione sobre temas tales como el control de código fuente, pruebas unitarias/desarrollo basado en pruebas, integración continua, etc. Con suerte, aterrizará en un trabajo donde al menos uno de ellos está en uso. Intente y aprenda tantos ahorros de tiempo útiles como pueda con sus herramientas; intenta ser lo más flexible y eficiente posible con tu IDE.

En otros lugares, no se olvide de desarrollar las habilidades más personales; actitud y ética de trabajo, y más relacionado con su campo, cuestiones tales como la obtención de requisitos, la documentación de problemas y la descripción de problemas y soluciones. No te preocupes demasiado por esto si vas a ir de nuevo, porque no se espera que tengas un gran conocimiento de ellos, pero si al menos eres consciente de ellos y tratas de mejorar, entonces tienes una mayor posibilidad de hacerlo

Trate de evaluar los problemas de desarrollo de software generales que no codifican directamente, si no lo ha hecho ya: actitudes generales hacia el desarrollo orientado a la seguridad (y pruebas), el buen diseño y las mejores prácticas similares.

No se preocupe demasiado por ser perfecto desde el principio. Si no puede mejorar, no disfrutará de su carrera por mucho tiempo, y agotarse como programador no es muy divertido.

1

La cosa más importante que puedo pensar para tener éxito en la industria es ser capaz de responder de manera rápida y eficiente para cambiar.

0

La única manera de saber con certeza si está preparado es intentarlo. A veces, ser arrojado al fondo realmente ayuda y descubrirá que aprende más en ese primer trabajo en el mundo real de lo que hizo en todos los libros/etc que leyó en los años anteriores. Además, conocer varios idiomas te ayuda a comprender la semántica subyacente de la programación en general, pero en un trabajo real es probable que te apegues a uno o dos idiomas día a día, así que no te obsesiones con conocer todos los idiomas que existen.

Es mejor intentar & fallar que pasarse la vida preguntándose si está listo.

2

Ya sabes lo suficiente: hay un umbral mínimo de conocimiento requerido en la industria (que está por encima de lo que tienen algunos desarrolladores), pero parece que ya estás allí.

Para cualquiera con la aptitud, los nuevos lenguajes de programación, técnicas, etc., son fáciles de aprender. Una buena compañía para trabajar lo contratará basándose en sus habilidades, no en sus conocimientos (que pueden quedar obsoletos muy rápidamente).

Si desea destacarse como desarrollador de software, asegúrese de tener una sólida capacidad de comunicación para informes, correo electrónico, teléfono, reuniones, etc. Es un don más raro en el campo del software, y aunque no lo es necesario más valioso en los niveles inferiores, vale la pena en el largo plazo.

1

Recientemente tomé una prueba de programación que pensé que era una prueba buena y justa. Lo pasé sin un gran esfuerzo. Me dijeron que el 50% de las personas (todas son personas con programador en el currículum) ni siquiera saben por dónde empezar. Lo más probable es que su sinceridad y deseo lo coloquen en el tercio superior de la mayoría de los lugares para comenzar.

+1

¡Oh, sí! A la mayoría de los "desarrolladores de software" no les importa. Si te importa , será difícil mantenerse fuera del 10% superior. Desafortunadamente, la competencia no es lo que le permite pasar las entrevistas. –

+0

He asignado tareas a personas que supuestamente tienen 5 años de experiencia y no pueden obtener nada para compilar. – rerun

-1

Vaya a los dados o al monstruo o cualquiera que sea su sitio de trabajo favorito y vea lo que la gente está buscando. No es Haskell, es C++. Aprende bien y estás listo para comenzar. Una vez que estás en el mundo real, aprenderás con la suficiente rapidez las cosas que son importantes. Estas son principalmente las habilidades blandas que la escuela no te enseña. Cosas como cómo llevarse bien con los desorientados, cómo presentar tus ideas para que realmente sean consideradas, y cómo ver el bosque a pesar de que estás atrapado bajo una roca.

+1

Estoy bastante seguro de que si conoce a Haskell, cualquier otro idioma debería llevarlo un fin de semana para aprender. – Earlz

+0

La pregunta era acerca de estar listo para la industria. Conocer un lenguaje de programación que no es t ampliamente utilizado en la industria, no importa cuán difícil sea, no lo hará pasar a través de los detectores de recursos humanos. – jfawcett

1

Conociendo idiomas no es todo lo que puedes hacer.

Si puede, una colocación/pasantía hará maravillas. Cualquiera puede programar. La experiencia del mundo real te enseñará más que cualquier tutorial, autoaprendizaje o educación.

Naturalmente, obtener una pasantía requiere algo de experiencia, por lo que es mucho atrapar veintidós.

Si no es posible realizar una pasantía, involúcrese con un proyecto de código abierto. Descubrirá que aprenderá cargas trabajando con personas más inteligentes que usted.

1

El verdadero conocimiento existe al saber que no sabes nada.

Sócrates un tío inteligente

Creo que esto es bastante común entre los desarrolladores. Imo, es una forma mucho mejor de firmar si llegaras a la conclusión de que estás completamente entrenado.

+0

"El verdadero conocimiento es saber lo que no sabes". - Confucio. (Creo que es correcto, pero no estoy del todo seguro.) –

+0

Podría ser, no estoy 100% seguro, pero las fuentes que encontré dijeron Sócrates. Pero quien dijo que es verdad – anddoutoi

Cuestiones relacionadas