Sobre el proyecto
Professional Programming es una lista de lectura curada y con opinión propia, diseñada para ayudar a los programadores a convertirse en desarrolladores más competentes. En lugar de intentar ser exhaustiva, se mantiene deliberadamente ligera y selecciona recursos que el autor encontró verdaderamente inspiradores o que se han convertido en clásicos atemporales. El autor señala que la inclusión no implica respaldo de cada afirmación hecha en cada recurso vinculado o por sus autores.
La lista comienza con principios y pautas de contribución, luego presenta libros indispensables como The Pragmatic Programmer, Code Complete, Release It!, Scalability Rules, The Linux Programming Interface y SICP, además de libros gratuitos y otras colecciones de libros de programación gratuitos. Una sección de artículos imprescindibles vincula piezas sobre consejos prácticos para nuevos ingenieros, ser un ingeniero senior, lecciones aprendidas en el desarrollo de software, señales de un buen programador, verdades desaprendidas como desarrollador junior, construcción de buen software, el ingeniero -10x y los especialistas generalistas.
Material general incluye otras listas curadas, libros como The Imposter's Handbook y The Software Engineer's Guidebook, artículos como every-programmer-should-know, Amazon Builders' Library, awesome-falsehood, hojas de ruta para desarrolladores y Teach Yourself Programming in Ten Years. Las secciones de axiomas y preceptos recopilan reglas empíricas, y los cursos apuntan a Google Tech Dev Guide, MIT's Missing Semester, coding-interview-university, Teach Yourself Computer Science y OSSU.
El grueso del repositorio es un largo índice temático. Los temas abarcan contabilidad e ingeniería fintech, codificación agéntica, algoritmos y estructuras de datos, diseño de APIs, actitud y hábitos (incluida la procrastinación), autenticación y autorización, automatización, mejores prácticas, sesgos, negocios, comprar vs. construir, caché, crecimiento profesional (elegir oportunidades, alcanzar el puesto de staff engineer), conjuntos de caracteres, ajedrez, computación en la nube, revisiones de código, codificación y calidad del código, comunicación, compiladores, configuración, CI, análisis de datos y ciencia de datos, semántica de datos, bases de datos (internos, NoSQL, Postgres), formatos de datos, ingeniería de datos, depuración, diseño visual y UX, modelado OO y patrones de arquitectura, diseño de esquema de bases de datos, simplicidad, entorno de desarrollo y herramientas, Docker, documentación, dotfiles, editores e IDEs (incluido Vim), correo electrónico, gestión de ingeniería, ejercicios, experimentación, fuentes, programación funcional, desarrollo de juegos, IA generativa, gráficos, hardware, HTTP, humor, respuesta a incidentes y postmortems, internet, entrevistas, Kubernetes, modelos de lenguaje grandes, aprendizaje y memorización, licencias, administración de sistemas Linux, low-code/no-code, programación de bajo nivel y ensamblador, aprendizaje automático/IA, matemáticas, marketing, red, observabilidad (registros, manejo de errores, métricas, monitoreo), código abierto, sistemas operativos, sobreingeniería, rendimiento, gestión personal del conocimiento, productividad personal, perspectiva, privacidad, resolución de problemas, gestión de productos para ingenieros, gestión de proyectos, lenguajes de programación (Python, JavaScript, garbage collection), paradigmas de programación, oratoria, lectura, refactorización, expresiones regulares, lanzamiento y despliegue (versionado, checklists, feature flags, testing in production), confiabilidad (patrones de integración, resiliencia), búsqueda, seguridad, artículos de investigación, shell, SQL, estado, administración de sistemas, arquitectura de sistemas (patrones de arquitectura, microservicios y splitting de monolitos), escalabilidad, SRE, deuda técnica, pruebas, herramientas, sistemas de tipos, tipografía, control de versiones con Git, ética laboral y equilibrio vida/trabajo, desarrollo web, y escritura y blogging.
Las secciones adicionales cubren recursos e inspiración para presentaciones, mantenerse actualizado, conceptos y otras listas del autor. Los elementos están etiquetados con íconos que indican el tipo de recurso (lista, libro, video/conferencia, diapositivas, lectura imprescindible, artículo) y el README incluye una tabla de contenidos generada automáticamente.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.