Facebook Pixel
Searching...
Español
EnglishEnglish
EspañolSpanish
简体中文Chinese
FrançaisFrench
DeutschGerman
日本語Japanese
PortuguêsPortuguese
ItalianoItalian
한국어Korean
РусскийRussian
NederlandsDutch
العربيةArabic
PolskiPolish
हिन्दीHindi
Tiếng ViệtVietnamese
SvenskaSwedish
ΕλληνικάGreek
TürkçeTurkish
ไทยThai
ČeštinaCzech
RomânăRomanian
MagyarHungarian
УкраїнськаUkrainian
Bahasa IndonesiaIndonesian
DanskDanish
SuomiFinnish
БългарскиBulgarian
עבריתHebrew
NorskNorwegian
HrvatskiCroatian
CatalàCatalan
SlovenčinaSlovak
LietuviųLithuanian
SlovenščinaSlovenian
СрпскиSerbian
EestiEstonian
LatviešuLatvian
فارسیPersian
മലയാളംMalayalam
தமிழ்Tamil
اردوUrdu
The Clean Coder

The Clean Coder

A Code of Conduct for Professional Programmers
por Robert C. Martin 2011 256 páginas
4.26
8k+ calificaciones
Escuchar

Puntos clave

1. El profesionalismo en el desarrollo de software requiere asumir responsabilidades y decir "no"

"Los profesionales dicen la verdad al poder. Los profesionales tienen el valor de decir no a sus gerentes."

Asumir responsabilidades está en el núcleo del profesionalismo en el desarrollo de software. Esto significa reconocer los errores, cumplir con los compromisos y entregar trabajo de alta calidad. Los profesionales entienden que sus acciones tienen consecuencias y están dispuestos a ser responsables de ellas.

Decir "no" es un aspecto igualmente importante del profesionalismo. Esto implica:

  • Rechazar plazos poco realistas
  • Oponerse a malas prácticas
  • Negarse a comprometer la calidad
  • Evitar sobrecomprometerse

Los profesionales reconocen que decir "no" cuando es necesario protege tanto a ellos mismos como a su equipo de posibles fracasos y mantiene la integridad de su trabajo.

2. El Desarrollo Guiado por Pruebas (TDD) es esencial para producir código de alta calidad

"El jurado ha decidido. La controversia ha terminado. TDD funciona."

Beneficios del TDD incluyen:

  • Mejora de la calidad del código
  • Reducción de la tasa de defectos
  • Mejor diseño y arquitectura
  • Mayor confianza en los cambios de código

El TDD implica escribir pruebas antes de escribir el código real. Este enfoque obliga a los desarrolladores a pensar en el diseño y la funcionalidad de su código antes de la implementación, lo que lleva a un código más limpio, modular y mantenible.

Implementar TDD requiere disciplina y práctica. Puede ralentizar el desarrollo inicial, pero a largo plazo compensa al reducir errores, mejorar la calidad del código y facilitar la refactorización y el mantenimiento del código con el tiempo.

3. La gestión efectiva del tiempo y el enfoque son cruciales para la productividad

"Programar es un ejercicio intelectual que requiere períodos prolongados de concentración y enfoque."

Gestionar el tiempo de manera efectiva es crítico para los desarrolladores de software. Esto implica:

  • Priorizar tareas
  • Evitar distracciones
  • Usar técnicas como el método Pomodoro
  • Tomar descansos regulares para recargar energías

Mantener el enfoque es igualmente importante. Los desarrolladores deben reconocer sus horas de mayor productividad y estructurar su trabajo en consecuencia. Es esencial crear un entorno propicio para el trabajo profundo y minimizar las interrupciones durante estos períodos.

Los profesionales también entienden la importancia del equilibrio entre la vida laboral y personal y evitan el agotamiento gestionando sus niveles de energía y tomando tiempo para actividades personales y descanso.

4. La estimación es una habilidad que requiere práctica y comunicación clara

"Una estimación es una suposición. No implica ningún compromiso. No se hace ninguna promesa."

Mejorar las habilidades de estimación implica:

  • Dividir las tareas en piezas más pequeñas y manejables
  • Usar datos históricos y experiencias pasadas
  • Considerar riesgos e incertidumbres potenciales
  • Revisar y ajustar regularmente las estimaciones

Los profesionales entienden que las estimaciones no son compromisos. Comunican claramente las incertidumbres involucradas y proporcionan rangos en lugar de números únicos cuando es apropiado.

La comunicación efectiva de las estimaciones es crucial. Esto incluye explicar las suposiciones detrás de la estimación, proporcionar contexto y actualizar a las partes interesadas si las circunstancias cambian. Los profesionales también resisten la presión de proporcionar estimaciones poco realistas o comprometerse con plazos que saben que son imposibles de cumplir.

5. Manejar la presión profesionalmente implica mantener la calma y confiar en las disciplinas

"El desarrollador profesional es calmado y decisivo bajo presión."

Mantener la calma bajo presión es una característica distintiva del profesionalismo. Esto implica:

  • Mantener la perspectiva
  • Enfocarse en soluciones en lugar de problemas
  • Comunicar claramente con los miembros del equipo y las partes interesadas
  • Evitar la tentación de tomar atajos o comprometer la calidad

Los profesionales confían en sus disciplinas y mejores prácticas establecidas cuando están bajo presión. Entienden que abandonar las buenas prácticas en tiempos de estrés a menudo conduce a más problemas a largo plazo.

Gestionar las expectativas también es crucial al lidiar con la presión. Esto incluye ser honesto sobre los desafíos, proporcionar actualizaciones regulares y proponer soluciones realistas en lugar de hacer promesas que no se pueden cumplir.

6. La colaboración y el trabajo en equipo son fundamentales para el éxito en el desarrollo de software

"Programar se trata de trabajar con personas."

La colaboración efectiva implica:

  • Comunicación clara
  • Escucha activa
  • Respeto por perspectivas diversas
  • Disposición a comprometerse y encontrar soluciones juntos

Los profesionales entienden que el desarrollo de software es un deporte de equipo. Trabajan activamente para romper silos, compartir conocimientos y apoyar a sus colegas.

La programación en pareja y las revisiones de código son prácticas valiosas que promueven la colaboración y mejoran la calidad del código. Los profesionales están abiertos a la retroalimentación y la ven como una oportunidad de crecimiento en lugar de una crítica.

7. El aprendizaje continuo y la práctica son vitales para el crecimiento profesional

"Los profesionales practican. Los verdaderos profesionales trabajan duro para mantener sus habilidades afiladas y listas."

El aprendizaje continuo es esencial en el campo en rápida evolución del desarrollo de software. Esto incluye:

  • Mantenerse al día con nuevas tecnologías y mejores prácticas
  • Leer libros y artículos
  • Asistir a conferencias y talleres
  • Experimentar con nuevas herramientas y técnicas

La práctica deliberada es igualmente importante. Esto implica:

  • Trabajar en proyectos paralelos
  • Participar en desafíos de programación
  • Contribuir a proyectos de código abierto
  • Revisar y refinar regularmente las habilidades fundamentales

Los profesionales entienden que el aprendizaje es un viaje de por vida y asumen la responsabilidad de su propio crecimiento y desarrollo.

8. Las pruebas de aceptación aseguran una comunicación clara de los requisitos

"El propósito de las pruebas de aceptación es la comunicación, claridad y precisión."

Beneficios de las pruebas de aceptación incluyen:

  • Una comprensión más clara de los requisitos
  • Reducción de malentendidos entre desarrolladores y partes interesadas
  • Detección temprana de problemas e inconsistencias
  • Mejora de la calidad general del software

Las pruebas de aceptación sirven como una especificación formal de cómo debe comportarse el sistema. Se escriben en colaboración entre desarrolladores, testers y partes interesadas del negocio para asegurar una comprensión compartida de los requisitos.

Automatizar las pruebas de aceptación permite una retroalimentación más rápida y ayuda a detectar regresiones temprano. Los profesionales abogan por e implementan pruebas de aceptación automatizadas como parte de su proceso de desarrollo.

9. La mentoría y la artesanía son clave para desarrollar profesionales capacitados

"La escuela puede enseñar la teoría de la programación de computadoras. Pero la escuela no puede, y no enseña la disciplina, práctica y habilidad de ser un artesano."

La mentoría juega un papel crucial en el desarrollo de profesionales capacitados. Esto implica:

  • Compartir conocimientos y experiencia
  • Proporcionar orientación y retroalimentación
  • Desafiar a los aprendices a crecer y mejorar
  • Modelar comportamientos y prácticas profesionales

La artesanía en el desarrollo de software es más que solo habilidades técnicas. Abarca:

  • Un compromiso con la calidad
  • Mejora continua
  • Comportamiento ético
  • Orgullo en el propio trabajo

Los profesionales reconocen su responsabilidad de mentorear y guiar a los desarrolladores menos experimentados, ayudando a cultivar la próxima generación de practicantes capacitados y mantener altos estándares en la industria.

Última actualización:

Reseñas

4.26 de 5
Promedio de 8k+ calificaciones de Goodreads y Amazon.

The Clean Coder recibe opiniones mixtas, con muchos elogiando sus ideas sobre el desarrollo profesional de software. Los lectores aprecian las anécdotas y consejos del autor sobre ética laboral, estimación y comunicación. Algunos encuentran el libro desactualizado o extremo en sus expectativas, particularmente en lo que respecta a las horas de trabajo. Los críticos señalan historias repetitivas y un tono egocéntrico. A pesar de las discrepancias, la mayoría de los reseñadores lo recomiendan como un recurso valioso para los aspirantes a programadores profesionales, destacando su énfasis en la disciplina, la responsabilidad y el aprendizaje continuo.

Sobre el autor

Robert Cecil Martin, conocido como Tío Bob, es un renombrado ingeniero de software y consultor. Aboga por los métodos de desarrollo Ágil y es el Presidente de Object Mentor Inc. La carrera de Martin abarca décadas, durante las cuales ha asesorado a clientes globales sobre Diseño Orientado a Objetos, Patrones, UML y Metodologías Ágiles. Se desempeñó como Editor en Jefe del C++ Report desde 1996 hasta 1999. Figura prominente en la comunidad de desarrollo de software, Martin es un orador muy solicitado en conferencias y ferias internacionales. Su experiencia e influencia duradera en el campo lo han convertido en una voz respetada en las prácticas de ingeniería de software y el desarrollo profesional.

Other books by Robert C. Martin

0:00
-0:00
1x
Dan
Andrew
Michelle
Lauren
Select Speed
1.0×
+
200 words per minute
Create a free account to unlock:
Requests: Request new book summaries
Bookmarks: Save your favorite books
History: Revisit books later
Ratings: Rate books & see your ratings
Unlock Unlimited Listening
🎧 Listen while you drive, walk, run errands, or do other activities
2.8x more books Listening Reading
Today: Get Instant Access
Listen to full summaries of 73,530 books. That's 12,000+ hours of audio!
Day 4: Trial Reminder
We'll send you a notification that your trial is ending soon.
Day 7: Your subscription begins
You'll be charged on Jan 25,
cancel anytime before.
Compare Features Free Pro
Read full text summaries
Summaries are free to read for everyone
Listen to summaries
12,000+ hours of audio
Unlimited Bookmarks
Free users are limited to 10
Unlimited History
Free users are limited to 10
What our users say
30,000+ readers
"...I can 10x the number of books I can read..."
"...exceptionally accurate, engaging, and beautifully presented..."
"...better than any amazon review when I'm making a book-buying decision..."
Save 62%
Yearly
$119.88 $44.99/year
$3.75/mo
Monthly
$9.99/mo
Try Free & Unlock
7 days free, then $44.99/year. Cancel anytime.
Settings
Appearance
Black Friday Sale 🎉
$20 off Lifetime Access
$79.99 $59.99
Upgrade Now →