Reescribe todo en tu escritorio comenzando con las cosas más simples primero. Por ejemplo, una lista de tareas o una aplicación de calendario.
El enfoque que más me preocupa cuando estoy aprendiendo un idioma es comenzar con un código de muestra algo similar a lo que quiero hacer y una buena referencia sobre el idioma. Luego, realice modificaciones en el código para transformar la aplicación en lo que desea. Luego agregue funcionalidad desde cero. Haga que funcione como una roca sólida, luego comience en la próxima aplicación. Tan pronto como te sientas cómodo, comienza a escribir desde cero. En realidad, mantendrá una biblioteca de fragmentos de código que reutilizará con mucha frecuencia. Sin embargo, escribir desde cero te obliga a aprender algunos aspectos del idioma de una manera que no se puede enseñar por ningún otro medio.
Una vez que te sientas cómodo en un idioma, mencionaste C #, aprende otro. Si va a ser un desarrollador, también quiere aprender Python, alguna forma de Basic moderno, Gambas es excelente si tiene una caja de Linux, si no .net VB también funciona. Conocer algo de Java es una buena idea. Aprender todo el idioma no tanto. Sin embargo, los programadores de Java son generalmente los puestos de desarrolladores mejor pagados que existen. Aprender algunos idiomas web tampoco es una mala idea. PHP es probablemente el mejor. Javascript imprescindible y conceptos básicos de HTML y XML. Una vez que conoces un idioma, aprender otros es mucho más fácil. Un bucle for es un bucle for. La sintaxis y las capacidades varían un poco entre los idiomas, pero el concepto básico es el mismo.
SQL es un deber. Aprenda ANSI SQL primero. MySQL es gratuito, funciona con todo y es un excelente sistema RDBMS. También es bastante compatible con ANSI SQL. Póngase cómodo al menos con MySQL. Lo verás una y otra vez. Si conoce MySQL, entonces usar MS SQL, Sybase y otros no será un gran desafío. Entonces aprenda PL SQL. No estoy seguro de si Oracle todavía hace esto, pero solía poder obtener ediciones de desarrollador gratuitas en Linux para Oracle, posiblemente en otras plataformas. Descárgalo y aprende PL SQL. Está a años luz de otros formularios SQL y probablemente el sistema RDBMS más común que encontrará en las compañías Fortune 500 y las grandes compañías.
- Mi stock está subiendo, ¿debería comprar más?
- ¿Cómo hacer que cientos de teléfonos suenen al mismo tiempo?
- No puedo encontrar el nombre de una canción (solo recuerdo el ‘baby baby’ en el coro. La canción era de 2004-2005 y era pop. No de Beiber) ¿Alguien puede ayudar?
- ¿Por qué necesito poner manualmente el freno de estacionamiento? ¿Por qué no se configura automáticamente cuando estaciono el automóvil?
- Mi teléfono (Sprint LG G2) solía funcionar con una batería de 17 horas cuando lo obtuve por primera vez en junio de 2014. Ahora obtengo 7 u 8 en un buen día. ¿Cómo puedo recuperar mi batería para un rendimiento óptimo?
Una vez que te sientas cómodo en estos idiomas básicos. Escriba el código para cualquiera que lo permita. Esto te obligará a estirar tus habilidades y hacer cosas que nunca habías considerado aprender a hacer. Los proyectos de código abierto (OSS) son una excelente manera de ganar experiencia en la industria, aprender y contribuir de nuevo. También es muy agradable en su currículum vitae y entrevista si la compañía en la que está entrevistando está utilizando algún software al que contribuyó con código.
No hay sustituto para la codificación si desea aprender a programar. Los cursos son una broma. Le enseñan algunos conceptos de alto nivel y, a menudo, no enseñan muchos malos hábitos en el proceso. Las certificaciones son aún peores. Especialmente certificaciones de Microsoft. No sustituye la experiencia, y como programador, todo lo que tiene que hacer es sentarse y decidir escribir un programa que haga XYZ para aprender a codificar. Para escribir ese programa, inicialmente pasarás mucho tiempo revisando textos, libros, ejemplos de código y seleccionando los cerebros de otros desarrolladores.
ESTO ES CRÍTICO ENTIENDE, repito ENTENDER por qué un código funciona de la manera en que lo hace. He visto a algunas personas tratar de salir del paso como desarrolladores usando el enfoque del libro de hechizos y no fue bonito. Cuando digo enfoque de libro de hechizos, quiero decir que memorizan que un fragmento de código hace x, y aplican religiosamente ese fragmento de código a todo lo que está cerca de x sin entender cómo funciona ese código. En el mejor de los casos, puedes sobrevivir escribiendo COBOL o RPG haciendo eso. No en idiomas reales. Si comprende el por qué, el código se sugerirá a sí mismo. Si no lo hace, su dependiente y necesitado y sus compañeros codificadores pronto se cansarán de escribir sus programas para usted.
Aún mejor si comprende lo que están haciendo los códigos de operación de bytecode o asm. Todos los compiladores tienen fallas, errores y secciones mal escritas. Puede ser más fácil en el 3GL hacer algo de una manera, pero el código de bytes ejecutable o ejecutado puede ser extremadamente ineficiente o incluso romperse. Aprende primero el nivel de 3GL y luego, a medida que puedas aprender cómo funcionan los compiladores que utilizas. Cuanto más sepa sobre lo que sucede después de pulsar compilar o ejecutar, mejor software escribirá.