Cómo convertirse en un buen programador

Averigua qué te motiva

Antes de comenzar a sumergirse en la programación, vale la pena preguntarse por qué quiere aprenderlo. Esto se debe a que será un viaje largo y a veces doloroso. Sin suficiente motivación, probablemente no lo lograrás.

Averiguar qué te motiva te ayudará a descubrir un objetivo final y un camino que te lleve allí sin aburrimiento. No tiene que encontrar un proyecto exacto, solo un área general que le interese.

Elija un área que le interese, como:

  • Ciencia de datos / Aprendizaje automático
  • Aplicaciones móviles
  • Sitios web
  • Juegos
  • Hardware / Sensores / Robots
  • Scripts para automatizar tu trabajo

Averigua una o dos áreas que te interesan y estás dispuesto a seguir. Estará orientando su aprendizaje hacia ellos, y eventualmente construirá proyectos en ellos.

Hacer proyectos estructurados

Una vez que haya aprendido la sintaxis básica, es posible comenzar a hacer proyectos por su cuenta. Los proyectos son una excelente manera de aprender, porque te permiten aplicar tus conocimientos. A menos que aplique su conocimiento, será difícil retenerlo. Los proyectos impulsarán sus capacidades, lo ayudarán a aprender cosas nuevas y lo ayudarán a crear una cartera para mostrar a los posibles empleadores.

Sin embargo, los proyectos de forma muy libre en este punto serán dolorosos: se quedará atascado mucho y deberá consultar la documentación. Debido a esto, generalmente es mejor hacer proyectos más estructurados hasta que se sienta lo suficientemente cómodo como para hacer proyectos completamente por su cuenta. Muchos recursos de aprendizaje ofrecen proyectos estructurados, y estos proyectos le permiten construir cosas interesantes en las áreas que le interesan y al mismo tiempo evitar que se quede atascado.

Como ejemplos, aquí hay recursos para proyectos estructurados de Python en algunas áreas:

Ciencia de datos / Aprendizaje automático

  • Dataquest: te enseña Python y la ciencia de datos de forma interactiva. Usted analiza una serie de conjuntos de datos interesantes que van desde documentos de la CIA hasta estadísticas de jugadores de la NBA. Eventualmente construyes algoritmos complejos, que incluyen redes neuronales y árboles de decisión.
  • Python para análisis de datos: escrito por el autor de una importante biblioteca de análisis de datos de Python, es una buena introducción al análisis de datos en Python.
  • Documentación de Scikit-learn: Scikit-learn es la biblioteca principal de aprendizaje automático de Python. Tiene una excelente documentación y tutoriales.
  • CS109: esta es una clase de Harvard que enseña Python para la ciencia de datos. Tienen algunos de sus proyectos y otros materiales en línea.

Aplicaciones móviles

  • Guía de Kivy: Kivy es una herramienta que te permite crear aplicaciones móviles con Python. Tienen una guía sobre cómo comenzar.

Sitios web

  • Tutorial de Flask: Flask es un marco web popular para Python. Este es el tutorial introductorio.
  • Tutorial de Bottle: Bottle es otro marco web para Python. Así es como empezar con esto.
  • Cómo hacer tango con Django: una guía para usar Django, un complejo marco web de Python.

Juegos

  • Codecademy: te guía para hacer un par de juegos simples.
  • Tutoriales de Pygame: Pygame es una biblioteca de Python popular para crear juegos, y esta es una lista de tutoriales para ello.
  • Hacer juegos con Pygame: un libro que te enseña a hacer juegos en Python.
  • Inventa tus propios juegos de computadora con Python, un libro que te guía a través de cómo hacer varios juegos usando Python.

Aumentar constantemente el grado de dificultad.

¿Estás completamente cómodo con el proyecto en el que estás trabajando? ¿Fue la última vez que usó un nuevo concepto hace una semana? Es hora de trabajar en algo más difícil. La programación es una montaña empinada para escalar, y si dejas de escalar, es fácil no llegar nunca.

Si te encuentras demasiado cómodo, aquí hay algunas ideas:

  • Trabaja con un nuevo idioma.
  • Vea si puede hacer que su programa sea más rápido.
  • Intenta enseñarle a un novato a hacer lo mismo que estás haciendo ahora.

La línea de fondo

Esto es menos una hoja de ruta de exactamente qué hacer que es un conjunto aproximado de pautas a seguir a medida que aprende a programar. Si hace todas estas cosas bien, descubrirá que, naturalmente, está desarrollando experiencia.

En general, no me gusta el enfoque de “aquí hay una gran lista de cosas”, porque hace que sea extremadamente difícil decidir qué hacer a continuación. He visto a muchas personas dejar de aprender cuando se enfrentan a una lista gigante de libros de texto y MOOC.

Personalmente, creo que cualquiera puede aprender programación si lo aborda con la mentalidad correcta.

Obtenga más información al leer estos publicaciones

Programador o ingeniero de software? Aquí está el mínimo para cada uno:

Programador:

  1. Competente en varios idiomas y los paradigmas principales (como la orientación a objetos) que encarnan. Sé capaz de aprender nuevos idiomas rápidamente y sin problemas.
  2. Comprender la normalización y seguridad de la base de datos; También procedimientos almacenados. Estar familiarizado con el aspecto administrativo de las bases de datos.
  3. Comprenda los principios de los patrones de diseño y pueda dar ejemplos de cómo y por qué son útiles.
  4. Sea capaz de probar su código utilizando herramientas de la industria y, teniendo una estrategia de prueba que incorpore desde el primer día de cualquier proyecto.
  5. Algunos conocimientos básicos de control de versiones, incluido Git.
  6. Conozca Agile al menos desde la perspectiva de un programador (scrum, dos en una caja, etc.).
  7. Programación web (la mecánica de la web)

Ingeniero de software:

  1. Conocimiento del dominio. Los ingenieros de software inevitablemente necesitan comprender el negocio para el que están programando. Pueden ser necesarios para ayudar a desarrollar especificaciones y casos de uso, para conversar con los clientes y diseñar interfaces de usuario apropiadas. Como consecuencia, a lo largo de su carrera, se convertirá en experto en uno o varios dominios comerciales. Esto es conocimiento adquirido a lo largo de su carrera, es lo que lo hace realmente útil.
  2. Ciclo de vida del producto. Comprenda todos los aspectos del desarrollo de software a través de la entrega, el soporte y la modificación.
  3. Habilidades de gestión de personas. Incluso si la gestión no es su objetivo inmediato, siempre debe mejorar sus habilidades con las personas. En el pasado, los ingenieros eran notoriamente egoístas, poseedores de código y comunicadores horribles. Ese tiempo ha pasado. Desde el primer día hasta el día de su jubilación, debe prestar atención al desarrollo y la práctica de las habilidades de las personas. ¡Ignora esto bajo tu propio riesgo!
  4. Frameworks 4GL y bibliotecas (como ASP.NET). Toda la infraestructura de software se desarrolló para acelerar el desarrollo de código o implementar patrones de diseño, en cierto sentido, representan la sabiduría colectiva en la industria que se remonta a décadas atrás. Cuanto más sepas, más poder tienes.
  5. Algoritmos de IA. Estoy llamando a esto simplemente porque es cada vez más vital y porque es el futuro de la ingeniería de software.

Estoy seguro de que he olvidado algunos puntos importantes, pero se entiende la idea general (espero). Sobre todo, debe comprender que la ingeniería de software, a diferencia de todas las demás profesiones, requerirá un aprendizaje constante y una autoeducación, una reinvención continua de usted mismo. Deberá adoptar y adaptarse a nuevos conceptos, lenguajes, herramientas y metodologías. Si el desafío constante no le resulta atractivo, si no ve el aprendizaje como un esfuerzo de toda la vida, ¡entonces la ingeniería de software es una muy mala elección de profesión!

¡Práctica práctica práctica! No solo lea sobre programación, escriba programas y póngalos a trabajar. No se sorprenda cuando cometa errores, pero tómese el tiempo para comprender de qué se trata el error, aprenda de sus errores. Cuando la computadora se porta mal, “métete en la cabeza de la computadora” y comprende realmente lo que está sucediendo. Aprenda múltiples lenguajes de programación, múltiples metodologías de programación. Estírate, desarrollando cosas que al principio no tienes idea de cómo hacerlo, pero cava hasta que lo hayas resuelto o ahora entiendas específicamente qué hizo que el programa que estabas considerando imposible de crear.

No todos parecen capaces de comprender los desafíos del desarrollo de software. No se apresure a darse por vencido, pero si lo intenta y descubre que no es divertido para usted, entonces mi consejo es buscar otro esfuerzo que le resulte desafiante e interesante.

Hola, Aquí hay 15 características que pueden indicar que un solicitante sería una gran adición a su equipo de programación.

1. Impresionantes habilidades técnicas.

Un error que cometen muchos gerentes de contratación es la contratación de una lista de verificación de requisitos. En lugar de requerir tres años de C ++ y un año de Java, observe el panorama general. Un programador que ha trabajado principalmente en un idioma antiguo pero que recientemente ha agregado un nuevo idioma a sus certificaciones puede ser la opción perfecta, ya que sus años de experiencia le brindan una gran base en otras áreas de programación.

2. Disposición para aprender.

La tecnología siempre está evolucionando y las habilidades y habilidades que un programador tiene hoy probablemente estarán desactualizadas en unos años. Es importante encontrar un programador que tenga interés en seguir las últimas tendencias y esté ansioso por participar en cualquier educación continua.

3. Habilidades de depuración.

Crear código es solo una parte del trabajo de un programador. Cuando el software no funciona como se esperaba, se espera que un programador llegue a la raíz del problema de manera rápida y efectiva. En lugar de pasar horas haciendo cambios a ciegas, busque un programador que prefiera investigar cuidadosamente su código e investigar posibles problemas hasta encontrar una respuesta.

4. Ambiente de trabajo coincidente.

Algunos programadores requieren silencio completo para concentrarse, mientras que otros prosperan en el caos. Las preferencias personales de un trabajador son una parte importante de su productividad, por lo que es mejor tener claro el entorno de su oficina por adelantado para evitar problemas después de contratar a la persona.

5. Habilidades para resolver problemas.

Para aquellos que nunca han intentado crear una aplicación desde cero, la programación se puede comparar mejor con la resolución de una ecuación matemática extremadamente difícil. Un buen programador se nutre de encontrar formas de hacer que algo funcione, a pesar de las probabilidades. De lo contrario, es posible que escuche la frase “Eso no se puede hacer” cada vez que proponga un nuevo proyecto innovador.

6. Pasión por el trabajo.

Si bien parte del personal de programación puede simplemente servir de nueve a cinco, muchos gerentes de contratación están interesados ​​en encontrar a alguien que con mucho gusto pasará largas horas cuando la situación lo amerite. A menudo, estos intereses externos pueden encontrar a estos empleados durante el proceso de la entrevista. Los verdaderos programadores son autoproclamados “geeks informáticos”, que pasan su tiempo jugando, creando servidores o creando aplicaciones para amigos. Si bien esta pasión no es una necesidad, a menudo es una forma de encontrar candidatos de primer nivel.

7. Gracia bajo fuego.

Puede que no le parezca así al extraño, pero la programación puede ser una profesión extremadamente estresante. Cuando los plazos son ajustados y parece que nada funciona, es fácil congelarse. El candidato ideal para la programación podrá manejar incluso a los más estresantes.

8. Habilidades de las personas.

En general, no se espera que los programadores tengan talentos de servicio al cliente de servicio pesado. Al principio parece entenderse que en su mayoría estarán sentados frente a una computadora todo el día. Sin embargo, se espera que los programadores interactúen regularmente con gerentes, compañeros de trabajo y clientes, por lo que la capacidad de trabajar bien con otros es imprescindible. Esto es especialmente cierto si ocasionalmente se le pide a sus programadores que participen en reuniones de clientes y expliquen cómo funciona un sistema.

9. Pereza.

Larry Wall, autor original de The Perl Programming Languages , describe tres buenas cualidades en un buen programador: pereza, impaciencia y arrogancia. La pereza puede sonar como un mal rasgo para cualquier empleado, pero los gerentes de TI han dicho que si desea encontrar la mejor manera de hacer algo, pregúntele a una persona perezosa. Lo más probable es que esa persona haya encontrado la forma más rápida y eficiente de hacerlo. El personal de programación de una empresa a menudo puede encontrar una manera de automatizar procesos, ahorrando tiempo y dinero.

10. Una perspectiva comercial.

Es fácil perder de vista el panorama general mientras se enfoca en crear una sola pieza de software. El programador ideal tiene un enfoque comercial que le permite ir más allá de la aplicación actual. Un programador centrado en el negocio sugerirá ideas para nuevas aplicaciones que pueden mejorar las operaciones.

11. Capacidad para planificar.

En lugar de saltar a una nueva tarea, una buena adición a su personal de programación primero aprenderá lo más posible sobre el producto final deseado. Una vez que haya completado ese análisis, el programador primero diseñará la estructura del programa antes de escribir la primera línea de código.

12. Capacidad para manejar fallas.

Los programadores rara vez hacen todo bien en el primer intento. De hecho, el fracaso es casi una certeza. Es importante encontrar personal de programación que vea los errores y los errores como un desafío en lugar de una señal de derrota. La persistencia es importante, así como la capacidad de comenzar de nuevo si es necesario, incluso después de horas de trabajo.

13. Mentalidad del trabajo en equipo.

Un programador rara vez trabaja solo, incluso si es el único desarrollador en una empresa. La capacidad de trabajar con programadores, usuarios comerciales, personal de marketing y ventas y otros programadores es esencial.

14. Disposición a la investigación.

El lenguaje de un programador es solo una parte de la imagen. Un buen desarrollador debe aprender sobre industrias específicas para diseñar programas que funcionen para sus empleados o clientes.

15. Respeto a los plazos.

La mayoría de los programadores trabajan en proyectos con plazos. Si bien es importante que los gerentes entiendan un tiempo de respuesta razonable para codificar una nueva aplicación o reparar una existente, los programadores también deben mostrar respeto por los plazos. Es importante determinar que un solicitante hará todo lo posible para cumplir con los plazos asignados.

Espero que ayude

Hola,

Los detalles específicos de lo que necesita saber para ser un buen programador dependerán del tipo de desarrollo que le interese. Por ejemplo, si está buscando especializarse en desarrollo de back-end, algunas competencias que son cruciales para usted puede no ser crucial para un desarrollador front-end. Gran parte de ser un gran desarrollador web es poder resolver problemas, hacer cambios y aprender de sus errores. La única forma de mejorar y perfeccionar sus habilidades de desarrollo es saltar directamente a los proyectos y aprender a superar los desafíos en un entorno dinámico y en constante cambio. El primer paso para convertirse en un desarrollador competente es asegurarse de tener una base sólida y todas las habilidades técnicas necesarias para tener éxito. Si está interesado en aprender habilidades de desarrollo relevantes para la industria, BrainStation ofrece un programa de desarrollo web a tiempo completo que está diseñado para prepararlo para un rol como desarrollador junior de pila completa después de la graduación. Si tiene alguna pregunta sobre el aprendizaje a través de uno de nuestros cursos, ¡no dude en comunicarse con [correo electrónico protegido] !

Creo que lo básico es importante. con ellos puedes moverte a muchas otras áreas.

LÓGICA: ahí es donde todo comienza.

C ++: la base de muchos lenguajes de generación superior y brinda la oportunidad de aprender OOP, llamadas a sistemas de bajo nivel y cómo construir bibliotecas utilizadas por lenguajes de nivel superior. Si aprende C ++, aprender casi cualquier otra cosa se convierte en una cuestión de sintaxis.

Foxpro (u otro lenguaje de base de datos) con SQL: las bases de datos son la base del almacenamiento de información. Comprender cómo funcionan, sus limitaciones, sus puntos fuertes y cómo maniobrar de manera eficiente es útil.

HTML: hay muchos “motores” que crearán páginas web, pero todos están creando HTML al final.

JavaScript: actualmente es un script de cliente bien utilizado que se usa junto con HTML.

Servidores Linux – eventualmente, la mayor parte de lo que cree terminará en un servidor. Entender cómo funcionan será útil.

SWIFT – si estás pensando en i – ???? desarrollo, SWIFT es el lenguaje que están utilizando.

Mi respuesta puede ser controvertida, pero, para ser un buen programador (y supongo que soy un programador comercial, integrado en un equipo, que trabaja en un producto, consultoría, etc.) no es necesario ser un gran programador. Ni siquiera una buena. Necesita conocer los conceptos básicos (y me refiero a los conceptos básicos de OOP 1.01: ¡se sorprenderá de lo que cree que sabía pero que realmente no sabía!) Muy bien (OOP y estructuras de datos) y eso es todo en el aspecto técnico puro. . No sé mucho acerca de cómo escribir programas concurrentes reales a escala, o cómo lidiar con el enhebrado además de un entorno académico básico, pero soy lo suficientemente adaptable como para aprender sobre la marcha y pedir ayuda a las personas mayores cuando sea necesario.

Luego viene lo realmente difícil: necesita poder comunicarse con claridad. Evalúe lo que no sabe, marque a sus colegas superiores cuando tenga problemas o no esté seguro. Sé respetuoso cuando la gente te diga que escribiste un código terrible y sé humilde cuando te digan que estás bien.
Necesita saber cuándo está bien dar su opinión sobre cosas que no están inmediatamente dentro de su alcance … “¿Qué piensa ese chico de front-end que sabe sobre la configuración de Docker?”. Si eres un buen programador, incluso con un puesto de trabajo específico, puedes adaptarte y convertirte en un pequeño pulpo que puede hacer un poco de todo. “Hola, soy el tipo que hace brillar las cosas, pero en realidad me he enfrentado a este problema de Docker antes, ejecutas este comando en la carpeta XYZ, reinicias y estás listo”. No eres un “front-end” “O desarrollador” back end “, usted es un programador. Uno bueno resuelve problemas que le impiden hacer el trabajo inmediato y avanza.

Sé parte de las soluciones. Tal vez descuidado, tal vez lento, pero solo ayuda a avanzar. Un estúpido error que comete al optimizar una consulta SQL puede ser el suceso disruptivo que finalmente empujará al gruñón senior a solucionarlo 😀 ohh, estuvo pendiente durante un par de semanas. Su terquedad y determinación ayudaron a solucionarlo. Sé este tipo de chico y recorrerás un largo camino 🙂

Como cualquier otra cosa, debes tener un interés real en el tema. La capacidad de ganarse la vida también es algo bueno, al igual que la capacidad de hacerlo en su tiempo libre.

Lo mejor de la programación para mí es que a medida que la tecnología avanza, la programación se está involucrando en todo …

Uno de mis intereses es la fotografía. La aplicación de fotografía Prisma se basa estrechamente en un proyecto de código abierto que utiliza Python. Python no era un lenguaje con el que estaba familiarizado, pero lo aprendí solo a escribir mis propios filtros (NB: esta es la razón por la que hay tantos clones de Prisma apareciendo, es porque el código central está en el dominio público, algo que es posible que desee para ver si quieres crear una aplicación).

Además, ahora hay marcos JavaScript que pueden ejecutarse en robots Arduino. Actualmente estoy buscando conectar en red mis robots Arduino (cuadrúpedos) a un servidor de un solo nodo para que puedan trabajar en colaboración. Estoy tratando de hacer que mapeen mi jardín trasero, ya que poder mapear un área es un primer paso para que los robots se muevan de manera inteligente dentro de un área, además de que trabajar como instancias en red les facilita mucho hacer cosas que de otra manera serían difíciles: conciencia espacial en un área 3d, comunicación entre instancias, capacitación / aprendizaje de los errores de los demás, etc.

Entonces, para responder tu pregunta explícitamente,

  1. ser curioso y
  2. trata la programación como un desafío divertido y como un trabajo … luego
  3. solo dale tiempo y te convertirás en un buen programador.

Al igual que cualquier otro campo de especialización, el objetivo final de cada persona es convertirse en el mejor o, en otras palabras, ser bueno, como lo ha citado.

Es lo mismo para todos, incluso para mí mismo, no lo estoy esperando. Después de todo, el propósito de la humanidad es prosperar en nuestros esfuerzos.

En la programación de computadoras, se necesita el espíritu de sacrificio, exploración, creatividad, aprendizaje diario y muchos más. Lo que los principiantes olvidan es que aprender una vez y poner en práctica una vez es y nunca ha sido suficiente, especialmente para los amantes del éxito.

Práctica constante escribiendo programas diariamente, en cualquier idioma que agregue valor a usted de una manera notable.

El éxito es la suma de pequeños esfuerzos trabajados día a día.

Para ser grandioso, no solo bueno, tienes que aprender de la experiencia. Pero tenga cuidado, la experiencia puede enseñarnos a repetir el mal comportamiento y crear malos hábitos. Todos nos hemos encontrado con programadores con ocho años de experiencia … el mismo año de experiencia, repetidos ocho veces. Para evitar ese síndrome, mire todo lo que hace y pregúntese: “¿Cómo puedo mejorar esto?”

Los desarrolladores de software novatos (y demasiados experimentados) miran su código para admirar su maravilla. Escriben pruebas para demostrar que su código funciona en lugar de intentar que falle. Los programadores verdaderamente buenos buscan activamente dónde están equivocados, porque saben que eventualmente los usuarios encontrarán los defectos que se perdieron.

Para ser notablemente bueno en el desarrollo de software, es recomendable que siga los seis pasos que se detallan a continuación en el desarrollo de sus softwares. Podrá producir un producto final de calidad simplemente utilizando procesos de calidad. Mantenga mi palabra.

Las actividades incluyen lo siguiente:

  1. Planificación : las partes más importantes del desarrollo de software, la recopilación de requisitos o el análisis de requisitos suelen ser realizadas por los ingenieros de software más calificados y experimentados de la organización. Después de que los requisitos se recopilan del cliente, se crea un documento de alcance en el que se determina y documenta el alcance del proyecto.
  2. Implementación : Los ingenieros de software comienzan a escribir el código de acuerdo con los requisitos del cliente.
  3. Prueba : este es el proceso de encontrar defectos o errores en el software creado.
  4. Documentación : Cada paso en el proyecto está documentado para referencia futura y para la mejora del software en el proceso de desarrollo. La documentación de diseño puede incluir la escritura de la interfaz de programación de aplicaciones (API).
  5. Implementación y mantenimiento: el software se implementa después de que se haya aprobado su lanzamiento.
  6. Mantenimiento : El mantenimiento del software se realiza para referencia futura. La mejora del software y los nuevos requisitos (solicitudes de cambio) pueden llevar más tiempo del necesario para crear el desarrollo inicial del software.

Una vez que siga con éxito los pasos anteriores, será posible crear software aceptable y mantenible.

Todo lo mejor en ti

Para ser un mejor programador, debe ser mejor en algoritmos, diseño utilizando OOPS, estructura de datos, subprocesos múltiples y muchos otros conceptos de programación, por ejemplo: divide y vencerás, recursión, creación de prototipos y pruebas unitarias. Puede encontrar una mezcla de muchas habilidades en la programación y significa que no es práctico aprenderlo en poco tiempo, pero lleva mucho tiempo obtenerlo con experiencia, pero no es un proceso de una noche.

Aquí hay algunos consejos para convertirse en un buen programador: –

1) Codificación, codificación y codificación:

Es muy difícil y lo principal de la programación. Con la ayuda de la codificación, puede conocer los errores, manejarlos bien y concentrarse en mejorarlos. No es posible centrarse solo en el diseño, ya que la codificación es muy importante para producir resultados. Simplemente no renuncies después de resolver el problema porque siguen viniendo una y otra vez.

Leer más: Los mejores consejos para una programación segura en Java

2) Revisa los libros:

Como se dijo, la codificación es bastante difícil y tanto el código bueno como el código malo tienen una gran diferencia, pero ¿cómo lo sabe? No es posible comprender la diferencia hasta que haya encontrado un buen código y entienda por qué un código es particularmente bueno. Aquí es donde los libros entran en escena.

3) Explore el código abierto:

Con respecto a Google , Apache y otros proyectos solo participan en el código fuente abierto para desarrollar sus habilidades en programación y convertirse en un muy buen programador. Todo lo que necesita hacer es registrarse en su lista de correo. El descanso se resolverá porque se detendrá en la discusión entre buenos programadores y, por lo tanto, podrá comprender el problema y el enfoque para desarrollar las habilidades en usted.

4) Trabajar más en Algoritmos, estructura de datos y problemas relacionados con el diseño:

Esto es muy importante para convertirse en un muy buen programador. Puede encontrar que muchos programadores son expertos en algoritmos, estructuras de datos y conceptos básicos. Para cualquier programa, la base clave es una estructura de datos, aprender más sobre ellos ayuda a resolver problemas.

Leer más: ¿Por qué se considera Java un lenguaje seguro?

5) Conéctate con buenos blogs “

Es similar a leer libros y sí, te ayuda. La mayoría de los programadores generan tales blogs y dan su opinión personal. Es muy fácil de entender. También lo ayudan a conocer nuevas características, tecnología y API.

No hablaré sobre cuentos de hadas y compartiré infinitos consejos.

Solo dos cosas.

Trabaja en tu reputación y al mismo tiempo aprende .

Soy CEO, RRHH y programador desde hace más de 20 años.

He gastado mucho dinero en libros, seminarios, cursos de Udemy y mucho tiempo en recursos gratuitos.

¡¡¡Pero!!!

Mi tiempo es precioso para mi.

Si invierte en su conocimiento y usted mismo $ 30 por mes y obtiene un certificado reconocido mundialmente que también podría colocar en su currículum y en su perfil de LinkedIn, reconocido en el mundo de los negocios, eso significaría que está haciendo ambas cosas al mismo tiempo.

Entonces, aprenda de los cursos en línea que le dan al final este certificado.

Trabaje en su perfil de LinkedIn desde el día 1.

Pero tenga cuidado con las solicitudes de conexión, no debe ser prohibido. Pocos de ellos por día está bien. Y definitivamente incluya un mensaje de solicitud de conexión.

Rellene todas las secciones en su perfil de LinkedIn.

Cuando alguien acepte su solicitud de conexión de LinkedIn, califíquelo por sus habilidades con la esperanza de que también lo califique.

¿Cómo encontrar posibles conexiones en LinkedIn?

No malgastes tus solicitudes de conexión con todos.

Únete a los grupos de LinkedIn desde tu nicho. Y busque a las personas que publican y comentan y que lo están haciendo recientemente.

Porque algunos abren perfiles de LinkedIn y rara vez o nunca vuelven.

Limpia tus invitaciones de conexión de vez en cuando.

Tengo un artículo sobre certificaciones y cursos en línea, puede leerlo aquí:

El secreto para dominar el lenguaje de programación y obtener beneficios de empleo: perspectiva de un CEO y programador 2018

Si encuentra útil mi respuesta, haga clic en Votar a favor.

Ya hay muchos comentarios sobre las habilidades técnicas, la dedicación, la pasión y los métodos …

Para aprender, necesitas codificar. Mucho. Y descubrí que para mí, lo que me hizo progresar mucho es que después de codificar algunas cosas, te preguntas ¿qué hice mal? ¿Qué me habría hecho evitar el desastre en que se convirtió mi código? ¿Cómo todo esto se volvió complejo y doloroso de mantener? ¿Había alguna forma de evitar toda esta complejidad? ¿Qué pasaría si quisiera agregar una nueva función? 2 nuevas características? y así sucesivamente .. ¿Podría ser elegante? Si pudiera reiniciar desde cero, ¿qué haría?

Me pregunté sinceramente, todos buscaban la respuesta, cada vez, era una buena oportunidad para aprender algo.

Como principiante, la respuesta fue muy a menudo que comencé a codificar las partes divertidas demasiado pronto, perdí el panorama general. Me interesa mucho la arquitectura de software y los patrones de diseño, código limpio, buen proceso … Siempre hay muchas cosas que aprender en esas respuestas.

Desde mi experiencia lo mejor que puedes hacer para mejorar tus habilidades:

  • software de escritura (código abierto, freeware, proyectos divertidos), todos están bien para comenzar,
  • lea buenos libros, como “Programador pragmático”, “Refactorización”, “Patrón de diseño” – aprenda sobre arquitectura, teoría – los idiomas pueden cambiar, la forma de pensar solo un poco,
  • asistir a hackathon – conocer a otros desarrolladores

Estoy de acuerdo con el sentimiento de que el “conocimiento del libro” por sí solo no te convierte en un buen programador, pero nunca diría que no es necesario que conozcas los hechos y las técnicas principales. Los buenos programadores son programadores experimentados, lo que significa que practican el arte a diario. Persiguen el conocimiento del oficio a medida que lo necesitan o anticipan que eventualmente lo necesitarán. Y tienen valor: creen que pueden superar los obstáculos y la “respuesta” se revelará porque saben cómo involucrar a las numerosas personas y recursos que pueden apoyar sus esfuerzos. Un buen programador acepta que siempre habrá cosas que no sabe pero que se comportan como si su falta de conocimiento sobre un tema fuera una condición temporal. Los buenos programadores aman su trabajo y lo adelantan cada vez que tienen la oportunidad.

Práctica práctica práctica. Si eres nuevo en la programación, quieres asegurarte de tener una buena base aprendiendo primero los fundamentos y conceptos básicos. Una programación de bootcamp o tomar algunas clases ayudará. Una vez que comprenda los fundamentos, entonces desea codificar tanto como pueda. Cuanto más practiques, mejor serás programador.

learncodinganywhere.com

¿Qué es un “buen programador”? Para ser un buen programador, sea lo que sea que eso signifique, debe ser capaz de administrar el proceso de escribir software, no codificar.

Escribir software significa analizar problemas. Tienes la tarea de escribir algo. Debe analizar el problema analíticamente. Debe diseñar estructuras de datos y flujo de datos. Finalmente, el código prácticamente se escribe solo.

Conocer trucos no es realmente parte de la descripción del trabajo. Si se queda atascado, consulte StackOverflow o un manual decente (en línea o en papel).

¿Cómo se llega allí? En primer lugar, al pasar mucho tiempo (a menudo años) haciendo software. Debes tener un poco de talento para la parte analítica. Muchos no lo hacen. Debe ser capaz de trabajar solo durante largos períodos y luego buscar ayuda cuando llegue a un punto muerto, de colegas o en línea.

Entonces, trabaja duro. Prepárate para un largo trabajo. Lea el código de otros para tener una idea de cómo hacerlo (y, a veces, cómo no hacerlo). Sobre todo, no tengas miedo. Cree en ti mismo y estarás bien a la larga.

Vaya al desbordamiento de la pila y vea las preguntas publicadas, esas son preguntas que muestran problemas que enfrenta un programador diario, ahora intente resolverlos.

Si pudiste resolverlos, entonces estás practicando, que es la mejor manera de mejorar.

Si no pudo resolverlos, vea cómo alguien más lo resolvió, busque en Google la documentación del método utilizado para resolverlo y obtenga más información.

La práctica hace la perfección, o lo suficientemente cerca. Básicamente, solo sigue programando. Busque el código de otras personas en GitHub, el examen del código de otras personas puede proporcionar información interesante y darle ideas para sus propios proyectos. Crea tu propio perfil en GitHub si aún no tienes uno. Es bueno crear una cartera que pueda mostrar a los empleadores potenciales para cualquier trabajo que solicite. Examinar el código del candidato es una gran parte del proceso de selección. Bueno eso y pruebas de codificación. Tantas pruebas de codificación.

Pero de todos modos sigue programando y sigue aprendiendo. Elija algunos libros de programación avanzada y vea si puede aprender algo nuevo.

Vaya a la escuela y obtenga una verdadera educación informática con todas esas disciplinas informáticas que no son solo lenguajes y tecnologías como la programación orientada a objetos y la depuración. Lo mejor es una escuela con cooperativa que lo ayudará a desarrollar un currículum y un perfil de linkedin junto con conexiones.

Primero evalúe su propio potencial, debe ser razonablemente lógico, comprender las matemáticas y querer hacerlo. Realmente lógico para ser un gran programador.

Hay otras dos excelentes respuestas en este hilo sobre qué tipo de persona necesita ser en una empresa de software. Si desea trabajar en una pequeña empresa o escribir su propio producto kickass, deberá ser un buen programador competente y completo.

Aquí hay muchas buenas sugerencias, y el dominio de cualquier subconjunto de estas te haría excepcional.

Añadiría puntos menores:

  1. Presta atención. Tener en cuenta. Mira las consecuencias.
  2. Codifica mucho.
  3. Busca la crítica.
  4. Lee el código de otras personas.
  1. Averigua qué hicieron y por qué.
  2. Nombra cinco características faltantes y necesarias.
  3. Nombra cinco optimizaciones o generalizaciones no utilizadas
  4. Agregar al código de otras personas.
  • El mejor codificador pasa la mayor parte de su tiempo sin escribir código. (koan)