Acabo de completar mi licenciatura en el campo de TI. Tengo un profundo interés en la codificación y realmente quiero ser un profesional en ello. Ahora, aparte de los cursos universitarios, he estado aprendiendo programación (C #) por mi cuenta (la programación a nivel universitario es demasiado básica). Ahora siento que necesito un poco más de tiempo para estar cerca del programador profesional. Pero algunos de mis mayores dicen que la programación del mundo corporativo es muy diferente de la programación de libros, por lo tanto, no tiene sentido perder el tiempo. (No son programadores, esto puede ser probablemente lo que escucharon).
¿Me beneficiaría alcanzar un nivel avanzado de C #? o como un nivel mediocre es suficiente para romper las entrevistas, los niveles más altos no son importantes para las empresas porque dependen de su capacitación únicamente para enseñar cómo funcionan las cosas en el mundo corporativo y aprender más no me ayudará mucho. Por favor, si hay algunos programadores profesionales que pueden ayudar, prometo que esto es algo que todos los estudiantes interesados en la programación quieren preguntar en mi etapa. "¿Cómo cambias de alumno a profesional en el campo de la programación?" - Siga aprendiendo hasta que sea perfecto o unirse a una empresa es una vez que se cubren los conceptos básicos?
fuente
Respuestas:
Hay muchas diferencias entre la programación en la escuela y en el mundo real. No estoy seguro de que exista una programación corporativa .
Dependiendo de dónde esté trabajando, habrá grandes diferencias. También habrá grandes diferencias dependiendo de las tareas en cuestión.
Sin embargo, todavía hay algunos problemas comunes.
el ciclo de vida del código del mundo real es muy diferente de la tarea universitaria. En la programación del mundo real, generalmente está trabajando en una base de código existente. Uno de los mayores problemas es evitar romper la compatibilidad con el código utilizado por sus clientes (que pueden ser clientes internos o externos, dependiendo de su lugar de trabajo y caso real). El código que está escribiendo probablemente también se usará durante años después (esto depende: el problema no es el mismo para un sitio web o código incrustado en algunos dispositivos). Si desea prepararse para esto, acostúmbrese a escribir pruebas unitarias y pruebas funcionales para cada código. Eso no siempre se hace con el código del mundo real, pero debería simplificar su vida tanto en la universidad como en el mundo corporativo.
El diseño y los requisitos suelen ser mucho más difusos en el mundo real que en un ambiente universitario. Al escribir código profesional, alguien tiene que definir el propósito del código, y no se le dan simplemente problemas con los juguetes o incluso problemas conocidos. ¡Es muy probable que tarde o temprano seas tú quien haga el diseño! Los clientes generalmente no saben lo que quieren (e incluso cuando saben lo que quieren, puede que no sea lo que necesitan), y los gerentes generalmente solo describen el panorama general, dejando muchos detalles y opciones a los programadores. Dependiendo de los métodos seguidos ("ágil" -vs- "ciclo V", etc.), las elecciones y la definición detallada del problema pueden ocurrir tarde o temprano, pero al menos debe tener la mente abierta y preguntarse si realmente está haciendo lo que hace. es requerido. También puede considerar cambiar los requisitos si la tarea en curso es demasiado difícil de codificar o es ineficiente. Puede terminar escribiendo algo inútil o demasiado complicado de todos modos porque el cliente o su gerente no entendieron su punto o no están de acuerdo con usted. Aún así, siempre debes cuestionar los requisitos (es una habilidad de supervivencia). También tenga en cuenta que los requisitos pueden cambiar en el medio de una tarea, y debe estar preparado para eso.
en la universidad cuando recibes una tarea, se supone que debes escribir algún código. En el mundo real, generalmente comienza verificando si puede usar el código existente en su lugar: reutilizar o cambiar partes de un proyecto, usar o comprar bibliotecas, etc. Si encuentra el código existente que se ajusta a la asignación, puede terminar usándolo o no (puede haber problemas de mantenimiento, problemas de rendimiento, problemas de derechos de autor o incluso problemas de precios), pero la opción de reutilizar el código existente generalmente debe considerarse.
Obviamente, hay muchos otros problemas relacionados con el trabajo en equipo, la escala del proyecto, etc. Pero los puntos anteriores son problemas que es muy probable que vea en entornos corporativos pero que no tiene que considerar en sus tareas universitarias.
fuente
La principal diferencia entre la programación corporativa y la programación universitaria es la escala. En la escuela nunca obtienes una tarea que una persona no puede comenzar y terminar en un semestre. Como profesional, puede trabajar con docenas de otros programadores en software que dura años sin estar "terminado".
A nivel micro, el trabajo no es tan diferente. Después de todo, si fuera demasiado diferente, un título universitario no sería de ningún valor para las empresas. Pero es como la diferencia entre hornear 12 galletas y hornear 12,000 galletas. Puedes ser realmente bueno en el primero y completamente despistado en el segundo.
En la escuela te preocupa principalmente hacer un programa correcto . En el trabajo, su software correcto no es suficiente. Tiene que ser mantenible, comprobable, eficiente y capaz de ser trabajado simultáneamente por varias personas. Eso es algo que las escuelas intentan enseñar, pero en realidad no se puede aprender completamente, excepto al hacerlo.
fuente
Esta pregunta se basa en una suposición no válida:
Te conviertes en un profesional al recibir un pago por hacerlo. Usted no deja de ser un aprendiz. Si lo haces, tu carrera ha terminado.
Sal al mundo y consigue un trabajo. Su entusiasmo por aprender es una ventaja.
fuente
Respuesta corta, sí: el mundo corporativo es muy diferente al de muchos entornos universitarios.
Dicho esto, las empresas lo saben. Esperamos que los graduados universitarios sean casi inútiles. Si ha pasado tiempo aprendiendo a programar, eso es genial. No necesita ser súper increíble para aplicar, pero comprenda que mantenerse mediocre no será suficiente.
No aprenderá mucho de lo que necesita en los negocios por su cuenta. Solicite lo antes posible mientras continúa aprendiendo por su cuenta.
fuente
No. Esperamos que los estudiantes sean inútiles durante varios meses mientras los separamos. El título es solo apuestas de mesa. Su entusiasmo por aprender y seguir instrucciones son sus mejores activos. Cuando entrevisto a graduados universitarios, quiero un jugador de equipo que no encaje en un hotshot que interrumpa al grupo.
Esto es diferente para cada compañía, pero en general las compañías más grandes tendrán una capacitación más estructurada. Esta es su primera gran decisión, ¿le gusta la capacitación formal y un alto grado de estructura? Si es así, busque trabajos que proporcionen eso.
Cambias de estudiante a profesional al conseguir un trabajo. Recomiendo que las personas mayores obtengan una cooperativa con una empresa a través de su escuela. Esta es la mejor manera de mojarse los pies y superar la ansiedad de una nueva profesión.
Consigue un trabajo, no esperes. Es común estar nervioso, pero sea honesto acerca de sus habilidades y no oculte su entusiasmo por aprender más. Es común cambiar de compañía varias veces, especialmente al principio de su carrera.
Felicidades por terminar tu carrera y buena suerte en tu viaje a la programación profesional.
fuente
Diría que la diferencia fundamental entre la programación a nivel corporativo y la de nivel universitario es que la programación a nivel corporativo es mucho más un proceso de colaboración que lo que encontrará en un entorno de clase y el énfasis está mucho más en el desarrollo de productos que en el aprendizaje pedagógico.
fuente
Si realmente espera que la programación del mundo corporativo sea una cultura de programación avanzada de alto nivel, creo que estará bastante decepcionado. La programación en el mundo corporativo se trata más de poder asumir la responsabilidad del código que escribes y mantenerlo mantenible.
Pero a tu pregunta
Esto no tiene nada que ver con la programación a nivel corporativo y universitario, sino con la programación en general. Si realmente quiere aprender, comience a construir su propio software, algo que quiera construir o comenzar a trabajar en proyectos de software de código abierto. Haga preguntas que enfrente. Y lea el código de otras personas.
fuente
La respuesta de Karl sobre la escala es acertada. No puede ordenar una matriz de 15 números, tendrá que ordenar un conjunto de datos de un millón, digamos, números de cuenta.
Una clase de estructuras de datos y algoritmos probablemente le dirá una docena de formas diferentes de ordenar. En una aplicación real, es probable que incluya un orden por cláusula y permita que la base de datos lo optimice.
En cuanto a prepararse para el mundo corporativo, hay dos formas en las que sugeriría a) Obtener una pasantía, incluso una de bajo pago o sin pago le permitirá ver a otros trabajar. b) Con todas las tiendas de aplicaciones disponibles, puede intentar escribir y publicar una aplicación en las tiendas Apple / Google / MS. Esto lo ayudará a comprender mejor los flujos de trabajo, el valor de las pruebas, la necesidad de configurar el entorno y las herramientas adecuadas y más.
fuente
Lo principal que necesita para tener éxito en la programación corporativa es la paciencia y la capacidad de comunicarse con los usuarios que no entienden la tecnología. Asegúrese de utilizar pruebas unitarias, control de versiones, depurar cuidadosamente y utilizar el seguimiento / registro adecuado. Los idiomas pueden cambiar, pero mantener la calma y buscar cuidadosamente los problemas siempre funcionará.
fuente
Además de la excelente respuesta proporcionada "programación corporativa" también se trata de requisitos que no están claros o no cambian.
¿Qué haría si su profesor cambia los requisitos de su tarea de programación dos días antes de que tenga que entregarla?
En la industria esto es bastante común.
fuente