Leí más de 20 libros mientras aprendo desarrollo de software, estos son mis favoritos
Parker Klein. Septiembre 2023. Medium
En 2016, comencé a aprender sobre desarrollo de aplicaciones web y móviles. En ese momento, estaba leyendo muchos libros y viendo muchos tutoriales. Luego trabajé en una startup en San Francisco, Google, y recientemente comencé mi propia empresa de tecnología . Estos son los libros que más me ayudaron en algunos temas diferentes.

Principios de programación
El codificador limpio de Robert Martin
The Clean Coder: un código de conducta para programadores profesionales
The Clean Coder: un código de conducta para programadores profesionales [Martin, Robert] en Amazon.com. Envío *GRATIS* en…
Si está cansado o distraído, no codifique. Crea residuos. Encuentre una manera de eliminar las distracciones y tranquilizar su mente.
Como ingeniero, usted tiene un conocimiento profundo sobre sus sistemas y proyectos que ningún gerente podría tener. Ese conocimiento conlleva la responsabilidad de actuar.
Es responsabilidad de los desarrolladores profesionales (y de las partes interesadas) asegurarse de que se elimine toda ambigüedad de los requisitos.
Maneja tu estrés. Las noches sin dormir no te ayudarán a terminar más rápido. Sentarse y preocuparse tampoco ayudará. ¡Y lo peor que puedes hacer es apresurarte! Resiste esa tentación a toda costa. Correr solo te llevará más profundamente al agujero.
Lea el resto de mis notas aquí:
El codificador limpio de Robert Martin – Dos
Como ingeniero, usted tiene un conocimiento profundo sobre sus sistemas y proyectos que ningún gerente podría tener. Con…
El programador pragmático de Andy Hunt
Perlas de programación
Perlas de programación [Bentley, Jon] en Amazon.com. Envío *GRATIS* en ofertas que califiquen. Perlas de programación
Kaizen: realice pequeñas mejoras continuamente.
Sea consciente del panorama más amplio, piense más allá del problema inmediato.
Diseñe componentes que sean autónomos: independientes y con un propósito único y bien definido.
Organice el código en módulos y limite la interacción entre ellos.
Lea el resto de mis notas aquí:
El programador pragmático de Andy Hunt – Twos
Consejo 1: Cuida tu oficio y piensa en tu trabajo. Nunca lo ejecutes en piloto automático. Kaizen – hacer continuamente pequeños…
Código limpio de Robert Martin
Código limpio: un manual de artesanía en software ágil
Código limpio: un manual de artesanía de software ágil [Robert C. Martin] en Amazon.com. Envío *GRATIS* si calificas…
En software, el 80% o más de lo que hacemos se llama curiosamente “mantenimiento”: el acto de reparación.curiosamentellamado “mantenimiento”: el acto de reparar.
La filosofía de las 5S: ordenar (organizar, nombrar es crucial), sistematizar (orden, un fragmento de código debe estar donde esperas encontrarlo y, si no, debes refactorizarlo para llegar allí), brillar (limpiar, obtener). deshacerse de comentarios y desperdicios), estandarización (estilo y prácticas de codificación consistentes) y autodisciplina (seguir las prácticas, reflexionar sobre el trabajo de uno y estar dispuesto a cambiar).
La lógica del código limpio debe ser sencilla para dificultar la ocultación de los errores, las dependencias mínimas para facilitar el mantenimiento, el manejo de errores completo de acuerdo con una estrategia articulada y el rendimiento cercano al óptimo para no tentar a las personas a ensuciar el código con optimizaciones sin principios. . El código limpio hace una cosa bien.
No comentes código incorrecto: reescríbelo.
Lea el resto de mis notas aquí:
Código limpio de Robert Martin – Twos
Las pequeñas cosas importan. Los profesionales responsables dedican algo de tiempo a pensar y planificar desde el inicio de un proyecto. En…
Perlas de programación de Jon Bentley
El programador pragmático: de oficial a maestro
Ward Cunningham Directamente desde las trincheras de la programación, The Pragmatic Programmer atraviesa el creciente…
Centrarse en el problema correcto: definir el problema es el 90% de la batalla.
Diseño sencillo: un diseñador sabe que ha llegado a la perfección no cuando ya no hay nada que añadir, sino cuando ya no hay nada que quitar.
Los programas simples son más confiables, seguros, robustos, eficientes y más fáciles de construir y mantener.
Comprenda el código en todo momento y resista esos desagradables impulsos de «simplemente cambiarlo hasta que funcione».
Lea el resto de mis notas aquí:
Perlas de programación de Jon Bentley – Twos
El análisis cuidadoso de un pequeño problema a veces puede producir enormes beneficios prácticos. Concéntrese en el problema correcto…
HTML y CSS
HTML y CSS por Jon Duckett
HTML y CSS y JAVASCRIPT y JQUERY
Ofrece información sobre diseño y construcción de páginas web con HTML, incluida estructura, texto y enlaces; añadiendo estilo…
Siempre que tengas muchos colores diferentes en una imagen, debes usar un JPEG.
Si desea que un enlace se abra en una nueva ventana, puede utilizar el atributo de destino en la etiqueta <a> de apertura. El valor de este atributo debe ser _en blanco.
Lea el resto de mis notas aquí:
HTML y CSS por Jon Duckett – Dos
Si desea que un enlace se abra en una nueva ventana, puede utilizar el atributo de destino en la etiqueta de apertura. El valor de esto…
Secretos CSS de Lea Verou
Secretos de CSS: mejores soluciones para los problemas cotidianos de diseño web
Secretos de CSS: mejores soluciones para los problemas cotidianos de diseño web [Verou, Michailia] en Amazon.com. Envío *GRATIS* en…
Utilice porcentajes en lugar de anchos fijos. Cuando eso no sea posible, utilice unidades relativas a la ventana gráfica (vw, vh, vmin, vmax), que se resuelven en una fracción del ancho o alto de la ventana gráfica.
Los umbrales de consulta de medios no deben estar dictados por dispositivos específicos, sino por el diseño mismo.
Las sombras no funcionan exactamente como los bordes, ya que no afectan el diseño y no tienen en cuenta la propiedad de tamaño del cuadro. Sin embargo, puedes emular el espacio adicional que ocuparía un borde mediante relleno o márgenes (dependiendo de si la sombra está insertada o no).
Lea el resto de mis notas aquí:
Secretos CSS de Lea Verou – Dos
Utilice porcentajes en lugar de anchos fijos. Cuando eso no sea posible, utilice unidades relativas a la ventana gráfica (vw, vh, vmin, vmax)…
javascript
Javasscript elocuente de Marijn Haverbeke
Eloquent JavaScript, tercera edición: una introducción moderna a la programación
JavaScript elocuente, tercera edición: una introducción moderna a la programación [Haverbeke, Marijn] en Amazon.com. *GRATIS*…
6 tipos básicos de valores: números, cadenas, booleanos, objetos, funciones e indefinidos.
La comparación de cadenas alfabéticas se realiza por valor Unicode: “Z” < “a”, “a” < “z”.
En JavaScript, las funciones son las únicas cosas que crean un nuevo alcance, no bloques.
Los números de mes comienzan en 0 para la fecha de JavaScript, pero los días comienzan en 1.
Lea el resto de mis notas aquí:
JavaScript elocuente de Marijn Haverbeke – Dos
6 tipos básicos de valores: números, cadenas, booleanos, objetos, funciones e indefinidos. Infinito y NaN (no un número)…
JavaScript: la guía definitiva de David Flanagan
JavaScript: La guía definitiva (Guías definitivas)
JavaScript: La guía definitiva (Guías definitivas) [Flanagan, David] en Amazon.com. Envío *GRATIS* si calificas…
Una función es un bloque de código JavaScript con nombre y parámetros que definimos una vez y que podemos invocar una y otra vez.
La palabra clave «this» se refiere al objeto en el que se define el método.
Las variables no están tipificadas.
Los objetos JavaScript se comparan por referencia, no por valor.
Lea el resto de mis notas aquí:
JavaScript: La guía definitiva de David Flanagan – Twos
Una expresión es una frase que se puede evaluar para producir un valor. Las declaraciones son oraciones completas que terminan con…
Diseño
El diseño de las cosas cotidianas de Don Norman
El diseño de las cosas cotidianas
El diseño de las cosas cotidianas [Norman, Don] en Amazon.com. Envío *GRATIS* en ofertas que califiquen. El diseño de lo cotidiano…
Los buenos diseños se ajustan tan bien a nuestras necesidades que el diseño es invisible y nos sirve sin llamar la atención.
Dos de las características más importantes de un buen diseño son la capacidad de descubrimiento y la comprensión. Descubribilidad: ¿Es posible siquiera descubrir qué acciones son posibles y dónde y cómo realizarlas? Comprensión: ¿Qué significa todo esto? ¿Cómo se supone que se debe utilizar el producto? ¿Qué significan todos los diferentes controles y configuraciones?
El diseño se ocupa de cómo funcionan las cosas, cómo se controlan y la naturaleza de la interacción entre las personas y la tecnología.
Lea el resto de mis notas aquí:
El diseño de las cosas cotidianas de Don Norman – Twos
Los buenos diseños se ajustan tan bien a nuestras necesidades que el diseño es invisible y nos sirve sin llamar la atención. Dos de…
No me hagas pensar de Steve Krug
No me hagas pensar, revisado: un enfoque de sentido común para la usabilidad web (tercera edición) (Voces que importan) [Krug…
La usabilidad en realidad significa simplemente asegurarse de que algo funcione bien: que una persona con una capacidad y experiencia promedio (o incluso inferior al promedio) pueda utilizarlo (ya sea un sitio web, un avión de combate o una puerta giratoria) para el propósito previsto sin frustrarse irremediablemente.
Si algo requiere una gran inversión de tiempo (o parece que lo hará), es menos probable que se utilice.
No existe una única forma «correcta» de diseñar sitios web.
No leemos páginas. Los escaneamos.
Lea el resto de mis notas aquí:
No me hagas pensar de Steve Krug – Twos
La usabilidad en realidad simplemente significa asegurarse de que algo funcione bien: que una persona promedio (o incluso inferior al promedio)…
Entrevistas de programación
Descifrando la entrevista de codificación por Gayle Laakmann McDowell
Descifrando la entrevista de codificación: 189 preguntas y soluciones de programación
Descifrando la entrevista de codificación: 189 preguntas y soluciones de programación [McDowell, Gayle Laakmann] en Amazon.com. *GRATIS*…www.amazon.com
La capacidad de comunicar pensamientos e ideas de forma clara y concisa es una habilidad absolutamente invaluable que buscan los empleadores.
5 pasos para resolver una pregunta técnica: 1. Haga preguntas para resolver la ambigüedad. 2. Diseñar un algoritmo. 3. Escribe pseudocódigo. 4. Escribe código. 5. Pruebe su código.
Pasos para la resolución de problemas: 1. Escuche. 2. Ejemplo de depuración. 3. Casos especiales. 4. Fuerza bruta. 5. Optimizar. 6. Recorrido por la solución optimizada. 7. Limpiar código. 8. Prueba. 9. Prueba con casos especiales.
Hermoso código: modularización, verificación de errores, uso de clases/estructuras/enumeraciones, buenos nombres de variables.