El campo de Ingeniería de Software / Ciencias de la Computación es extremadamente vasto y hay muchos buenos proyectos para principiantes que un estudiante puede hacer. No estoy seguro de si esto ‘impresionaría’ a un entrevistador, pero hacer esto sin duda lo convertiría en un mejor ingeniero:
- Lenguajes de programación y compiladores : cree su propio lenguaje de programación simple escribiendo su propia gramática y tiempo de ejecución. Es realmente divertido y demuestra que tienes una buena comprensión de las complejidades del lenguaje. El consejo que se da aquí entra en más detalles: ¿cómo hacer para crear su propio lenguaje de programación?
- Sistemas operativos : los proyectos que muestran que has jugado y jugado con un sistema operativo son muy valorados. Mire Pintos – Proyectos Pintos: Introducción, que es un sistema operativo diseñado para el aprendizaje y funciona en una máquina x86.
- RDBMS (Bases de datos relacionales) : tenga un proyecto que demuestre que ha trabajado con una base de datos RDBMS. Por ejemplo, puede diseñar una base de datos para una plataforma de comercio electrónico en línea. Utilice cualquier RDBMS estándar como MySQL, Postgres, SQL Server, etc.
- Aplicaciones web Full Stack : nos guste o no, muchos trabajos de ingeniería requieren al menos un conocimiento práctico de las aplicaciones web. Cree una aplicación web con una base de datos que funcione utilizando marcos MVC como Ruby on Rails, Node + Express, Spring MVC, etc. Asegúrese de comprender el código javascript del cliente y el código del lado del servidor. Por ejemplo, intente diseñar una red social similar a Facebook.
- Sistemas integrados : muchas empresas como Nvidia, Intel, etc. buscarán proyectos que muestren una comprensión de los sistemas integrados. Por ejemplo, trabaje en un proyecto para un Arduino o incluso un microcontrolador 8054 simple. Echa un vistazo aquí para proyectos interesantes
- Código abierto: la comunidad de código abierto es amplia y su contribución le dará una idea de lo que es la ingeniería de software del mundo real. Busque en Github las bibliotecas para contribuir: cree mejor el software, juntos
- Aprendizaje automático : aunque no es estrictamente obligatorio, demostrar que tiene un conocimiento práctico de los conceptos de ML puede ser beneficioso e incluso puede hacer que su perfil brille. Intente crear un sistema simple de recomendación de productos, un sistema de reconocimiento de escritura a mano, etc. Kaggle es un gran recurso para proyectos de aprendizaje automático ya que tienen muchos conjuntos de datos listos para usar. – Su hogar para la ciencia de datos
- Sistemas distribuidos / Big Data Tech : los sistemas distribuidos son esenciales para procesar y almacenar la cantidad inconmensurable de datos en la actualidad. Tecnologías como Hadoop, Spark, Cassandra, HBase, son ubicuas. Un buen proyecto podría ser crear un sistema para analizar datos de Twitter usando Hadoop o Spark en múltiples máquinas. Otro sería construir un rastreador web distribuido simple. Puede usar AWS para obtener servidores gratuitos: nivel gratuito de AWS
Recuerde que, junto con estos proyectos, las empresas que mencionó ponen gran énfasis en las estructuras de datos y el conocimiento de algoritmos. Además de realizar estos proyectos, siga practicando la codificación de pizarra y refinando sus habilidades de entrevista técnica. ¡Espero que esto ayude!
- ¿Cómo es la pasantía en Apple como ingeniero de software?
- Recientemente me uní a una empresa de servicios de TI como ingeniero de software para un equipo de desarrollo basado en Java. Me gustaría intentar un examen OCJP para explorar todos los temas de Java. ¿Cómo empiezo con él y cuál es el procedimiento para escribir este examen?
- Como desarrollador junior de software, ¿cómo puedo desarrollar mis habilidades de desarrollo algorítmico y resolución de problemas?
- ¿No voy a ser un buen ingeniero de software si no puedo trabajar en equipo? En términos de oportunidades de empleo y esas cosas.
- ¿Cuál es su velocidad de escritura como programador / ingeniero de software?