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

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.

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.

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.

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.

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.

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.

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.

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, por ejm:

Esta es una experiencia personal…

Expandir

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

Mostrar menos

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.

Ahora pasemos a lo que opino yo que es más importante un programador, y eso es el tener varios monitores.

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, 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.

Entonces para tener una visión más amplia y tener toda la información a la mano, recomiendo estas opciones:

Monitor Ultrawide de 25″ o 29″

Resolucion 2560×1080 IPS

Monitor 4K de 27″ a más

Resolución 3840×2160 IPS

Monitores 24″ x 2

Resolución 1920×1080 IPS

Uno HDMI y otro DisplayPort, o 2 DP ya que actualmente muy pocas tarjetas de vídeo / motherboards traen dos HDMI. La la elección de si serán monitores normales de 60Hz o monitores Gamer de 144Hz, si es que también vas a jugar y transmitir en vivo.

Monitores Gaming 2K, 144hz, 27″ x 2

Resolución 2560×1440

Recomiendo también que sean de 27″ estos monitores por lo general actualmente usan conexión DP, y al igual que el anterior Dúo, ya depende de ti y tu presupuesto si es que eliges de 60hz ó sino monitores Gamer de 144hz.

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.

Espero estas recomendaciones te hayan sido de ayuda, si estás buscando una PC profesional te recomiendo ver primero este otro post:

El Tío Scorp
El Tío Scorp

Mi nombre es Ysaac Luna, soy Ingeniero de Sistemas, Empresario y Coach para Emprendedores, me especializo en Hardware especializado para profesionales, Diseño Web, Ilustración Digital, Marketing, Fotogrametría, Edición de vídeo, y Fotografía.

2 thoughts on “¿Eres Programador, o deseas serlo? / ¿Qué necesitas?

  1. Excelente post pero en los monitores no seria necesario un 4k a menos que uno haga diseño gráfico o render ya que programación es código y no es necesario ver un código php,java etc en 4k.

    Una consulta ustedes que una vez fueron estudiante universitarios a la hora de hacer practicas como era la modalidad ya que tengo dudas en ese tema ya que quiero comenzar a hacerlas pero me entra el temor de que cuando llegue a la empresa me manden a hacer algo y no sepa manejar ese código o mejor dicho no me acuerde bien sobre ese tema la empresa me enseña a manejar ese código de nuevo o me votan??

    1. Que tal Jorge, gracias por tu comentario, te comento el 4k no es para ver el código en más alta definición, sino con el objetivo de tener más espacio de trabajo o hasta dividir la pantalla en 4 si se requiere. Creeme que proyectos complejos lo requieren, lo que si es totalmente opcional es que sea monitor gamer o IPS.
      Por nuestra parte nunca requerimos prácticas porque abrimos nuestra propia empresa, pero por lo general antes de entrar a hacer prácticas a una empresa deben quedar en claro de que cosas harás para que no pase que te pidan algo que no puedas hacer. Claro que siempre hay que estar abierto a nuevos retos y si es que la empresa te propone hacer algo nuevo que no se había pactado anteriormente, te tienen que capacitar, por el contrario si es algo no tan complejo te recomiendo siempre intentar investigar por tu cuenta y ver si puedes aprender, siempre es bueno ser autodidacta ya que en ninguna universidad te enseñan todo.
      Para finalizar, en ningún lado te pueden despedir por no saber, te despiden por no tener iniciativa en aprender o por mentir en tu currículum diciendo que sabes algo que en realidad no.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *