Ser un profesional en desarrollo de Software es algo que depende de dos enormes factores, tu preparación mientras estás en la escuela, que tanto te metes en los temas adicionales, que tanto aprendes de más en tus materias y el segundo factor es la cantidad de experiencia que vas generando poco a poco con el paso del tiempo y la complejidad que los proyectos que tienes te van presentando.
Conozco a muchas personas que tienen una gran educación universitaria y muy poca experiencia profesional y por el contrario a quienes incluso no tienen una universidad que los respalda y son sumamente buenos y profesionales en lo que hacen. La cuestión es que hay ciertas habilidades que quizá no obtengas en ninguno de los dos escenarios, que ninguno de los dos te pedirá pero que te permitirán generar una enorme diferencia en tu oferta como profesional. Aquí las tienes.
#5 Saber inglés
Es fácil, la mayor cantidad de contenido en cuanto a software está en inglés, las versiones beta de aplicaciones y la mejor documentación de muchas plataformas están en este idioma así que no dominarlo te impedirá acceder a muchísimo material y no me refiero a solo leerlo, hay grandes videos en Youtube que están en inglés y te pueden ahorrar semanas enteras de investigación. Además, te servirá para muchas cosas más como ver las nuevas tendencias en el mercado, poder responder algunas preguntas en foros y probar nuevos productos antes de que salgan al mercado. Si no eres muy fan del inglés es el momento adecuado para que lo practiques y mejores hasta dominarlo lo suficiente como para que sea una gran herramienta para ti.
#4 Ser autodidacta
Creo que esta habilidad es por mucho la más relevante, ser capaz de aprender nuevas cosas por tu cuenta es una habilidad que los clientes perciben, los departamentos de Recursos Humanos buscan con afán y en general puede incluso definir tu carrera. Aclaro que no me refiero exclusivamente a que entres a un blog o video y aprendas acerca de un tema, se vale tomar cursos, yo aprendo muy rápido cuando alguien me enseña y es la forma en la que más me gusta hacerlo (además de que creo que es la más veloz), si esta forma te gusta solo debes buscar quien te ayude con los cursos y te dé las bases para profundizar después, puedes tomar un curso y después continuar con videos y artículos. Ten muy presente que la mejor inversión que puedes hacer es en tu preparación profesional y si no lo sabías esta es de esas profesiones que te exigirá estudio permanente y capacitación constante con todas las nuevas versiones que aparecen día a día.
#3 Perfeccionismo
Ser perfeccionista es la continuación de ser autodidacta, si has aprendido mucho no solo basta conocer acerca de algo sino que lo ideal es irlo haciendo cada vez mejor. Esto es natural y de hecho, todos lo hacemos, ve el código que hiciste hace un año, vuélvelo a hacer, debes notar una gran diferencia, ahorrando líneas, implementando un framework, o simplemente haciéndolo funcionar mejor, si no notas una diferencia entonces significa que algo estás haciendo mal, cada vez lo debes hacer más óptimo, con más funcionalidad. Súmate tú mismo nuevos retos, lo mejor que puedes hacer es buscar proyectos que te ofrezcan un nuevo reto, cosas que eviten que permanezcas mucho tiempo en una zona de comfort. La evolución constante es necesaria para ser cada día más capaz, conocer nuevas herramientas y nuevas técnicas te hará ser más rápido en tus proyectos y obviamente esto te dará mucha mejor calidad en tus tiempos de entrega e incrementar tu acervo de funcionalidades que ya eres capaz de hacer.
#2 Generar contenido
Siempre habrá personas que tendrán una pregunta que tú nunca hubieras pensado y ahí podrás encontrar una de las mejores formas de aprender con base a nuevos y desconocidos retos así que nada mejor que animarte a entrar a foros no solo para preguntar sino también a responder las preguntas que te sientas capaz de hacerlo, un poco de investigación, un poco de estudio y una buena respuesta no solo te darán la sensación de más aprendizaje sino que también te darán la satisfacción de apoyar a alguien más y dejar una muy buena huella digital. Lo qué es un hecho es que responder preguntas en foros te dará exposición, resultando en una buena reputación, práctica de inglés (si lo haces en ese idioma) y además nuevos temas por estudiar.
Puedes también animarte a crear repositorios públicos en GitHub y esperar a que otras personas mejoren lo que haces, eso te hará aprender de una forma muy acelerada y además te dará una excelente carta de presentación en cuanto a tu trabajo, un buen perfil activo en GitHub es una de las mejores cartas de presentación que puedes tener en estos días. Lo dijo el mismo Carlos Darwin, aquellos que colaboran tienen más posibilidades de sobrevivir. Hablar de Github es un tema tan extenso que definitivamente dedicaré una entrada a esto únicamente en un futuro cercano.
#1 Su cliente es lo más importante
No importan los memes que encuentres acerca del eterno conflicto entre un cliente/usuario y un desarrollador de software. La realidad es que nosotros necesitamos más a nuestros clientes de lo que ellos a nosotros, a pesar de que cada área del conocimiento es única y cada una es formidable, ser desarrollador de software no te hace superior a nadie y tratar con respeto, amabilidad y sobre todo mucha atención a tus usuarios/clientes es importantísimo. Sé que suena lógico, que también suena más como a educación básica pero escuchar comentarios de un desarrollador quejándose de su cliente y su escasa inteligencia para comprender lo que él quiere me suena como a un doctor que espera que aprendas medicina para ir con él, si el usuario supiera programar no estaría ahí ¡y tú no tendrías trabajo! Así que cuida mucho la relación con ellos, al final, tu mejor premio será una recomendación de tu trabajo bien hecho y eso no se paga con nada.

¿Qué opinas? ¿Con cuántas habilidades cuentas? ¿Hay alguna habilidad que agregarías? Comenta para tener una buena conversación.
Yeaah!!, cumplo los requisitos 😀
Buen aporte…
Tú muy bien! Que bueno que lo veas, ahora a explotarlo!
En perspectiva deberá de juntarse con otros con ideas similares, mencionas Github y es un punto interesante, pero hay que evitar los profesionistas de closet… es posible generar contenido y nadie más supo como es el caso de los torrents o subtítulos (se agradecen mil) la misma constante comunicación evitará que nuestro profesionista no se quede estancado. 🙂
Ouch! Perdón, pero no entendí el punto. Explícate más ¿no?
Darse a conocer y conocer a más gente … básicamente lo que hacen las meetup 🙂
Paciencia :p para los bugs , los problemas de configuración , los clientes
En general, la paciencia, es algo con lo que debes contar, muy buen punto!
Que prácticas me podrías sugerir para hacer una buena documentación de un proyecto para Github?
Mmmmm no lo sé, creo que lo mejor es ver la documentación de los demás proyectos y con esto inspirarte para crear la tuya propia. Yo así le hice y listo, me he vuelto enorme fan de la documentación en GitHub. Te prometo que el siguiente post será de esto.
Me parece que estas cualidades podrían aplicar a cualquier profesión, es parte fundamental de todos los que ofrecemos un servicio.
Bueno, si, creo que si lo ves en perspectiva definitivamente puede ir más allá de esta carrera.
Tienes mucha razón!
Creo que es hora de dedicarme a avanzar mas en la lengua anglosajona, colaborar un poco mas y estaré listo.
Muy de acuerdo contigo. Yo agregaría «el escuchar». Tal vez seas muy bueno en cierta tecnología o área pero no lo sabes todo (a veces te haces arrogante), por lo que es bueno escuchar a los demás, no importa si es un novato o un experto. Siempre habrá esas preguntas especiales que te van a hacer reflexionar.
Rayos, me falta el Ingles =(
Pues a darle!!!
Rayos, me falta el Ingles =(