Mostrando entradas con la etiqueta programadores. Mostrar todas las entradas
Mostrando entradas con la etiqueta programadores. Mostrar todas las entradas

sábado, 22 de agosto de 2026

Programadores

Un programador es una persona que no solo teclea código. Es un profesional, certificado o no, que tiene ciertas peculiaridades.

Este ente salido de alguna parte posee una especie de singularidad, un poder especial que le permite comunicarse con las máquinas.

Para ello emplea cierta jerga que puede variar. A veces habla Java, otras C#, incluso Python u Go. Se le dificulta C++ o Rust... y otros más.

Quien quiere pertenecer a ese mundillo deberá abandonar su vida personal, si es que tiene una. Deberá aprender constantemente todo lo referente a tecnología informática y volverse un geek de la programación.

Habilidades que debería tener un programador (o quien quiera serlo)

Hablemos de sus habilidades blandas y/o técnicas.

Habilidades blandas (Soft Skills)

  • Curiosidad Autodidacta: La tecnología cambia rápido; saber buscar, leer documentación e investigar por cuenta propia es imprescindible. 
  • Tolerancia a la Frustración: El código raras veces funciona al primer intento; la paciencia para encontrar un error (debugging) es clave. 
  • Comunicación y Trabajo en Equipo: Saber explicar conceptos complejos de forma clara y colaborar en proyectos grupales.

En teoría, el programador es alguien que le gusta aprender por sí mismo y a su propio ritmo. Quien le gusta programar por hobby o curiosidad.

Pero también hay quienes lo ven como una profesión lucrativa. Obtener un buen empleo y dinero.

Habilidades técnicas

  • Pensamiento Lógico y Algorítmico: Capacidad para desglosar problemas complejos en pasos sencillos y estructurados. 
  • Dominio de Fundamentos: Comprensión sólida de estructuras de datos, algoritmos y control de versiones (Git). 
  • Atención al Detalle: Habilidad para identificar fallas en la sintaxis o la lógica que pueden detener todo un sistema.

Hay quienes se les da mejor la lógica y las matemáticas. Hay quienes mejor la creatividad y los retos. Hay quienes odian la documentación y prefieren poner manos a la obra. Hay quienes "se ahorran 1 hora de lectura de la documentación" y prefieren gastar 4 o 5 horas en prueba y error.

Tipos de programadores

  • Junior: necesita apoyo y supervisión constante, en fase de aprendizaje.
  • Mid-level: requiere supervisión mínima, puede auto gestionarse.
  • Senior: capaz de gestionar proyectos y dirigir personas, con mayores habilidades técnicas.
  • Architect: quien tiene a cargo el proyecto y mayores responsabilidades.

Junior











Mid-level










Senior










Architect












Observemos la siguiente tabla que resume los tipos de programadores.

Rol Enfoque Principal Nivel de Autonomía Responsabilidad Clave
Junior Aprender y ejecutar tareas específicas. Baja (requiere supervisión). Escribir código limpio para tareas pequeñas y entender la base del sistema.
Mid-Level Construir funcionalidades completas. Media-Alta (independiente en el día a día). Entregar tareas de extremo a extremo y aportar en las decisiones de diseño del equipo.
Senior Resolver problemas ambiguos y optimizar. Alta (lidera técnica y estratégicamente). Diseñar sistemas escalables, mentorizar al equipo y prever fallos técnicos.
Architect Diseñar la estructura global del sistema. Total (define la visión técnica global). Alineación tecnológica con el negocio, estándares de seguridad y escalabilidad a largo plazo.

Los niveles o tipos de programador muchas veces son superficiales. Nada tiene que ver con la edad o los años de experiencia. Muchas veces es la capacidad nata o hasta innata.

Enlaces:

https://blog.codinghorror.com/the-two-types-of-programmers/





sábado, 4 de enero de 2025

Las leyes (no escritas) de la programación (3ra parte)

Cuando empezamos en este mundo de la programación vamos sin rumbo definido, a ciegas muchas veces. No sabemos qué lenguaje de programación escoger, y por qué.

Nos dirán que Java es el mejor lenguaje. Otros dirán que mejor C#, Python o Javascript. Los más vetustos gritarán a los mil vientos que no hay mejor opción que C.

"En ese aprendes los tipos, las constantes, el control de flujo de un programa y las estructuras de datos. Anda, leé el libro de C".

Lenguajes como Fortran,Oberon, Modula, Lisp, Pascal, Smalltalk, Perl, etc. muy raras veces serán nombrados.

"Si quieres trabajar como programador, aprende COBOL".

"Si quieres trabajar como programador, aprende Java".

"Si quieres trabajar como programador, aprende PHP".

"Si quieres trabajar como programador, aprende Javascript".

El programador que ya trabaja como programador (sic) recordará esos consejos esbozando una sonrisa. Horas y horas practicando la programación en lenguajes que quizás ahora ya no usa. Es más, ya ni se acuerda de como hacer un "Hola, mundo". Consultando foros que ahora ya no existen o que están en desuso. Posteando preguntas en Stackoverflow, y quizás respondiendo algunas para probarse así mismo.

Encontrando tutoriales y libros PDF en sitios donde nadie más ha entrado. Libros de hace más de 5 o 10 años. Tutoriales que pueden o no estar completos.

Consultando Youtube para encontrar información valiosa que vale más que el oro. Frustrándose al tratar de replicar los programas que Hindues hacen en segundos. Tratándo de hallar el código del vídeo tutorial de Java de hace más de 5 o 6 años.

Al final, siempre volverá al principio de todo: a las bases de la programación.

"Si eres capaz de crear un buen algoritmo, entonces su conversión a cualquier lenguaje de programación será más sencillo".

Las bases, siempre fueron las bases. No aprender los 109181818 frameworks que abundan en el mundo de la programación.

"Si conoces las estructuras de control, siempre serás capaz de crear un orden lógico a tu programa".

"Si entiendes las estructuras de datos, te ahorrarás un montón de horas para ordenar tu información".

En conclusión, nunca olvidarse de las bases:

  1. El algoritmo antes que el programa.
  2. Estructuras de control. 
  3. Estructuras de datos.

Enlaces:

https://codemonkeyjunior.blogspot.com/2013/04/las-leyes-no-escritas-de-la-programacion.html

viernes, 27 de febrero de 2015

Probar Java 8 en línea

En el post anterior se hablo sobre algunos sitios que nos permiten programar en .Net sin necesidad de instalación. Ahora le toca el turno a Java, en este caso la versión no. 8.

Se trata del sitio http://www.tryjava8.com/ el cual tiene una interfaz sencilla y fácil de usar.

Una forma para aprender Java 8 y sus nuevas características.

Código usado de
http://www.tutorialspoint.com/java/java8_lambda_expressions.htm

lunes, 6 de enero de 2014

Programadores ...

  • Le gusta lo sencillo
  • No es muy "robusto" ni "pesado"

class Pythonista:
        def __init__(self, nombre): 
             self.nombre=nombre


 #main
 codeMonkey=Pythonista('Steve')
 print codeMonkey.nombre


  •  No muy confiable para algunos
  •  Puede sorprender 


 def lista=['libertad','groovy','amor y paz']

lista.each{it-> println "$it"}










  •  Demasiado "robusto" y "pesado" para algunos
  •  Le gusta la dificultad
 /**
*@author yo merito
*@date hoy
*/
public class Javesco{
/**
*@param args
*/
public static void main(String ... args){
  
      System.out.println("Un espacio demasiado pequeño");
 }

}



  • No le parece "adecuado"  todo lo que tenga que ver con la libertad
  • Debes sujetarte a sus normas



 NO ME PERMITO COMPARTIR CÓDIGO










  •  No le toman mucho interés o seriedad
  •  A algunos les puede parecer molesto
 class No_Terrestre
         def initialize(nombre)
           @nombre=nombre
         end

     attr_reader :nombre
end

#main
codeMonkey=No_Terrestre.new('Roger')
puts "Hola #{codeMonkey.nombre}"





  • Considera a otros como advenedizos
  • Debes cuidar tu "forma de hacer las cosas"


#include<stdio.h>

int main(){
  printf("no se me da la gana escribir funciones");
  return 0;
}











  • Solo algunos le entienden ... solo algunos
  • Muy confuso ... mucho



use strict;
use warnings;

my($cad);
$cad='Tal vez esto sirva'.'  o tal vez no';











  • Prefiere lo funcional y lo pragmático
  • Refinado y estricto


object Scalar extends App{
     Console.println("Deja de ver mi martini")
}












  • Le gusta lo directo, nada de palabrerías  insulsas
  • Cuida todo lo que escribes y dices, en serio hazlo 
void run(){
   print("Si ves esto, es porque sabes leer ");
}



Un poco de humor para todos.

Jai un lenguaje de programación inspirado en C++

Hoy hablaremos de un nuevo lenguaje de programación llamado Jai . Se trata de un lenguaje de programación que está desarrolland...

Etiquetas

Archivo del blog