¿Cuáles pueden ser los mejores consejos y pautas para un estudiante de ingeniería de software de último año para su proyecto?

También estoy en mi cuarto año y te diré el camino que seguí, cosas que aprendí del proyecto de último año.

En el plan de estudios de Ingeniería Informática de mi universidad, se supone que los estudiantes formen grupos de 3 a 6 para hacer el diseño e implementación de proyectos de último año que tomará 2 semestres completos. Creo que está haciendo esto como un proyecto grupal, sin embargo, mis pensamientos también pueden aplicarse a proyectos individuales.

Primero, debe encontrar un propósito, porque en el peor de los casos, pasará al menos la mitad del año mejor y se esforzará mucho.

  • ¿Quieres estudiar en un campo de la informática y hacer un proyecto relacionado?
  • ¿Quieres aprender cosas de bajo nivel o mejorar en algún lenguaje de programación específico?
  • ¿Desea lanzar un producto (¿quizás una startup?) Y mejorar el mundo (o ganar dinero)?
  • ¿Quieres hacer una investigación sobre un tema?

Según sus propósitos, la respuesta es completamente diferente a otras opciones. En mi caso, somos un equipo de 3 y estamos desarrollando una red social móvil: ollaa. Desarrollo backend web, un chico desarrolla una aplicación para iOS y una chica desarrolla una aplicación para Android. Aprendimos mucho en los primeros meses y nos dimos cuenta de que en realidad estamos haciendo una startup, como un equipo de startup, pero solo trabajamos a tiempo parcial y nos sentimos realmente bien. También debe estar contento con su elección.

En las universidades, a veces los profesores tienen una cuota para asesorar proyectos de último año y todos tienen algunos temas de investigación o proyectos. Nunca hagas proyectos con ideas de profesores (completamente mi opinión). Probablemente se le ocurrió la idea mientras tomaba caca o leía un periódico y realmente no pensaba mucho en eso, o peor, solo estaba soñando con algo realmente inviable. Si inventas tu propia idea, puedes amar lo que haces y dedicar más tiempo a ello.

Otro punto es tratar de resolver un problema real, no artificial. Hay varios pasos para determinar si algo que te molesta es un problema real o no la causa raíz. Intenta perder el tiempo en algo que vale la pena resolver.

Al final, creo que deberías pensar en lo que obtendrás. ¿Cuánta experiencia “pragmática” va a obtener? ¿Cuánto vas a aprender? ¿Qué escuelas de posgrado pueden reconocer su investigación de pregrado? ¿Cuánta información de bajo nivel vas a obtener sobre este proyecto? Eventualmente, todos los proyectos de software se desperdician, pero algunos de ellos se desperdician muy tarde. Por lo tanto, puede considerar contribuir con proyectos de código abierto ya existentes. (Hay miles de ellos y algunos cientos de ellos son populares que muchos desarrolladores reconocerían). Esa también sería una gran oportunidad para obtener experiencia práctica en la codificación del mundo real.

No intentes encontrar sitios web que te den problemas. Hable con sus profesores, vaya a las ideas de Google Summer of Code (GSoC) de organizaciones de software libre (y tal vez se inscriba en el programa GSoC de este verano. Lo he completado y fue genial), hable con el administrador de un proyecto de código abierto, hable con un CTO de inicio y pregunte si puede hacer algo por ellos. Sea proactivo y siga buscando oportunidades, no una página en interwebs que le indique que codifique un sistema de gestión de hotel o un sitio web de reserva de entradas de teatro.

probablemente no esté relacionado, pero quiero enfatizar lo importante que puede ser el Proyecto del Año Final para ayudarlo a conseguir un buen trabajo.

Había trabajado en robótica como estudiante en la India. Estaba seguro, me mataría trabajando en una empresa que hace Desarrollo Web. Quería algo de bajo nivel. Pero es muy difícil primero encontrar un buen proyecto y luego lograrlo. Incluso después de completar su proyecto, no está seguro de si lo ayudará a encontrar un trabajo.

Es mejor encontrar un mentor realmente ambicioso. Realmente no necesita el mentor en cada paso de su proyecto. Mi mentor solía reunirse con nosotros una vez al mes durante unas horas. No nos dio un proyecto fuera de su cabeza. Nos dijo dónde buscar ideas, y nos ayudó a identificar un buen proyecto y también a comprender la complejidad del mismo.

Una vez que tenga el proyecto, lo siguiente más importante es comenzar a trabajar en él. Estaba trabajando en el desarrollo del kernel de Linux, y solo para descubrir qué herramientas usar, fue un fastidio. Aquí nuevamente mi mentor me ayudó. No conozco un solo desarrollador de kernel que use Windows (¡por supuesto!) E IDE completos como Eclipse. Lo mejor que usan es Vim y Cscope para asistencia con el código. Estas herramientas inventadas hace décadas, parecen abrumadoras para acostumbrarse. Pero si tiene un experto que lo ayude a comenzar, el descanso es una caminata fácil.

Por lo tanto, sugeriría seguir pasos simples.

1. Encuentre un mentor experimentado en su área de interés. Es posible que me interese ayudarlo a usted u otros, si desea hacer un proyecto en Linux Kernel Development, ya sea personalmente o presentando a algunos amigos.

2. Averigüe dónde buscar proyectos. Al menos para mí, quería hacer proyectos de investigación, así que miré las conferencias y leí más de 50 artículos en 2 semanas. Busque proyectos que sean completamente de código abierto, respaldados por una comunidad y que tengan suficientes posibilidades de trabajo futuro. La mayoría de los documentos discuten el trabajo futuro en las últimas secciones del documento.

3. Desarrolle una comprensión ingenua de los temas que le gustan y discuta con su mentor. Sin embargo, no tome sus palabras por las palabras de Dios. Elige por ti mismo. Habla con otras personas con experiencia.

4. Comience con la ayuda de su mentor. Realmente tortúralo para que te ayude aquí. Si comienzas sin problemas al principio, tendrás suficiente energía y entusiasmo para el resto del viaje real.

5. Intente centrarse siempre en desarrollar la comprensión primero y luego escribir el código. Tienes que llegar a un punto, donde tu código se ejecuta en un solo intento. Intente obtener 0 errores en la compilación y resultados 100% esperados. Mire el código a fondo antes de incluso compilarlo. Recuerde que escribir el código correcto es al menos 2 veces más fácil que la depuración.

6. Use una herramienta de control de versiones, mantenga una copia de seguridad y asegúrese de mantener un documento de su progreso cada día. Git, es lo que personalmente prefiero. Aprende a usar ramas en git y otras cosas hermosas que puedes lograr usando Git.

7. Utilice una herramienta de gestión de proyectos, realmente simple, como la que se proporciona de forma gratuita en Build software mejor, en conjunto, para gestionar sus problemas y realizar un seguimiento del progreso. No uses mierda complicada.

Mantente en los objetivos.

No sé cuánto de esto ayudará a otros, pero esta es la sabiduría que obtuve de mi experiencia.

More Interesting

Soy una mujer de 25 años y siento que no he hecho nada de profesión, soy ingeniero pero desde hace 7 meses estoy sin trabajo, vivo en Bhopal y no puedo salir de mi ciudad porque mi padre ganó no me permitas ¿Qué tengo que hacer?

¿Qué hacen los ingenieros de software que escaparon del 9 al 5 y cómo llegaron a donde están ahora?

Soy débil en matemáticas, ¿puedo ser ingeniero de software?

¿Cómo recuerdan los ingenieros de software tantas tecnologías?

Soy un viejo estudiante ¿Debo ser ingeniero de software o analista cuantitativo?

¿Se está muriendo la ingeniería de software o hay algún futuro para ello?

Soy ingeniero de software en India. ¿Cómo puedo ganar hasta 2-3 lakhs por mes?

¿Cuántos de nuestros ingenieros s / w indios dejarían su trabajo por un trabajo del gobierno donde hacen el mismo trabajo con el mismo salario?

¿Qué proporción de su tiempo pasan los grandes gerentes de ingeniería de software trabajando en el equipo, en comparación con el equipo y en todo el equipo?

Para un ingeniero de software de nivel junior, ¿cuál es mejor para el crecimiento personal como ingeniero, una startup o una empresa establecida?

¿Cómo es ser pasante de ingeniería de software en Hudl?

¿Qué habilidades se esperan de los ingenieros de software de nivel básico en Google, Facebook, Microsoft, Amazon, Twitter, etc.?

¿Cuál es la diferencia entre Eclipse Mars y Eclipse Neon?

¿Cuánto más productiva es la programación de pares en comparación con la programación individual en la industria de desarrollo de software?

¿Cuál es la mejor manera de atraer talento de la costa oeste (ingeniero de software senior) para reubicarse y mudarse al medio oeste?