Soy un estudiante de secundaria con experiencia en el desarrollo de proyectos Java y en el uso de herramientas de la industria, pero sin antecedentes formales (sobre los cuales las compañías insisten). ¿Cómo puedo desarrollar efectivamente un fondo tan formal?

Como gerente de contratación que lee cientos de currículums al año de personas sin experiencia, puedo decirle definitivamente lo que marcaría la diferencia para mí: el trabajo de código abierto. Contribuir específicamente a un proyecto de código abierto establecido (en lugar de crear el suyo propio). Si realmente pone un poco de esfuerzo en esto, puede ser tan bueno o mejor que una dispersión de trabajos de nivel junior.

Dependiendo de la compañía, por supuesto, esto podría no ayudarte. Las grandes empresas a menudo solo se preocupan por una experiencia laboral muy específica y no pueden ser flexibles. Pero si está interesado en el software, de todos modos probablemente no quiera trabajar en ese tipo de entorno. Es más probable que las startups tengan una buena experiencia al pie de la letra, sin importar de dónde provenga. Es posible que tenga que enfatizar en su carta de presentación lo que ha contribuido y por qué, y lo que ha aprendido o logrado al hacerlo.

Dado que está comenzando temprano, debería tener tiempo de sobra para crear una cartera de trabajo de código abierto que pueda superar su falta de experiencia laboral. Sus pares no tendrán la misma ventaja, en su mayor parte.

¡Buena suerte!

Lo primero es lo primero: tener tanta curiosidad y formar proyectos independientes (independientemente de su tamaño o complejidad) lo coloca en el 20% superior del paquete.

Tener una educación formal ayudará a conseguir el primer trabajo e incluso lo requiere alguna organización, sin embargo, su pasión es lo que lo convertirá en una estrella de rock independientemente de lo que haya aprendido formalmente.

Para responder a su pregunta, le aconsejaría que no aprenda por tecnología, sino que aprenda por proyecto.
Es decir, piensa en algo que quieras construir y luego aprende lo que sea necesario para llevar a cabo el proyecto.
Después de implementar el primer borrador, tómese el tiempo para leer alternativas y mejores prácticas.
Luego pase a la siguiente característica y haga lo mismo.

Si se hace correctamente, probablemente te encuentres experimentando con el lado del cliente, el lado del servidor y las tecnologías DB. Eso lo colocaría en un lugar donde podría evaluar una mejor descripción del trabajo y lo que se necesita para obtenerlos.

PD
Puede que aún no lo sepas, pero es probable que te conviertas en emprendedor.
Si lo haces, hazme un ping.

Gracias por el A2A.

No puedo agregar mucho a la excelente respuesta de Vanessa Williams, excepto decir que se sumerja de cabeza en Github y ponga las cosas allí, tanto lo que ha escrito como a lo que ha contribuido. El código real y verdadero es invaluable.

Pasantía o participación de código abierto.

Voluntario en la programación gratuita para una organización benéfica más grande y agregue a su cartera. Escriba a una organización grande donde haya un proyecto a gran escala y solicite el desarrollo a tiempo parcial con una pequeña tarifa como parte del desarrollo. Añadir a su cartera. Tenga en cuenta que Java por sí solo no es suficiente para ser único, ya que ya hay muchos programadores de Java caminando. Por lo tanto, aprender dominio comercial y especializarse es más importante. Haz esto antes de graduarte.

Las otras respuestas realmente han acertado: Contribuir a proyectos de código abierto. Si es su propio proyecto, realmente no le hace tanto bien si solo tiene una base de usuarios pequeña en comparación con contribuir a un proyecto con una base de usuarios grande.

Sin embargo, si creas un proyecto realmente grandioso que muchas personas usan, entonces comenzar y ejecutar el proyecto te envía por una vía rápida a puestos de primer nivel, potencialmente incluso manejando tu propia empresa y monetizando tu propio proyecto de alguna manera.

En este punto, incluso podría omitir el código abierto y crear y vender su propia aplicación para teléfonos inteligentes, aunque esto requiere una buena cantidad de tiempo para probar, crear y depurar el proyecto.

More Interesting

¿Cuáles son las habilidades básicas que debe tener un ingeniero de software y qué lenguajes de programación debe conocer razonablemente?

¿Cómo se puede planificar el modelo de ingeniería de software incremental?

¿Cuál es su experiencia / opinión como desarrollador remoto?

¿Por qué alguien sería un desarrollador de juegos, si es más difícil, poco disfrutable y de bajos salarios en comparación con otros trabajos de ingeniería de software?

¿Cuáles son las preguntas de entrevista más comunes para un puesto de desarrollo de software integrado de nivel básico?

¿Cuáles son los desafíos que enfrentan las empresas cuando subcontratan procesos comerciales o desarrollo de software a tiendas en el extranjero?

¿Cómo hizo Jeff Bezos para hacer de Amazon una empresa tan innovadora técnicamente?

Me ofrecen dos trabajos, uno con compañeros de trabajo de mi edad y el otro es un área en la que estoy realmente interesado, ¿qué oferta debo aceptar?

¿Existen algoritmos reales que no tengan condicionales o bucles?

¿Por qué los ejecutables producidos con compiladores que no sean C / C ++ son más lentos que los producidos con C / C ++?

He completado B.Com con 48% de calificaciones. Ahora, ¿qué debo hacer a continuación para obtener un trabajo bien remunerado?

Cómo medir el éxito de un proyecto de software típico (por ejemplo, un producto de software desarrollado para un cliente que lo vende)

¿Se puede aplicar también un enfoque orientado a objetos a la vida real?

¿Qué hace que un desarrollador de iOS sea un ingeniero de software senior?

¿Cómo aseguran las grandes empresas la calidad del código (herramientas, rutinas y metodologías)?