The long way through Software Craftsmanship

Self-Study in June 2017

Jun 1, 2017 - 5 minute read - Comments - self-study-aggregationjune2017read2faageanalysisandy-greenbergapprenticeapprenticeshipattackbankbankingbeau-carnesbotbrian-harrybusynesscareer-managercatalina-bucheck-point-research-teamchristian-maioli-mackeprangcobolcodecommitmentcomparisonconnectednesscontinous-deliverydavid-casseldavid-copelanddavid-leonhardtdesign-thinkingedaqa-mortorayelmemergence-pointfacebookfirst-classfrancisco-lopezgooglegvfshabithiringiceberg-modeling-directjavajavascriptjavascript-fatiguejavier-pastorjob-satisfactionlanguageleah-ryderlegacy-systemleverage-pointlinuxlisticlemachine-learningmainframemaintanabilitymental-modelmentormentorshipmicrosoftmonorepomythopen-banking-dataopencvpomodoro-techniqueproductivityprogrammerpythonquotereactreadingreduxremoteremote-workrepositoryrishi-goomarsecurityshultz-hoursilicon-valleyskillsmssocial-mediaspanishstephen-coveysteve-vassallosubtitlesustainable-pacesystem-thinkingteam-managementtensorflowtimetime-managementtom-goldenbergtraittravis-bradberrytsundokutwittervectorvideo-playervulnerabilitywarningwindowsworkdayyouth

So Hey You Should Stop Using Texts for Two-Factor Authentication

I’ve read this article explaining why messages over SMS should not be used for the ‘what you own’ in 2FA.

Tags: andy-greenberg, 2fa, sms, security, warning

Why I’d never work for Google, Twitter, or Facebook

I’ve read this article by David Bryant Copeland on why he would never work for these three companies: he doesn’t share the principles and values from these companies.

Tags: david-copeland, google, twitter, facebook, job-satisfaction, commitment

Design Thinking Needs To Think Bigger

I’ve read this article by STEVE VASSALLO on systems thinking and design thinking.

What makes a system a system rather than just a collection of parts is that the components are interconnected and interdependent

Tags: steve-vassallo, design-thinking, system-thinking, mental-model, emergence-point, leverage-point, iceberg-model

COBOL Is Everywhere. Who Will Maintain It?

I’ve read this article by David Cassel explaining the state of the COBOL systems at some banks and the difficulty of finding young COBOL programmers.

Tags: david-cassel, cobol, youth, team-management, hiring, bank, java, mainframe, legacy-system

You’re Too Busy. You Need a ‘Shultz Hour.’

I’ve read this article by David Leonhardt, about the Shultz Hour: time set aside to not be busy, so you can set aside the tactical topics and focus on the strategic topics.

“You waste years by not being able to waste hours.”

Amos Tversky (as Michael Lewis describes in his THE UNDOING PROJECT)

Tags: david-leonhardt, busyness, time-management, shultz-hour, connectedness, social-media, quote

Avoid these 35 habits that lead to unmaintainable code

I’ve read this article about habits that make writing software more difficult:

  1. Saying “I’ll fix it later”, and never doing it
  2. Insisting on a one-liner solution
  3. Making pointless optimizations
  4. Convincing yourself that styling issues are not that important
  5. Sweeping things under the rug
  6. Using names that don’t add information
  7. Ignoring proven best practices
  8. Abandoning plans too early
  9. Insisting on a plan that has little chance of working
  10. Working on your own all the time
  11. Refusing to write bad code
  12. Blaming others
  13. Not sharing with your team what you’ve learned
  14. Being too slow on giving feedback to managers/clients
  15. Not using Google enough
  16. Overvaluing your personal style
  17. Having a personal attachment to your code
  18. Not knowing how to optimize
  19. Using the wrong tool for the job
  20. Not bothering with mastering your tools and IDE
  21. Ignoring error messages
  22. Romanticizing your developer toolkit
  23. Hardcoding values instead of making them configurable
  24. Reinventing the wheel all the time
  25. Blindly copy/pasting code
  26. Not taking the time to learn how things really work
  27. Having excessive confidence in your own code
  28. Not thinking about the trade-offs of each design, solution, or library
  29. Not getting help when you’re stuck
  30. Writing tests to pass
  31. Disregarding performance testing for critical cases
  32. Not checking that your build works
  33. Pushing large changes late, or leaving after making a large push
  34. Disowning code you wrote
  35. Ignoring the nonfunctional requirements

Tags: christian-maioli-mackeprang, maintanability, code, listicle, habit

JavaScript — A First-Class Language At Last

I’ve read this article by Tom Goldenberg defending javascript, citing sources on why it is a first-class language, the amount of job offers, and the state of the art in NodeJS.

Tags: tom-goldenberg, javascript, java, comparison, first-class, language, analysis

Why the 8-Hour Workday Doesn’t Work

I’ve read this article defending the removal of the 8-hour workday, preferring the division of time in slots. In the article, 52 minutes of highly focused work then 17 minutes of rest.

The key idea is the work-rest, no matter how big those slots are.

Gives tips on how to separate both, some other tips for improving your performance.

By Travis Bradberry

Tags: time-management, pomodoro-technique, travis-bradberry, time, workday

The dark side of extreme productivity, and how to steer back toward the light

I’ve read this article by Beau Carnes on how productivity can have a downside, how it can affect your healthy lifestyle. Explains effective vs efficient, productivity, silent retreat, prayer or meditation

The key is not to prioritize what’s on your schedule, but to schedule your priorities

Stephen Covey

Tags: beau-carnes, productivity, quote, stephen-covey, sustainable-pace

Dejé de leer

I’ve read this article by Catalina Bu on the tsundoku and how to read more. (In Spanish)

Tags: catalina-bu, tsundoku, reading, time-management, spanish

Hacked in Translation – from Subtitles to Complete Takeover

I’ve read this article about a vector to getting to user’s machines through the video player, using subtitle files. by Check Point Research Team.

Tags: check-point-research-team, security, vulnerability, vector, attack, subtitle, video-player

8 Teamwork Myths To Tackle At Your Office

I’ve read this article by Leah Ryder on remote work myths.

Tags: leah-ryder, productivity, myth, remote, remote-work

Why I think Elm is the Future of Front End Development

I’ve read this article by Rishi Goomar comparing reactredux to elm, comparing javascript to elm.

Tags: rishi-goomar, comparison, elm, javascript, react, redux, javascript-fatigue

Los viejos programadores nunca mueren, y Silicon Valley se está dando cuenta de ello

I’ve read this article by Javier Pastor on the age of the programmers in Silicon Valley. In Spanish.

Tags: spanish, javier-pastor, age, programmer, career-manager, silicon-valley

Creating a TensorFlow-powered ING API client

I’ve read this article by Francisco López on how he has implemented a small bot to click the virtual keyboard and connect to the bank website.

Tags: ing-direct, francisco-lopez, bot, opencv, tensorflow, machine-learning, python, banking, open-banking-data

Be a good mentor, not a dickhead

I’ve read this article by Edaqa Mortoray about traits of a mentor.

Tags: edaqa-mortoray, mentor, trait, skill, mentorship, apprentice, apprenticeship

The largest Git repo on the planet

I’ve read this article by Brian Harry on how Microsoft manages one of its big repositories. Explains how they have virtualized the git folder and the git workspace at Microsoft using gvfs. Explains how they have performed the improvements necessary to make it useful and usable to programmers.

They have support for clients, but what about Linux?

Tags: brian-harry, microsoft, continous-delivery, linux, windows, gvfs, repository, monorepo

The Senior Software Engineer, Chapter 9 Books read in 2017Q2