¿Eres Programador, o deseas serlo? / ¿Qué necesitas?

Bien en este post no vamos a entrar mucho en discusión en las diferencias o contradicciones que hay que pudiera existir entre las carreras de ingeniería de sistemas, ingeniería de software, ingeniería de computación, e ingeniería informática, y nos vamos a centrar específicamente en la disciplina de programación.

Ya que en realidad no importa la carrera en la que estés, sino en qué te especialices, hablaremos brevemente de qué actitudes y herramientas necesitas para poder desempeñarse mejor en tu profesión. Lo grandioso de la programación es que no necesitas un gran ordenador, ya que en principalmente es un trabajo mental, pues primero se debe comprender el problema, plantear una lógica mediante diagramas de flujo y pseudocódigo, luego recién empezar con la codificación del programa mediante un lenguaje de programación, para ya finalmente proceder con las pruebas y ejecución del programa.

Aptitudes

Veamos sobre las habilidades y capacidades que requiere un programador de éxito


A lo largo de los años he conocido muchos profesionales de diferentes carreras afines, cómo de las mencionadas allá arriba, y puedo determinar ciertas aptitudes qué son de gran ayuda y muchas veces determinante en el éxito de un profesional de este ámbito.

EL TÍO SCORP

ORDEN

Ya que de lo contrario muchas veces tendrás que volver a empezar de cero y repetir la programación de algo que ya habías hecho antes, en un proyecto anterior. Por ello se ordenado e invierte tiempo creando tus propias plantillas base, o tus propios creadores de código, eso te ahorrará a futuro bastante tiempo.

AUTODIDACTA

Ya que tanto en una universidad como en un instituto jamás te van a enseñar todos los lenguajes de programación, y muchas veces tendrás que guiarte de libros, manuales web, vídeos tutoriales, o consultar en algún foro, ya que cada lenguaje puede tener alguna función algo secreta que no se te había ocurrido usar y que probablemente te hubiera facilitado mucho trabajo sabido que era posible.


PACIENCIA

Aprender es algo que toma tiempo y y la maestría es algo que se logra con la práctica, no se logra de la noche a la mañana, y conozco a muchas personas que se frustran muy rápidamente sólo por no saber algo.

PERSEVERANCIA

Esta es una cualidad que he notado en muchas personas de éxito, y La pondría primero en importancia, si es que no supiera de primera mano que la perseverancia sin todas las aptitudes anteriores se puede convertir en obsesión, hay muchas veces en las que hay que saber cuándo desistir de un camino sin retorno y regresar uno o dos pasos para encontrar el camino correcto.


TOLERANTE

En la vida, uno debe tolerar muchas cosas, la frustración, la adversidad, el fracaso, uno puede ser tolerante sin ser perseverante, pero no se puede ser perseverante sin ser tolerante, esto es lo que diferencia a alguien que se sobrepone a todos los obstáculos y mantiene su camino, de otro qué persevera cambiando de rumbo cada vez que se toca con una piedra en el camino.

FLEXIBLE

Esto es lo que puede hacer la diferencia entre un proyecto exitoso y uno fallido, un programador tiene que saber cuándo dar oportunidad a otro lenguaje de programación para cumplir algún objetivo específico. un solo lenguaje no lo puede hacer todo es por eso que en muchas páginas web se complementa php con javascript o con Ajax y SCSS.


DETALLISTA

Como dice el dicho ” El diablo está en los detalles”, y esto en programación es 1000 veces más importante ya que un pequeño descuido en la que se olvidó validar los datos ingresados en un área de texto y podríamos tener una falla de seguridad gracias a un sql injection, lo mismo puede pasar por olvidarse de cifrar la información en nuestra base de datos, o no proteger las variables que se usan para transportar información, de hecho hay miles de formas en las que un pequeño detalle puede ser un gran agujero en la seguridad, o ser un problema de validación para el usuario.

EMPATÍA

Uno debe tener la capacidad de ponerse en los zapatos del usuario, examinando desde diferentes puntos de vista para así poder lograr entender sus requerimientos y cumplir sus necesidades. Esto es lo que diferencia a un Software a medida, de un software enlatado, en el primero es el software el que se adapta al cliente y en el segundo es el cliente el que se debe adaptarse al software.


Les cuento esta experiencia personal

Les cuento esta experiencia personal, en la app para android del BBVA, encontré un gran problema de validación el cual me parece que hasta ahora no soluciona y es que en una oportunidad iba a depositar cierto monto a una cuenta de dólares, y no me percaté que el dinero iba a salir de mi cuenta de soles en vez de la de dólares, entonces iba a haber una conversión de soles a dólares del cual no me había percatado aun, pero claro, cualquiera se habría dado cuenta si es que hubiera aparecido el monto final a depositar e indicado el tipo de cambio del banco, así como hacen en todos los demás bancos, y al darle confirmar automáticamente se colocó el código del token virtual y se procedió con la operación sin antes darme oportunidad de darle una última revisión como si hacen en los otros bancos, luego de lo cual me di cuenta que el banco aplico un tipo de cambio de S/. 3.07 una tasa descaradamente abusiva. Y es por cosas como esa que los detalles son tan importantes en la programación

Herramientas

Ahora veremos un poco de las herramientas que vas a necesitar

Como dije antes para programación no vas a requerir el equipo más potente, ya que prácticamente lo que vas a hacer es escribir, y manejar gran cantidad de archivos, datos e información. Así que si no vas a usarlo para jugar te podría bastar con un ryzen 5 3400G con 16GB de Ram, si solo usaras un monitor no vas a requerir una tarjeta de gráfica dedicada, pero sí como mínimo un disco sólido principal de conexión M.2, la cual es mas rápida qué los discos sólidos tradicionales con conexión Sata de 2.5″. Si es que cuentas con un poco más de presupuesto podrías optar por un ryzen 5 3600 el cual tiene 6 nucleos 12 hilos, pero en este caso si vas a necesitar una tarjeta gráfica dedicada, sólo escoge esta opción si es que eres consciente de que vas a hacer otras actividades, o tal vez jugar.

Ya dependiendo de tu presupuesto, únicamente hablando de la PC, si es que manejas muchos archivos te recomendaría tener varios discos sólidos de 2.5″ de 500GB o 1TB, en este caso sí de 2.5″ pues en la mayoría de motherboards puedes colocar alrededor de 4 discos con conexion sata, mientras que solamente en motherboards mucho más caras podrás encontrar de entre 2 a 3 conectores M.2.

Cuan Importante es el Monitor y la resolución

Cuando un programa tiene abierto muchísimas pestañas tanto de la vista de código como la vista previa del código compilado, además de tener varios exploradores con diversos anexos de consulta. y muchas veces puede resultar algo frustrante no tener toda nuestra información a la mano, a mi me ha pasado muchas veces, pues en este ámbito hay mucho manejo de nombres, clases, variables, que deben coincidir en todo momento ya que una sola letra errónea en cualquiera de estos, puede ocasionar que el sistema no funcione.

Es por ello que dependiendo del presupuesto que uno tenga disponible podría ser recomendable que tenga 2 monitores, o mejor aun un Ultrawide, un Monitor 2K y ya en el mejor de los casos un Monitor 4K, pero naturalmente como reitero eso va a depender de las posibilidades y las preferencias de cada usuario, quizá no a todos los programadores se sientan cómodos en 4K tal vez prefieren tener 2 o más monitores, pese que a veces es algo incomodo ir moviendo ventanas entre monitores, al menos al principio hasta que uno se acostumbre a usar los shortcuts.

Naturalmente mientras mayor cantidad de monitores y resolución más potencia gráfica vas a requerir, por lo que las opciones van desde una GTX 1650 de 4GB, o una GTX 1660, 6GB y ya si quieres un poco más de potencia para 4k una RX 5700 de 8GB.


Periféricos

En muchos lenguajes de programación hay código repetitivos por ejemplo el tener que abrir y cerrar php, etiquetas html, condicionales comunes, por lo que en estos casos es de muchísima ayuda un teclado que tenga teclas macro para poder guardar esos pequeños textos repetitivos que usamos en programación.

Ver Producto

Publicado en

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios .