Soy un desarrollador autodidacta, ¿cómo sé cuándo estoy listo para comenzar a postular a trabajos de desarrollo junior?

Por lo general, no está seguro, pero puede probarse a sí mismo.

Para ponerte a prueba, crea tres proyectos diferentes. Comience por escribir diseños funcionales y técnicos, luego comience a escribir código y use pruebas unitarias para asegurarse de que funcionen. Asegúrese de escribir la documentación adecuada, ya que es un requisito importante para los desarrolladores, ¡aunque muchas empresas tienden a olvidar esto! (La mala documentación generalmente conduce a un código incorrecto).

Un proyecto debe estar completamente terminado. El segundo debe ser entre la fase de desarrollo y prueba. El tercero entre diseño y desarrollo. ¡Entonces, no tienes que terminar los tres! Solo termina el que más te guste.

No tienen que verse bonitas. ¡Solo tienen que trabajar! Y pueden estar relacionados entre sí.

Antes de comenzar como desarrollador, fui árbitro de un club de billar y me aseguré de que los últimos puntajes fueran visibles cada semana. Esto fue hace varias décadas y tuve que escribir el software para esto yo mismo. Así que lo hice. Creé un formato de archivo especial para almacenar todos los datos como una secuencia de datos, que podría hacer fácilmente una copia de seguridad. Y copia de seguridad a menudo! Creé un proyecto que me permitió ingresar todos los puntajes y un proyecto que calcularía todos los puntajes y los exportaría a listas separadas por comas para su posterior procesamiento. En el orden correcto para poder mirar estas listas para ver quién era el número uno en ese momento. El tercer proyecto consistía en generar un resultado de aspecto adecuado para mostrar a los miembros con varias puntuaciones. Utilizaría los datos exportados para hacer diagramas y gráficos adecuados e imprimirlos con el logotipo del club, todas las semanas. ¡Esos fueron mis tres proyectos!

Como puede ver, nada realmente complejo. Un proceso de entrada, un proceso de salida y un proceso de impresión. Podría haberlo combinado en un solo proyecto, pero conseguí un trabajo antes de poder hacerlo. Entonces, después de ese trabajo, mi tiempo de desarrollo privado bajó un nivel. ¡Pero tenía estos proyectos interesantes para mostrarle a mi empleador!

Lo dije en otra respuesta, pero todos en el negocio somos “autodidactas”. Me gradué de una universidad de primer nivel, pero aún necesitaba tomar varias clases de extensión y tutoriales en línea para perfeccionar mis habilidades para trabajar en Silicon Valley. ¿Y adivina qué? Todavía tengo que aprender más cosas. Después de todo lo que he hecho (componentes internos de la base de datos, utilidades de red, comunicaciones cliente-servidor, controladores Unix / módulos Linux, protocolos inalámbricos), tengo un libro de Puppet frente a mí para aprender la configuración multinodo. Aprender cosas nuevas nunca se detiene.

En términos de averiguar si tiene el jugo para trabajar con nosotros, debe usar el lenguaje que aprendió (C, C ++, Java, Python, Perl, Ruby, etc.) y programar un juego de solitario. No hay necesidad de pasar mucho tiempo para esbozar una arquitectura masiva o descubrir cuándo ha terminado. Las reglas del juego deben guiarte en cuanto a lo que necesita ser programado. Cuando estaba aprendiendo C ++ y programación orientada a objetos, escribí Yahtzee con clases de dados, puntajes y vueltas. Cuando estaba aprendiendo Python, escribí Canfield. ¿Qué hacer algo desafiante? Guarde el estado del juego y reinicie su juego con los datos guardados. ¿No es lo suficientemente difícil? Implementar “deshacer” de varios movimientos.

No necesitas una interfaz de usuario elegante para jugar; solo imprime el estado del juego después de cada movimiento. Su objetivo es probarse a sí mismo (y tal vez a otros) que puede programar y finalizar el proyecto hasta su finalización. No olvides jugar hasta que ganes porque te garantizaré que tu programa se bloqueará justo antes de que ganes (siempre olvido ese caso extremo).

Si no desea hacer esto, escriba un programa para emular expresiones regulares. Esa es una buena prueba para ver si puede comprender y comprender la complejidad de lo que se necesita para implementar una biblioteca de expresiones regulares. Tuve que hacer esto en una de las clases de segundo año de mi universidad.

Si puede hacer estos proyectos, sé que puede manejar generadores de números aleatorios (hasta cierto punto), simular objetos del mundo real en un modelo matemático (intente emular un mazo de cartas y repartir cartas al azar del mazo) y tener los medios para terminar lo que empezaste. También me muestra que puede manejar un proyecto complejo y simplificarlo a múltiples mini proyectos para completar. Finalmente, me mostrará que puede manejar la parte más difícil del trabajo, que es tener la paciencia para depurar su programa.

¡Buena suerte en tu búsqueda de trabajo!

Una regla general para los trabajos genéricos (en realidad, puede haber un trabajo específico para un conjunto específico de habilidades que te está esperando) es poder escribir un “sistema completo”, es decir, ya sea una aplicación web con varias pantallas o programas de escritorio que pueden seguir un proceso completo de negocios.
En teoría, era el sistema de video club, tiene inventario, arrendamiento, clientes e informes; una vez que pueda escribir completamente uno de los que funciona correctamente, será (generalmente) útil para una compañía de software.

Supongo que tienes más de 16 años, ya que quieres encontrar un trabajo. Debes intentar obtener una pasantía que pruebe tus habilidades. Dondequiera que se pague o no, descubrirá que sus habilidades son satisfactorias para encontrar un trabajo.

También puede crear un currículum y solicitar un trabajo. Vea lo que preguntan en la entrevista. Si está muy cómodo con el material, entonces probablemente esté listo.

Última opción, muestre sus habilidades a alguien que actualmente está en una carrera que es similar a lo que está buscando. Tome sugerencias, consejos y comentarios. Esta persona puede hacerle saber si está listo o no.

Creo que el consejo de Wim ten Brink es excelente. Creo que está listo para probar trabajos de desarrollador junior cuando haya realizado algunos proyectos de complejidad media.

Algunos usuarios de Quora me han pedido consejos sobre software útil. Sugerí que crearan un programa de software que permitiera a los estudiantes universitarios intercambiar servicios de tutoría. Por ejemplo, un estudiante podría intercambiar ayuda matemática por asistencia en idiomas extranjeros. También puede hacer que el programa permita a los estudiantes establecer una tarifa de tutoría.

Tal vez podrías crear un videojuego. Mi profesor de programación de computadoras era un estudiante graduado. Para un proyecto de curso, él y algunos compañeros de clase tuvieron que crear un videojuego. Los gráficos fueron muy buenos.

Además de hacer proyectos, puede crear un perfil y buscar trabajos de desarrollador junior en LinkedIn. Entonces miraría los requisitos.

¡Espero que estas sugerencias ayuden! Los mejores deseos.

Tu no sabes. Consigue un trabajo y recibe comentarios. Diferentes trabajos tienen diferentes necesidades y es mejor comenzar a postularse. Obtenga comentarios, adopte e itere.

More Interesting

Soy chino y trabajaré para Foxconn en julio. ¿Es una buena opción para un ingeniero mecánico?

Si eres un desarrollador de software que gana más de $ 60ka al año, ¿puedes vivir cómodamente en Londres?

¿Cuál es alguna información sobre asesoramiento en OUAT?

¿Qué es fácil civil o cs?

Estoy dando un paso hacia abajo en mi carrera para permitir más tiempo con mi familia. ¿Qué puedo hacer ahora para asegurarme de que mi carrera prospere en 10 años cuando esté listo para volver a toda velocidad?

Cómo colocarse en una empresa principal

¿Cómo te convertiste en ingeniero de software, cuáles fueron los pasos que tomaste para convertirte en ingeniero?

Cómo conseguir un trabajo en el Banco de Baroda como oficial de prueba

Autismo: ¿es posible hacer un estudio de investigación sobre el autismo y publicarlo sin un título o universidad?

¿Qué debe hacer un experto en VBA Excel y Access SQL para avanzar en su carrera?

Dada una cantidad X de tiempo libre y dinero, ¿debería un aspirante a empresario digital aprender codificación o diseño de experiencia de usuario?

¿En qué se diferencia un gerente de línea de producto de un gerente de producto?

¿Qué campo es el más en auge en ingeniería?

Soy un estudiante de ingeniería informática de segundo año de BTech. ¿Es un momento perfecto para hacer una pasantía en una pequeña empresa solo por la experiencia al final de mi segundo año?

¿Cómo puede un estudiante de primer año de B.Tech IT utilizar sus primeras vacaciones de invierno en la universidad?