10 consejos para un programador novato

Nadie nace sabiendo ni siendo un experto en cualquier tema. Todo lleva un tiempo de aprendizaje, de práctica y de aplicación. Desarrollar programas eficaces y funcionales para microcontroladores no es la excepción de esta regla. En este artículo no aprenderás a programar sino que encontrarás los consejos más importantes que te guiarán por el camino menos frustrante hacia una realización exitosa. Participa de los mejores consejos que se brindan en los foros más importantes de toda la Web y descubre los secretos que utilizan los programadores más avezados. Entra al mundo geek y sé parte de él.

Foros, listas de correo, blogs, YouTube, MSN y muchos otros medios son utilizados en la Web para permitir que la gente pueda comunicarse entre sí y pueda ayudarse mutuamente en los temas referentes a microcontroladores. Luego de recorrer durante algunos años muchos de estos espacios en busca de información y conocimientos, he encontrado que la mayoría de los interrogantes y consejos que se brindan a quienes recién comienzan en el mundo de los microcontroladores se reiteran una y otra vez en todos los lugares. Pareciera que las dudas y las preguntas son siempre las mismas.

La razón es muy obvia y sencilla: cada día hay más gente con ansias de aprender, y como sabemos que tú eres uno de ellos, hemos preparado un pequeño listado de las cosas más importantes a tener en cuenta al momento de iniciarte en este apasionante mundo de los microcontroladores. Sea cual fuere la marca de microcontrolador que prefieras o el lenguaje de programación que utilices, existen métodos de trabajo que, cuando te acostumbras a ellos, comienzas a descubrir que todo se vuelve más fluido, más sencillo y más rápido. Es allí cuando dejas de perder el tiempo en cosas sencillas o elementales y pasas a utilizar el tiempo para crear y concebir con eficiencia tus mejores trabajos.

El mundo de la programación espera por tí

Al comenzar, las dudas son interminables y los miedos al fracaso suelen ser los culpables de que muchos abandonen su interés por el mundo de los microcontroladores. No hay que dejar de tener en cuenta que la información está tan dispersa en la red que encontrar lo que estamos buscando es a veces más difícil que ver abrazados a Bill Gates y a Steve Jobs. Por eso, si estabas a un paso de comenzar a trabajar con microcontroladores y no encontrabas la puerta de acceso, ven con nosotros, lee estos pequeños “Tips”, apréndelos, ponlos en práctica y deslúmbranos con tu creatividad.

1 – El Datasheet del microcontrolador
Una de las mayores razones de confusión y de complicaciones al desarrollar un proyecto es la falta de información del microcontrolador que se desea utilizar. Las hojas de datos son los documentos más importantes que debemos acopiar al momento de decidirnos e inclinarnos por un determinado tipo de microcontrolador.

Por ejemplo, si en tu diseño vas a utilizar un PIC 16F877A, debes imprimir, leer y recurrir a sus hojas como si fuese El Libro de la Verdad Absoluta. Todas las respuestas están allí. Todo lo que necesitas saber está allí. No te permitas iniciar un desarrollo sin haber leído las hojas de datos del microcontrolador que utilizarás. Un registro mal “seteado” y nada funcionará. Desde la configuración inicial del dispositivo (fuses), pasando por los registros de los ADC (Analog to Digital Converter) o los módulos CCP que te permiten obtener señales PWM, hasta la mismísima configuración del reloj o clock del sistema. Todo está allí.

2 – Piensa en tus objetivos, sueña con ellos.
¿Qué deseas lograr con tu desarrollo? Pensar en la idea final nos suele llevar a visualizar en la mente el proyecto terminado y consolidado en un prototipo funcionando a la perfección. ¿Qué componentes adicionales necesitaría? ¡Ah! ¿Tengo esos componentes? Luego de que ya hayas dado vuelta todos los estantes y cajones buscando ese material que te faltaba, comienza a anotar los que te hagan falta, los que no tengas. No abuses de tu memoria para recordar todo lo que necesitas comprar en la tienda; coloca en ella tu desarrollo y utilízala como un microcontrolador: optimiza este recurso y utilízalo sólo para ampliar y perfeccionar tu proyecto. Los materiales que hacen falta no deben ocupar espacio en tu mente; haz un listado minucioso y detallado para no hacer dos viajes y listo.

3 – No quieras correr antes de empezar a caminar
Uno de los errores más comunes de los que recién se inician es querer obtener más de lo que pueden llegar a comprender. No intentes hacer como primer trabajo un cartel luminoso de LEDs para venderlo en los estadios de fútbol y volverte millonario la semana próxima. Ni siquiera pretendas construir y empuñar el sable láser de Obi-Wan Kenobi y ser la envidia del colegio. ¡No, no!

No pretendas comenzar por lo más difícil

Si no tienes noción de la complejidad del proyecto que emprenderás es porque no has leído o interpretado el punto anterior. Las frustraciones provocadas por los fracasos en los primeros intentos aniquilan la confianza en nosotros mismos y arruina toda la diversión que significa construir y materializar nuestros sueños mientras vamos aprendiendo. SIEMPRE comienza con lo más elemental y, a medida que los éxitos comiencen a llegar, puedes ir agregando complejidad a los diseños. Además, cualquier programador experimentado te dirá que su primer trabajo fue escribir “Hola Mundo” en un display o un LED titilando como una baliza. Quien diga que no, te miente cobardemente.

Comienza a caminar comprendiendo los conceptos básicos y la terminología técnica y desarrolla pequeños proyectos de luces, motores o pantallas LCD. Luego, comienza a hacer un poco de jogging y trote liviano con algo más complejo como letreros de luces y pequeños controles de los que se utilizan en industrias. La domótica y la mecatrónica son dos campos muy interesantes y amplios como para sumar buena experiencia. Si no salteas ninguno de los pasos, muy pronto estarás corriendo grandes competencias a la par de los profesionales.

4 – Corta la pizza en porciones, no la comas entera
Por más simple que sea un proyecto, siempre es bueno dividir en bloques o pasos la tarea a realizar. Silbar y comer maní son cosas muy habituales y sencillas de hacer, pero concretarlas al unísono no es algo fácil. Organízate y prepárate a trabajar por partes. Primero ESTO, luego ESTO OTRO y al final AQUELLO. Intentar hacer todo a la vez o en forma desordenada sin un patrón de acción puede ocasionarte errores al momento de construir el proyecto. Por ejemplo, si decides incorporar un Puente H para mover un motor, contrólalo antes de conectarlo al microcontrolador. Es decir, conéctalo y pruébalo en forma independiente para saber que el mismo funciona. Así con todos los bloques en los que puedas sub-dividir tu proyecto.

El Sr. Spock aprueba como lógicos estos consejos

5 – No sólo la fuerza te guiará, deja que el Sr. Spock también lo haga.
Tus inspiraciones serán una avalancha de imágenes y pequeños trailers en tu imaginación, pero en el teclado deberás actuar de manera puramente lógica. El número uno, nos guste o no, está antes que el dos. Primero el cero, luego el uno, después el dos, el tres y así en adelante. Siempre es así y nunca cambia esa realidad, a pesar de las paradojas de Ariel Palazzesi. Los programas funcionan así. Obtenemos la variable A y la transformamos en B; le sumamos C y el resultado se muestra en el paso D, y así se encadenan los procesos individuales que desembocan en el resultado final del programa. Nada es al azar, ni porque se le ocurra a Max Ferzzola. Los programas siguen un razonamiento lógico y, por lo tanto, los microcontroladores también. Si tu mente se acostumbra a razonar de esta manera, programar será un juego de niños para ti.

6 – El pseudo-código también es lógico.
Te puede parecer arcaico, poco profesional y hasta una pérdida de tiempo, pero escribir en un papel todos los pasos que seguirá tu programa puede ser una ayuda muy importante mientras vas redondeando la idea final.

Por ejemplo:

  • Necesito una variable (A) que contenga un valor 20 al iniciar.
  • También otra (B) que valga 18 en el mismo momento.
  • Después las sumo y coloco el resultado en una tercera variable que se llamará C.
  • Las muestro en el display.

En un programa en lenguaje BASIC eso resulta ser:

A = 20
B = 18
C = A+B
Print at 1,1, Dec C

Escribir la secuencia de acciones que queremos que nuestro programa realice nos permitirá modelarlo a nuestro gusto y requerimiento, además de optimizarlo.
Cuando lo aprendes en la escuela, te lo enseñan como Diagrama de Flujo y puede que con el tiempo te olvides de él, pero cuando lo aprendes por ti mismo, razonando los pasos a seguir, no lo olvidas nunca.

Organíza tu trabajo en partes y/o bloques

Algo que puede parecer muy intrascendente, pero que es de vital importancia, es “comentar” cada línea de código que escribamos. Aunque creamos que es inútil, si no lo haces, terminarás arrancándote los cabellos una semana después al no darte cuenta qué es lo que quisiste colocar allí o por qué llegaste a ese lugar dentro del programa. Que hoy los comentarios te ocupen 10 renglones por cada línea de código significará que el próximo mes te ahorres 10 horas de trabajo intentando descubrir qué intentaste hacer allí.

7 -Organiza y guarda estructuras pre-armadas.
A medida que vayas utilizando un microcontrolador en particular (siempre seleccionamos uno “preferido”) y comiences a utilizarlo reiteradamente, te resultará cómodo tener a mano una estructura estandarizada de conexiones y bloques de programas. Es decir, si acostumbras a utilizar un microcontrolador X, si siempre utilizas la misma frecuencia de cristal oscilador, si siempre utilizas el mismo tipo de LCD, y si además también conectas siempre tus desarrollos a un ordenador a través de un puerto RS-232, tendrás siempre un gran bloque de programa que se repite diseño tras diseño.

Cuando comienzas a darte cuenta que muchos de tus diseños repiten pasos o bloques, allí empiezas a armar tus “templates” que son plantillas pre-armadas de cosas que se reiteran habitualmente. Consérvalas y organízalas en lugares prácticos y de fácil acceso. Te servirán para ahorrar mucho tiempo al momento de iniciar el diseño de un nuevo proyecto. Aprovecha el trabajo que ya tienes hecho y que sabes que funciona. 

8 – No preguntar hasta agotar las posibilidades de conocimiento.
En la mayoría de los foros o grupos de correo que aglutinan a miles de entusiastas de los microcontroladores sería muy fácil registrarse gratis, realizar consultas y, una vez que nos brindan las respuestas, seguir adelante. Además, en esos lugares siempre hay gente bien dispuesta a brindar ayuda. Trata de no hacerlo hasta el final de tus posibilidades. Lee las hojas de datos de los materiales que te están complicando el diseño, busca dentro de los foros, utiliza Google, lee algún libro relacionado al tema, busca hasta el cansancio en la ayuda del programa (Help) y, como último recurso, pregunta a otros.

Si ante el menor inconveniente acudes a otras personas para que te resuelvan los problemas, nunca aprenderás lo suficiente. Además, cuando te den la solución a tu problema, no sabrás entender que dicha solución sólo la pudiste obtener allí porque no tienes idea de lo que buscas. Todos siempre necesitamos una ayuda hasta en la tontería más insignificante, pero la comodidad y la holgazanería de que otros te hagan el trabajo no es un buen negocio para un programador. Por último, si pides ayuda, demuestra haber hecho tus intentos de solución contando lo que has realizado y los resultados que has obtenido. Si no haces nada, y sólo te limitas a pegar el enunciado que te han dado tus profesores, no esperes que alguien te ayude.

No permitas que la frustación se apodere de tí

9 – La frustración es el enemigo a vencer.
Trata de no abandonar los proyectos porque algo no funcionó como esperabas. Descubre en esas oportunidades un reto o un desafío antes que un fracaso. Siempre es bueno mantenerse tranquilo y calmo a pesar de que nuestros circuitos echen humo por los cuatro costados. Todo error que se busca, al encontrarlo y solucionarlo, es un aprendizaje que queda grabado. Puede sonar muy extraño pero la asimilación del conocimiento es directamente proporcional al daño provocado. Es decir, cuanto más grave y más caras sean las roturas, mayores serán los aprendizajes de saber qué es lo que NO se debe hacer y por qué suceden algunas cosas.

No fue Dios el culpable de que algo no nos funcionara, sino que somos nosotros los que hemos metido mal algún cable. Un buen paseo, una buena caminata y al día siguiente retomar el trabajo es una de las mejores formas de vencer la frustración. Por eso, siempre hay que revisar, revisar, revisar y volver a revisar todas las conexiones antes de conectar la energía al circuito. Nada debe dejarse librado al azar y mucho menos restarle importancia creyendo que hemos hecho bien las cosas. Todos somos humanos y podemos cometer el error más infantil que puedas imaginar. No olvides que muchas veces una parte del éxito es una sumatoria de aprendizajes brindados por los fracasos.

Google es el mejor amigo del hombre

10 – Google es el mejor amigo del hombre (programador)
Si lo que buscas no está en Google, es porque no existe y eres un pionero en la materia. Toneladas de material que puede ayudarte está allí en Google esperándote para poner en marcha tu proyecto. En castellano, en inglés o en arameo antiguo, lo que necesites estará en texto, imágenes y video. Nunca dejes de consultar en Google antes de preguntar tus dudas a otros.

Conclusiones
A cada momento puedes descubrir un nuevo modo de estructurar un programa. Disfruta de cada LED que puedas hacer brillar y no lo tomes como algo más; detente y tómate un tiempo para analizar tu buen trabajo. Sin caer en narcisismos banales, aprovecha cada buena rutina de programa para limpiar de tus hombros los fracasos y las tristezas de los códigos que no te funcionaron. Siempre nos parece que los fracasos son demasiado pesados. Solo en tu fuerza interior está la manera de hacer que las alas que te brinda la concreción de un buen trabajo inclinen la balanza y venzan el peso de las frustraciones.

Olvídate de frases bochornosas como “Pues es raro…”, “Nunca había pasado antes”, “Pues ayer funcionaba…” o el clásico y nunca bien ponderado “Debe ser un virus…”. Si no enfrentas el problema, nunca podrás vencerlo, y si no abres tu mente y te cierras con terquedad sin intentar realizar otros caminos, nunca esperes resultados diferentes. 

Si has leído hasta aquí y eres un programador con experiencia, seguramente tendrás más consejos para aquellos que recién comienzan. Te invitamos a que los agregues en los comentarios. Gustosamente leeremos tus aventuras y desventuras como programador. Recomendación: No cuentes sólo las ganadas.

Deja tu voto

4 puntos
Upvote Downvote

Total votes: 22

Upvotes: 13

Upvotes percentage: 59.090909%

Downvotes: 9

Downvotes percentage: 40.909091%

  • STU

    Me he sentido identificado, aún siendo desarrollador de sistemas con experiencia, me gusto mucho éste articulo… 100 puntos y tambien a la divertida redacción.

    • Camilo Monsalve Moreno

      Hola. Yo soy diseñador y Artista visual desde más de 11 años.
      Todos mis trabajos los hago delante de un ordenador, y en muchas ocasiones me he
      Tenido que enfrentar al código por mis propios medios.

      Sé que el mundo de la programación es un camino de sabios y es interminable.
      Pero cada día tengo que enfrentarme al código con más frecuencia.

      Adoro mi carrera profesional y es por ella que tengo que aprender los principios básicos
      De la programación, para poder enfrentarme a cualquier tipo de composición de código
      Y sus respectivos lenguajes.

      ¿Que sabio consejo tienen para un Artista Visual como yo?

      Muchas gracias.

  • legion_84

    Excelente articulo, me diverti mucho viendo el diagrama del punto 6, ahora bien una duda me invade, observo que hay imagenes de star wars y star trek. ¿Cual de esas sagas es de tu prefencia? de la espuesta depende si eres o no un verdadero geek.

    • naniko

      Que sandez de pregunta… desde cuando esa eleccion te hace o deja de hacer un geek??

      Sin Comentarios….

      • legion_84

        Que sandez de respuesta… sino tenias comentarios simplemente bastaba con no escribirlos, me parece absurdo que respondas el comentario y luego coloques …… Sin Comentarios

      • naniko

        Para Legion_84; fijate que Pepe Veraz, ha comprendido perfectamente la respuesta… a buen entendedor sobran palabras…

    • Pepe Veraz

      para mi ambos bandos son geeks. es como si pretendieras decir que solo los inchas del barcelona o los del real madrid son aficionados al futbol.

      • Pelado

        Solo queria alcararte que "hinchas" va con H.

      • Pepe Veraz

        gracias por la correccion pelado, por el -3 me doy cuenta que no comprendieron la analogia en mi comentario jeje, ni hablar.

    • Ferrer

      STAR WARS Obi-wan es el mejor.

    • Skarra

      personalmente prefiero star wars, aunque en general se sobreentiende que los amantes de star trek son mas freak (por algo constantes burlas de los simpsons al respecto)

  • WaldoMan

    Muy buen articulo bastante entretenido.

  • ZK1K

    Soy programador novel (no novato) y estoy al 101% deacuerdo con Mario Sacco, ya he pasado por eso. Elijo star wars.

  • Pepe Veraz

    Excelente articulo, como bien menciona STU, eso aplica perfectamente a los programadores de sistemas.

  • cl4551f13d

    Soy un fanático de la microelectrónica y adicto a construir mis propios autómatas y dispositivos microcontrolados, empleo mucho los micros de ‘microchip’ y los proyectos de Arduino.

    Muy buen articulo, pero si se trata de ser un buen programador faltan muchas más cosas. Si uno mira los grandes proyectos que algunas personas hacen, se puede descubrir que llegaron a crearlo no porque sean los mejores programadores, los mejores en electrónica, etc, Es porque son tenaces y no se rinden. Hay cientos o miles de problemas que se presentan en cada proyecto y si uno después de unos cuantos problemas se rinde nunca podrá hacer cosas como esas. Hay que tener un 95% de tenacidad y un 5% en programacion, electrónica, etc.

    Dentro de ese 5% falta agregar que es fundamental saber indentar, de otro modo aunque hayan comentarios, muy dificilmente se podrá descubrir si un error se debe a que no se cerro un ‘if’ un ‘for’, etc.Hay que aprender a programar en C, C++, php, java, html(no es lenguaje de programacion) y asembler, obvio! si se desea programar microcontroladores. En el caso de C, C++ hay que volverse un experto en apuntadores y objetos. PHP es parecido a C, C++. Asembrer aunque no es indispensable para los microcontroladores, donde el tamaño de la memoria de procesador es muy poca y la velocidad critica, lo mejor es escribir el programa en puro asembler.Para aprender programacion, solo hay una forma: programar, programar, programar… Perdón, me quede en un bucle sin fin. 😉

    Tener un pequeño taller en algún lugar de la casa, todo bien distribuido, si uno gasta mas de 10 segs en encontrar algo, se perderá mucho tiempo y nunca se construirá nada. todo en un lugar bien ordenado, iluminado y sobre todo muy bien ventilado, por lo de algunas sustancias venenosas como el percloruro de hierro, sulfaman, el humo de la soldadura es venenoso(tiene plomo), etc.

    Y obvio ir consiguiendo las herramientas, multimetro digital que tenga probador de transistores, condensadores, cables de red, etc. Osciloscopio de por lo menos dos canales y la mayor cantidad de Mhz posibles, y cuando se adquieran los componentes no pida apenas los que se necesita. ¿Necesita un led? compre 3 ¡Necesita 10 transistores? Compre 12 o 13, etc. Nunca se sabe cuando algun componente viene dañado o se cae al piso y se pierde y mientras uno lo busca, se le pone un pie y termina destruido. Las resistencias son muy baratas, cada ves que se le vaya acabando una, por ejemplo las de 1K compre un paquete de 100 o 1000. Trate de comprar por cantidades, por ejemplo un día cuando vaya a comprar leds, compre 100. si necesita diodos 1n4001 no compre 5, compre 100 o 1000.

    Por ahora es lo que recuerdo.

    • Derkeshtai

      que no te engañen, html es lenguaje de programación, recuerda: si hay código es lenguaje. Aunque si te referies exclusivamente a lenguaje de pic, tonces sí xD.

      Ahora que si hablamos de niveles de programación…

      Me encanta el olor de la soldadura por las mañanas!

      • ratata

        amigo, html es un lenguaje, pero no de programacion. por algo existe esa cosa llamada javascript.

      • Pepe Veraz

        Html no es lenguaje de programacion sino un lenguaje de etiquetado.

  • andres817

    Exelente articulo, Estoy muy deacuerdo con el consejo 9 "La frustración es el enemigo a vencer" es super satisfatorio cuando alfin alcanzas lo que deseabas.

    • depravel

      lo que hay que tomar en cuenta es, cuando ocurre un exito, como todo ser cientifico, creativo, necesita desesperadamente en exponerlo y que le den palmaditas sicologicas, a que voy con esto. Cada vez que terminaba un proyecto de programacion, le decia a mi hermano, hey mira lo que hase…. y mi hermano tan amoroso decia – y esa madre que? :!
      y uno que se lo lleva la tristesa por eso. consejo cuano llegue el exito SI NO SE TIENE A ALGUIEN PARA COMPARTIRLO SIEMPRE ESTA TU PARTE BIPOLAR PARA COMPARTIRLO.
      (punto de vista de un cliente de la desesperacion)jejeje 🙁
      buen mapa mental muy ilustrativo e incluso seria bueno ponerlo en las entradas de las escuelas de programacion. jijiji.
      en cuanto a las preferencias y cliches. cada frikgeek con su cosa. a mi me facina matar amigos en los shooters y que….

  • danieltorres

    yo apenas voy empezando a programar de hecho quiero empezar con una eeprom jeje ya he programado integrados los llamados gal16v8a jeje pero su programacion es un poco compleja batalle bastante para entender ya que faltaba a clases pero si pude llegar a entender su programacion con diagrama de flujo, tabla de verdad, y la otra por me dio de diagramas de tansicion pero en forma de diagramas de flujo..

    al principio se nos quemaban las gal por la forma de conexion que les haciamos con los ceros logicos y los unos logicos, o simplemente la programacion no era la adecuada marcaba error, por cualquier cosita, una coma o un punto y coma, o muchas veces era que el programa estaba mal hecho y hacia otra cosa que no era jajaja..

    al fin de cuentas pude aprender a usar gals.. pero me gustaria ahora aprender pics y tomare estos consejos para poder aprender de la mejor manera…gracias…

  • Jimi Liendrix

    Excelente aporte.

    Soy programador php con unos 2 años de experiencia, creo que lo mas importante para un desarrollo es su planificación previa, un buen levantamiento de información hace la diferencia, los errores y el tiempo de desarrollo disminuyen considerablemente.

    Lo frustrante en mi caso es que en mi lugar de trabajo nada de esto se cumple, entonces se programa con las ideas "en el aire" o hasta te pueden llegar a pedir un sistema en una conversación de "pasillo".

    Me gustaria agregar que "UML" hace mucho mas simples las cosas.

    Saludos.

    • Pepe Veraz

      Tienes mucha razon jimi, eso ocurre muy frecuentemente en las empresas, te piden las cosas para ayer, es decir lo antes posible y muchas de las veces debes ponerte a codificar como endemoniado para entregar a tiempo. Descuidan mucho la parte de la planificacion. Pero muy de acuerdo con tu comentario, el planificar y documentar el desarrollo con herramientas como UML te ahorra muchisimo tiempo a la postre. Si en tu empresa no suelen hacer esto, te recomiendo que lo presentes como una idea de mejoramiento, vendeles la idea para que se implemente y quiza porque no hasta te suban de puesto.

      saludos.

    • yokese

      Bienvenido al club. El artículo es muy bonito. En realidad a la hora de trabajar te lo tienes que pasar todo por el forro o acabar frustrado. Lo de comentar, pruebas,….está muy bien pero si trabajas para una empresa (española) de fabricación de cucharas de madera y el departamento de informática es ‘un gasto mas’, hablale tu al jefe de invertir en esas ‘chorradas’ y ‘metodologias’.

  • BionicTenshi96

    Según el diagrama del #6 debi dejar la programación desde el principio (o no tocarla), pero en fin ya pase por alli. Lamentablemente en mi escuela los proyectos los haciamos casi de atras para adelante (primero programabamos y a fines de semestre estabamos haciendo la documentación) y para colmo manejabamos dos modelos de programación; el tradicional y metodos agiles, y lo peor es que lo debiamos hacer en web y con JSP (si nos hubieran dejado trabajar con php se nos hubiera facilitado la vida)…

    jajaj pobre monitor, no me imagino la hazaña que habra pasado el tipo que le incrusto el teclado XD

    • Pepe Veraz

      creo que en mi universidad estamos peor, primero programamos y a finales de la carrera nos enseñaron a planear y documentar.

      lo del monitor no me lo tengo que imaginar, mi hermano menor hecho a perder la pantalla de su netbook u_u.

      • luix

        Eso es bastante común, por mi parte almenos me enseñaron a realizar diagramas de flujo antes de dejarnos tocar un teclado, un punto es que por lo general no tienes ni idea de lo que es la programación entonces se te hace frustrante no ver resultados en los primeros meses de estudio.

      • Pepe Veraz

        nosotros tambien aprendimos a hacer diagramas de flujo y seudocodigo desde los primeros semestres, algunos desde la preparatoria, mas bien me refiero a la documentacion de desarrollo como diagramas entidad-relacion, diagramas de clases, modelos conceptuales y de dominio, diagramas de secuencia, en fin toda esa documentacion a veces engorrosa pero necesaria para un buen desarrollo, ni te cuento que muchos batallaron bastante para comprender estos conceptos siendo que ya sabian programar.

        saludos.

  • Sorancio

    Yo llevo 2 años de experiencia programando cómo hobby, y he de decir, que cuándo estás horas y horas con un código y luego funciona, es fascinante, es lo que más me gusta de la programación. Aunque que no funcionen las cosas también es algo que me encanta, porque es un reto que toda persona debe pasar, y es realmente divertido (si te gusta programar claro) y ejercitas la mente. Hasta lo más simple, hacerlo funcionar, es complicado. Yo estuve hasta una semana para aprender a hacer un programa nativo independiente para x86 xD.

  • Alush

    Bueno, mi experimento concluyó con la eliminación de mi mensaje, jejeje. Ahora aprendí que no se debe usar insulto ni a modo de chiste.

    Como decía, el mejor consejo es usar el método científico de PRUEBA Y ERROR. Cómo hice aca (cosa que nadie tuvo tiempo a leer) fue dejar un insulto hacia el creador del psudo código argumentando me parese totalmente innecesario para quienes quieren aprender a programar. Como resultado, mi mensaje fue eliminado, y ahora tengo que volver a escribir de forma educada 😀

    Saludos, y gracias por este tipo de artículos.

  • Dark Side

    Haa me levantaron el animo sindo yo Tecnico SUperior Universitario de Redes de Computo

    GRACIAS NEOTEO!!!

  • luix

    Según el diagrama no debí ser informatico jeje, ni siquiera me gusta mucho starwar o startreck perdón pero asi es jeje.
    Completamete de acuerdo con el articulo, incluso me tome la libertad de enviarcelo a varios amigos que estan empezando en el área que ya me tiene arto con preguntitas que se encuentran en Google en 5 segundos, junto con una seria recomendación de visitar Neoteo periodicamente.

    Muchas Gracias

  • legion_84

    El UML es muy bueno aunque en los trabajos casi siempre se usa el viejo y conocido metodo de "Codificar y Corregir"…

    • Pepe Veraz

      tienes toda la boca llena de razon companiero. lamentablemente asi es en la mayoria de lugares. (claro sin contar gigantes del desarrollo como google o microsoft por citar solo unos ejemplos)

      • legion_84

        si efectivamente, y ni hablar de que piensen en documentar los sistemas informaticos… como programadores muchas veces ademas de programar trabajamos como detectives tratando de desenredar el codigo que alguien anteriormente hizo

      • yokese

        Yo en el curro he pedido una bola de cristal y estoy sacandome el titulo de adivino; con el de informatica no basta.

    • Jose_25

      Pienso que si uno no se conoce el lenguaje de programación o no programa con fluidez, necesitará más tiempo para codificar y a fin de cuentas deberá emplear el tiempo en codificar y probar para que el proyecto se pueda entregar al plazo.

      ¿Estais de acuerdo?

  • DarkEm

    xD genial, yo aun no merezco llamarme programador pero ya estoy entrando en ese mundo, actualmente programo* videojuegos en engines comerciales como blitz3d,3dgs y Dbpro, todos usan lenguajes muy parecidos al Basic, pero joder aun así me a costado noches enteras de frustración lograr hacer cosas relativamente simples :(, y pues en verdad espero hacer esto el resto de mi deplorable vida * 0 *, muy bueno el articulo.

  • Yesbond

    Buen dia Mario,

    Como fanantico de tus articulos, este ha sido uno de los que mas me ha gustado porque se aprende mucho mas, de lo que se nos enseñaras todos las instrucciones habidas y por haber.
    Mil gracias por estas notas tan geniales, y bueno algun dia te mostraremos nuestros proyectos.

    Un abrazo desde Colombia

    • Mario Sacco

      … y bueno algun dia te mostraremos nuestros proyectos …

      Y allí estaré para compartir la alegría y felicitarlos Yesbond.
      Gracias por estar siempre !

      Saludos !
      Un abrazo desde Argentina

  • Ed911

    Bueno yo me acabo de graduar de la universidad y aunque soy del área de comunicaciones también tuve que ver unas cuantas materias que requerían conocimiento en programación. En particular a la hora de realizar proyectos con Microcontroladores algo que me brindo mucha ayuda fueron los Simuladores de circuitos digitales como el PIC Simulator por ejemplo, gracias a ellos nunca tuve la necesidad de recargar el extintor de mi casa :-s, y con eso fui desde el "Hello world" en LCD hasta un CPU de 64 bits.

  • Derkeshtai

    A poco borran los coments con insultos? demonios, la humanidad se ha perdido de inumerables comentarios de politico que he hecho.

    Me estaba preocupando un poco que no mencionaran a google para seguir alimentando las neuronas, gracias a él he podido reparar infinidad de aparatos y aprendido en el proceso el funcionamiento de muchas otras… jajaja casi con los ojos cerrados, solo sabiendo los síntomas, puedo decir cuál es la falla.

    Claro que me falla, usualmente cuando hacen preguntas incompletas como "no funciona" "o sea, no prende"

  • DJ Lenner y DS

    "Si lo que buscas no está en Google, es porque no existe y eres un pionero en la materia."
    Ésto es irrefutable.

  • Truko

    Hermoso T-T
    Y si el Señor Spock lo certifica no hay mas nada que decir!!
    *Comentar el código es muy útil.
    *Realizar modulo re utilizables si el lenguaje de programación lo permite en sub-programa .
    *Hacer simulaciones también es muy útil.
    *Preguntar a compañeros de estudio sobres sus proyectos, algunas veces la solución que implementa es increíble.
    *Yo no soy muy amigo de los diagramas para plantear el problema, pero si es una herramienta para explicar ideas (en mi caso) de como se soluciono.
    *Una revisión del datasheet de los componentes es esencial.

  • saracho91

    hahah el diagrama de si estas echo pa pogrmas y google el mejor amigo si no esta en google no existe U_U

  • yokese

    Falta un par de reglas de oro, el que haya sido desarrollador y pasado por varias empresas las valorará:
    – Intenta no trabajar para una cárnica
    – Intenta trabajar para una empresa final, NO ESPAÑOLA, CON MENTALIDAD DE TRABAJO NO ESPAÑOLA.

  • Daniel

    Geek, geek, geek geek, geeeeek! En todos lados ven "GEEK"!!!!!! QUE, AHORA ACASO LOS PROGRAMADORES TAMBIÉN TIENEN QUE SER GEEKS?! La programación de microcontroladores no tiene NADA que ve con los geeks.
    Saludos.

  • Observador

    Disculpen pero eso que parece un flujograma esta de cabeza, no hay rombos
    rombos de decisión, está bien que quieran ser ilustrativos y graciosos
    pero esto atenta contra los principios de ingeniería, gracias.

  • geriito0

    lo de google es tan cierto!!!

    yo programo hace un par de años… y todavia no logro separarme del pseudocodigo… facilita mucho mas cosas… y el tema de comentar cada linea… es un consejo bastante util tambien! tuve que aprenderlo por las malas… jeje… muy buen articulo como siempre

  • pike

    Que es programar?….feliz 2010!!!

  • keksi

    Ofrezco trabajo a programadores en la zona de Porriño (Pontevedra). 650793309

  • zitonguito

    Excelente muy muy bueno, me he sentido retratado con esto, yo agregaría que en mi experiencia trabajando con microcontroladores y demás circuitos electronicos hechos por mi una de las cosas que mas me ayuda y al mismo tiempo me inspira es poner la rola de "Ironman" de Black Sabbath emulando el fragmento cuando en la película Tony Starks, estaba encerrado construyendo su primer prototipo del traje…. es bastante motivador eso

  • jose

    muy bueno gracias me sirve de leccion antes de iniciarme en los microcontroladores, ya que soy un estudiante de ing. en informatica que por cuenta propia estudio electronica y luego tenia pensado estudiar algo de microcontroladores

  • Gaston

    Muy buen articulo, es el tipico texto que lees y te da ganas de seguir aprendiendo.

    Muchas gracias.

  • Anónimo

    De gran ayuda estos consejos los tomare en cuneta,

  • Anónimo

    De gran ayuda estos consejos los tomare en cuneta,

  • Gilmar

    nunca he programado en mi vida apenas estoy empezando en la electronica pero tengo enormes ganas de aprender todo y mucho mas de esto que es muy bacano. gracias por los consejos.

  • Rhonniel

    perfecto, justo lo que nesesitaba para animarme,uno debe luchar por sus metas y jamas rendirse, gracias por articulo

  • maikoll moreno

    tambien como concejo esta el ser crativo y al terminar un programa exitosamente agragarle mas complejidad y mezclarlo con otro.

  • esmas

    No me habia sentido asi hasta que un proyecto no me quedaba los codigos en VB ya me estava dando por vencido pero lo volvi a retomar…no tirar la toalla es importante…en cada fracasolleva una semilla de un éxito…muy buen aporte me dio mas ani o…gracias…

  • pedro pablo

    gracias era lo ke necesitaba……. atte pedro pablo

  • Jorge

    Maeeeestro, gracias por la sencillez y profundidad de sus conceptos.
    Estoy comenzando los primeros pasos con la programaciòn para Pic ,en mi caso, y que buen sistema aplicar los diagrama de flujo.Felicitaciones por la pàgina y que ande usted bien.

  • Dionicio

    Mis conocimientos sobre micro controladores, espero ampliar mis conocimientos aqui

  • RODRIGO

    Muchas Grasias por los 10 concejos,pues ahora me di de cuenta que todo lo que hacia para programar los microcontroladores estaba muy mal,bueno lo tomare muy en cuenta

  • elber heredia

    me pareció genial este articulo la investigación y la experimentación
    es un factor que a muchos nos lleva a un mejor éxito en la vida

  • Heri

    Excelente articulo me gusto mucho

  • cesar

    esta muy bien lo que decis, en cuanto a cualquier desarrollo, es fundamental la datasheet, es nuestro mejor aliado, asi sea el micro mas complejo hasta un transistor universal, sobre lo demas… tambien estoy de acuerdo, muy buenos consejos para los que se inician.

    saludos

  • clinica de cerraduras

    mi comentario es…..yo soy un principiante tengo poco o nada de conocimiento tengo algunas herramientas de programacion y clonador y escaner incodes outcodes vac como tres pues bien claro tengo que hay que tener paciencia, mucha paciencia y intentar codificar con lo que ustedes tengan en mano leyendo con lectorres o programadores, en tres años y mas que tengo con esto he tenido decepciones por no habre podido y por ignorancia, ytener que mandar a un cliente al concesionario, pero tambien he tenido alegrias cuando se lee y se programa y el vehiculo prende es gratificante no el dinero si no el deber o la ayuda proporsionada al cliente que confia en una persona como nosotros.sin mas tengan buen dia y feliz fin de semana. espero alguien me invite a su foro., llavesdechipclinicadecerraduras@hotmail.com

  • Sindy Gonzalez

    Yo estoy empezando a dar mis pasitos hacia la programación y excelentes consejos me han ayudado porque muchas veces me frustro cuando algo no sale bien!……….

  • saul

    Hola, me tome el tiempito de leerme todo el articulo y los comentarios hasta el ultimo, me he reido vastante, como el que le gusta el olor de soldadura por la manana, jaja. a mi me hace llorar. 🙂
    Me gustaron mucho y la verdad que me animaron a retomar mi proyecto que no lo pude terminar hace 3 anos (mi teclado no es espanol)., se me quemaron dos micros y lo deje, pero siempre me llamo la atencion la electronica, desde que tengo memoria creo. desarmando mirando, y preguntandome que eran, pero intentare hacerlo funcionar y volver al programara partiendo de estos consejos como ayuda.
    saludos.
    saul. ARG.

  • hernan

    hola amigos ,necesito un poco de informacion acerca si existe algun tipo de programador universal para programar microcontroladores , como motorola atmel , nec sagem etc ?, ya q para las eeprom y flahs si las hay
    atte saludos

  • aaa

    malisimo

  • victor

    pues es divertido saber mas cada día mas eso es lo que me motiva cada día que me levanto hay que tener paciencia en la programación y rodearte de personas que sepan mas que tú así es la verdad

  • Noe Becerra

    Por favor si van a ofrecer consejos a principiantes, ESCRIBANLOS PENSANDO EN PRINCIPIANTES! no busquen expresar lo buenos que son, busquen apoyar a los demás para que tambien lo sean,