¿Cuáles son algunos proyectos que puedo hacer para mi currículum?

Está en una buena posición para cubrir una variedad bastante amplia de programación, desde ajustes de bits de hardware de bajo nivel hasta aplicaciones web y análisis científicos. Las grandes preguntas son: ¿qué quieres hacer y qué experiencia tienes (supongo que ninguna)?

Lo que podría hacer si no lo ha decidido es cubrir todas las bases. Cree una aplicación CLI, un marco y una biblioteca, tanto en C como en Python, para demostrar que sabe cómo hacerlo. (Hacer un marco o biblioteca bien diseñado, que otras personas puedan usar al azar, no es tan fácil como crear una aplicación autónoma). Además, crear una aplicación web en Python (suponiendo que conozca algún marco o biblioteca apropiados), incluyendo algo de computación científica (para la cual Python es relativamente popular últimamente) y algo de bajo nivel en C. No conozco MATLAB lo suficiente como para sugerir algo para eso.

Va a ser difícil encontrar ideas separadas para todos ellos. Por lo tanto, sugeriría vincularlos a todos, tanto como puedas. Haga dos aplicaciones CLI para hacer lo mismo , lo suficientemente complicado como para que puedan usar los marcos y las bibliotecas .

Ahora, vaya más allá simplemente demostrando que conoce los dos idiomas, y compare y contraste los enfoques que tomó en cada idioma para aprovechar al máximo sus características. Ese tipo de pensamiento “meta” impresionará a los empleadores (al menos, los más hábiles para los que quiere trabajar) mucho más que simplemente saber algo de idioma.

Entonces, ¿qué deben hacer exactamente estas aplicaciones ? Rasca tu propio picor. Parafraseando a Gandhi, “Escribe el software que deseas ver en el mundo”. 😉 ¿Desearía que hubiera una aplicación para organizar su cajón de calcetines, diagnosticar problemas de rendimiento de la motocicleta, diseñar árboles para gatos personalizados o comprar y vender zapatos usados? Escribelo.

Eso todavía deja la aplicación web y lo de bajo nivel. Podría hacer algo como tener una pieza de hardware, que hace algo visible, con una interfaz de bajo nivel escrita en C, más una aplicación web Python para exponer eso a la web, con algunos datos científicos. Frex, escriba una interfaz para una cámara web y un panel de luces LED de diferentes colores, para que las personas puedan mover la cámara alrededor del panel (¡pero no más allá, para proteger su privacidad!), Y encienda LED específicos o conjuntos de ellos, y apagado, además de algunos cálculos de la luminancia promedio de los LED, en cada color, y el gráfico de frecuencia total, trazado contra la hora del día, o las acciones tomadas en función de la hora local del día, la latitud y la longitud de los usuarios . Solo asegúrese de que si es algo que ya hay bibliotecas fácilmente disponibles para hacer, haga público su código y agregue algunas características únicas para que pueda asegurar a las personas que el sitio web está ejecutando su código.

Sobre todo, con cada uno de estos proyectos, asegúrese de poder responder preguntas al respecto. Sea capaz de explicar los algoritmos y por qué los eligió , incluidas otras ideas que rechazó (y por qué).

TAMBIÉN contribuyen a los proyectos de código abierto existentes. Trabajar en un equipo es una habilidad en sí misma … pero interpreto que su pregunta es más sobre qué tipo de código escribir, y será mucho más difícil encontrar proyectos si aplica restricciones de “qué tipo”.

Conoces Python, Javascript HTML y otros. Eso es bueno. Para hacer un currículum ahora necesita una cuenta git.

Hay muchos tutoriales de Git disponibles, pero elijo el libro Pro Git sobre los tutoriales de You tube.

Sumérgete en el mundo de código abierto como http://codetriage.com/ . Encuentra el proyecto que te hace sentir que puedes contribuir en él. La contribución puede ser de cualquier tipo, como trabajo de documentación, búsqueda de problemas, resolución de problemas, etc.

Intenta hacer una contribución regular. Su trabajo será apreciado y esto lo ayudará a construir su currículum.

Una cosa más que puedes hacer es crear una aplicación que creas que puedes hacer y te ayudará a resolver problemas de la vida real. Impleméntalo, gana dinero, gana fama.

Todo lo mejor

El libro Ruby on Rails puede ser una gran experiencia de aprendizaje.

Puede encontrar algunos proyectos interesantes en Google I / O 2014 CodeLabs

También puede buscar tutoriales para una tecnología como Kubertenes y Apache Beam.

Actualización: Udacity ha creado un curso que utiliza contenedores. Este curso fue desarrollado en asociación con Google y parece reflejar el proceso de implementación de software de mi equipo con mucha precisión. Microservicios escalables con Kubernetes | Udacity

No necesita buscar los proyectos en Internet.

Encuentre sus propios problemas e intente codificar para resolverlos. Estos pequeños proyectos agregarán más valor al currículum en comparación con los proyectos genéricos que encuentre en Internet.

Incluso si desea buscar los proyectos, busque proyectos académicos que sean complejos desde el punto de vista técnico y conceptual.

Echa un vistazo a este repositorio en github:

karan / Proyectos

De acuerdo con la descripción,

Una lista de proyectos prácticos que cualquiera puede resolver en cualquier lenguaje de programación.

Revise la lista y vea lo que le interesa. ¡Todo lo mejor!

Hola, si eres bueno con Python y otras cosas, entonces deberías intentar una contribución de código abierto. Le ayuda no solo en su currículum, sino también en sus habilidades de programación.

Como dijiste, tienes un conocimiento increíble de muchos lenguajes de programación. La mejor y más simple idea que puedo darle es compartir su conocimiento con otros (asistiendo) en Stack Overflow.com