En una pregunta anterior , pedí asesoramiento profesional para nuevos ingenieros de software que obtuvieron buenos resultados antes y durante la universidad. Pero ¿qué pasa con las personas que no tuvieron la suerte de ir al MIT o Yale, por alguna razón? ¿Qué pasa si fue a lo que Joel Spolsky llama una JavaSchool ?
¿Qué pueden / deben hacer los alumnos de JavaSchool para desarrollar sus habilidades y compensar las cosas que se perdieron en la universidad? (O, ¿estaba Joel equivocado acerca de que esas escuelas fueran desventajosas?)
education
career-development
Estallidos
fuente
fuente
Respuestas:
A pesar de las afirmaciones hechas por Joel en ese artículo, y él mismo lo admite, muchas de las áreas temáticas que una "Escuela Java" puede pasar por alto no son necesarias para muchos trabajos.
Asistí a algo que supongo que se parece a una JavaSchool en la que pasamos la mayor parte de nuestro tiempo enfocándonos en lenguajes de alto nivel como C # y Java, pero eso no cambia el hecho de que "Algorithms & Data Structures" todavía es parte de la lista de clases requerida - sin mencionar todas las otras clases orientadas a la teoría. Por supuesto, no todas las "JavaSchools" son iguales, pero ese no es el punto.
En mi opinión, más importante que comprender algunos de los temas más complejos del desarrollo es poder resolver problemas de manera efectiva cuando surgen desafíos únicos. Como ingenieros de software, hacemos la gran mayoría de nuestro aprendizaje en el trabajo y, como tal, dos de los aspectos más importantes de nuestra descripción del trabajo son la resolución de problemas y la capacidad de captar conceptos desconocidos. Si, durante una entrevista, uno no puede hacer un intento discernible y lógico para resolver un problema que es nuevo para ellos, entonces su incompatibilidad para un puesto dado probablemente se revelará.
Obviamente, cuando se contrata a alguien para un puesto que requiere una exposición constante y el uso de algún tema intrincado que una escuela Java puede pasar por alto, a menudo es la opción lógica ir con alguien que tiene una comprensión previa, pero la falta de experiencia no debería siempre excluye la elegibilidad laboral .
Lo más probable es que el chico Java de 50 años en su empresa que ha estado allí durante el tiempo que nadie pueda recordar no entendía Java hasta que su trabajo (actual o anterior) le pidió que lo aprendiera, y lo hizo. Hablando estrictamente, es una mala práctica despedir al "viejo" para que un candidato más joven y "actualizado" pueda tomar su lugar; Dicho esto, si la descripción del trabajo para cualquier empleado joven o viejo cambia, es responsabilidad de ese empleado quedar atrapado o encontrar un nuevo trabajo. El hecho de que un individuo (especialmente un programador con experiencia pasada) no entienda algún concepto, no significa que no esté dispuesto o sea incapaz de aprenderlo. De hecho, si no están dispuestos a aprender, probablemente no pertenezcan a ningún trabajo , mucho menos al suyo.
Es justo decir que algunas "JavaSchools" son mejores que otras, y ese hecho ciertamente debe considerarse al seleccionar un candidato para un puesto, pero hay rasgos personales mucho más importantes que solo el lugar donde alguien fue a la escuela.
Es nuestra aptitud abordar un problema y encontrar una solución que nos defina como ingenieros, casi todo lo demás es secundario.
fuente
¿Por qué no trabajar a través de un libro de texto que introduce la programación de manera diferente a como lo aprendiste? Por ejemplo, hay varios libros buenos y gratuitos que usan el paradigma funcional. Cómo diseñar programas es muy accesible. La clásica Estructura e interpretación de los programas de computadora (http://mitpress.mit.edu/sicp/) no lo es tanto, pero proporciona un profundo sentido de iluminación.
Recomiendo ver las primeras conferencias de SICP de Abelson para tener una perspectiva diferente de lo que es la informática. Son mayores pero han envejecido muy bien (http://video.google.com/videoplay?docid=5546836985338782440#).
fuente
Siento tu dolor, ya que también fui a una JavaSchool. En realidad, el mío ocupa un lugar bastante alto en el Reino Unido por lo que es, a pesar de que los estudiantes de mi año no obtuvieron una sola clase de Estructuras de datos. Tuve la suerte de poder elegir DSA como un curso opcional debido a errores administrativos con mi curso, pero esa es otra historia desgarradora ...
En mi experiencia, experimentarás algo en una JavaSchool que no experimentarás en las mejores universidades y ese es el estudiante que quiere demostrar su valía . Al igual que con cualquier otra universidad antigua o de ladrillo rojo en mi país, teníamos los holgazanes típicos y los artistas decentes, pero había un pequeño grupo de estudiantes que eran conscientes de su entorno y de lo que faltaban en su educación. Inevitablemente, estas personas no necesariamente tuvieron un desempeño brillante en su curso, pero dejaron la universidad sabiendo más que todos los demás. Realizamos prácticas en cualquier empresa de software que nos tomara durante los descansos que teníamos, aprendimos los idiomas que nunca nos iban a enseñar y estudiamos las materias que otros evitaban porque eran difíciles.
De mis amigos, dos de nosotros estamos llevando a cabo nuestros estudios a nivel de Maestría, retomando todos los cursos avanzados en los que sentimos que perdimos por completo la base, y un tipo espera que su reciente entrevista en Microsoft resulte en un completo ... Hora de trabajo. Estoy a punto de comenzar mi maestría pronto, principalmente para llenar los vacíos en mi educación y pasar un año más desarrollando las habilidades que necesitaré para maximizar mi potencial en esta industria.
En el mundo real, las personas siempre sostendrán estos prejuicios, y la mayoría de las veces se basan completamente en la verdad. Si cree que su escuela es inadecuada, dígales y use sitios como este para aumentar su nivel de educación.
fuente
Bueno, puedes conseguir un trabajo escribiendo software en Java. Mientras seas bueno en lo que haces, la escuela a la que fuiste y / o tu especialidad no son terriblemente relevantes después del primer trabajo, si es que incluso entonces .
fuente
Lo mejor que puedo pensar es ir y (re) aprender a programar en un paradigma completamente diferente, para liberarnos de la forma de pensar orientada a objetos.
Sugeriría como mínimo:
fuente