The long way through Software Craftsmanship

Self-Study in July 2016

Jul 4, 2016 - 8 minute read - Comments - self-study-aggregationjuly2016read10x2faagentagilealexander-yakushevanalogyandroidanswerassemblerasynchronousatsauthenticationbaasbackend-as-a-servicebasecampbeginnerben-halpernbig-companybill-sourourbinarybookbook-editingbook-publishingbook-writingbuscareercareer-securitycarin-meiercate-hustonclean-codeclojureclojure-gazettecommunicationcomparisoncompensating-actioncomputerconversation-patterncopy-pastecorrelation-idcvdan-kimdavid-dilldebuggerdeveloperdhheconomyefficiencyelton-minettoemployeeemployerend-of-the-internetenglisheric-ellioteventevent-loopevolving-articleexception-handlingfaasfunction-as-a-servicegiovanni-aspronigithubgoogle-summer-of-codegregor-hohpegsocguideguidelinehackintoshhiringignacio-segurainterviewinvestmentjason-gormanjason-zimdarsjavascriptjeff-halljobjob-interviewjob-marketjob-offerjob-securityjurgen-appeloken-mazaikakotlinlambdalanguagelawlearn-codinglimitationlistlove-of-languagemacmacintoshmasha-diminskymbassmfamike-robertsmike-rundlemobile-backend-as-a-servicemolly-wilsonmonotaskingmulti-factor-authenticationmultitaskingnativenodejsnon-nativeobject-calisthenicsofaofficeone-factor-authenticationonline-votingpandocparadoxpci-guruphppolicyportugueseproductprofessional-careerquincy-larsonrecruiterrecruitmentrelated-to-articleresumeretryrobert-martinrubyscaled-agilesecurityserverlesssmall-companyspanishstartuptddtime-managementtip-and-tricktooltwo-factor-authenticationunbeateable-programmeruncle-bobunitaskingunstoppable-programmerverena-von-pfettenwebworking-environmentwrite-off

Until the End of the Internet

I’ve read this article by Jason Zimdars explaining the “end of the internet” policy at Basecamp: they will make everything possible to keep the services running for existing customer until the end or until the last customer uses it.

Tags: policy, end-of-the-internet, jason-zimdars, basecamp, product

How Agile Principles Can Fund Your Start-Up

I’ve read this article by Jurgen Appelo explaining how the agile values can help you negotiate funding for your startup: instead of negotiating with each investor, agree on a formula and invest in many small rounds, instead of a big one. This works both ways: for buying and for selling.

Suggests using a base plus the amount of sales in the last year * a percentage.

Tags: jurgen-appelo, investment, startup, agile

How I fell in love with a programming language

I’ve read this article by Dan Kim on the feelings of love and comfort he feels when he’s programming in Kotlin, for Android. Tells the story of DHH and the love of Ruby as a similar one.

Tags: dan-kim, dhh, ruby, love-of-language, kotlin, android

Book writing for the busy programmer

I’ve read this article by Carin Meier on what tools she found useful for writing, editing and publishing a science fiction book she was writing for her daughter.

Tags: tool, pandoc, carin-meier, book, book-writing, book-editing, book-publishing

one-, two-, and three-factor authentication

I’ve read this article by Jeff Hall, that explains the factors in multi-factor authentication.

Tags: jeff-hall, ofa, 2fa, mfa, one-factor-authentication, two-factor-authentication, multi-factor-authentication, pci-guru, security, authentication

Scaling Agile: A Law And Two Paradoxes

I’ve read this article by Giovanni Asproni about agile.

Fundamental law of scaling: Scaling up amplifies the bad and makes the good more difficult.

First paradox of scaling: Most projects are scaled up because they don’t fulfill the prerequisites for scaling.

Second paradox of scaling: Projects fulfilling the prerequisites for scaling have a lesser need to scale.

Giovanni Asproni

Also goes on to explain ten prerequisites for scaling.

Tags: scaled-agile, agile, giovanni-asproni, paradox, law

Carta abierta a ese empresario que no encuentra talento

I’ve read this article by Ignacio Segura reacting to a previous article about job offer and demand. Ignacio explains how the job market can be modeled and how workers have found ways of selling their time to the best price.

Tags: ignacio-segura, analogy, job-offer, job, job-market, economy, spanish

David Dill: Why Online Voting Is a Danger to Democracy

I’ve read this interview to David Dill on why the online voting is not a good idea and we should stick to paper as the golden rule for voting processes.

Explains how difficult is to convince people of the technical limitations and the massive incentive it would be to hack into election systems / services.

Tags: interview, david-dill, online-voting, limitation

Clojure Gazette - TDD in Clojure on Android

I’ve read this interview to Alexander Yakushev, about his Google Summer of Code and the project he is currently working on: Clojure-android

Tags: interview, clojure-gazette, alexander-yakushev, google-summer-of-code, gsoc, clojure, tdd, android

What Will GitHub Be in 5 years?

I’ve read this article that describes the current state of Github business and the possible solutions in the upcoming five years. By Ben Halpern

Tags: ben-halpern, github, economy, startup, investment

Serverless Architectures

I’ve read this evolving article by Mike Roberts on what is and is not Serverless: [mobile] backend as a service or function as a service.

Converts some n-tier applications into serverless ones, expliciting that this is only a way of doing it, not necessarily the way he would do it

Tags: faas, baas, mbass, function-as-a-service, backend-as-a-service, mobile-backend-as-a-service, serverless, evolving-article, mike-roberts, lambda

Big co. vs small co. & job vs. career stability

I’ve read this article by Cate Huston on the career and job stability that big companies and small companies can offer:

Job security means that you know you will keep getting a paycheck from $company. Career security means that you know you can get another job, and develop yourself and your career in the way that is meaningful to you.

Tags: job-security, cate-huston, big-company, small-company, career-security, career, professional-career

Copy. Paste. Code?

I’ve read this article by Bill Sourour on the different point of view of solving questions in coding many years ago compared to nowadays.

Also explores the concept of copy pasting code without understanding it, explaining that the endgame is writing good code that works and is easy to change.

Tags: copy-paste, bill-sourour, clean-code, comparison

Why so many developers hate recruiters

I’ve read this article by Quincy Larson on how recruiters for the IT sector work and how to work with them for your best possible outcome.

Tags: career, professional-career, recruitment, recruiter, agent, hiring, quincy-larson

Every time someone posts one of these “coding is over” essays on Medium, they undo a good chunk of…

I’ve read this article by Quincy Larson on why we should not tell others about their choosing of learning programming, and every time we do, some doors close.

Tags: answer, learn-coding, related-to-article, quincy-larson

29 Behaviors That Will Make You An Unstoppable Programmer

I’ve read this list of tricks to become a be a better programmer. By Ken Mazaika

  1. Use Google very aggressively.
  2. Maintain an obnoxious amount of stick-to-itiveness.
  3. Acknowledge that micro-decisions matter.
  4. Acknowledge that most major decisions don’t matter that much.
  5. Always use the right tool for the job.
  6. Understand that code is cheap.
  7. Evaluate technologies based on all their merits.
  8. Say “I don’t know.”
  9. Always analyze the clues found in error messages.
  10. Know the difference between a premature optimization and a show-stopping optimization that NEEDS to happen.
  11. Take responsibility for your mistakes.
  12. Become a power-user of your development tools.
  13. Know how to use Vim (at least a little bit).
  14. Never accept freelance work in an unfamiliar technology.
  15. Don’t count the number of hours.
  16. Absorb massive criticism with ease.
  17. Pair program with people with more experience.
  18. Always code review your own work first.
  19. Recognize that the hard part of freelancing isn’t writing the code. It’s everything else.
  20. Identify and resolve bigger issues.
  21. Dive into large open source projects to bring your features to life.
  22. Skip a lot of meetings.
  23. Know when it’s time to give back.
  24. Be capable of writing bad code.
  25. Let other people know that you’re working late without being a jerk.
  26. Act as a leader, not a boss.
  27. Go play foosball.
  28. Learn under pressure.
  29. “Move fast and break things.”

Tags: ken-mazaika, list, unbeateable-programmer, unstoppable-programmer, efficiency, 10x, tip-and-trick

Como melhorar seus códigos usando Object Calisthenics (Portuguese)

I’ve read this article about object calisthenics, with an example in PHP. By Elton Minetto

Tags: object-calisthenics, elton-minetto, php, portuguese

Read This Story Without Distraction (Can You?)

I’ve read this article by Verena von Pfetten on the effects on multitasking in our daily lives. Also comments on the movement of monotasking or unitasking, which is the opposite of multitasking: doing one thing at a time.

Underlines the benefits of monotasking and how this is related to mindfulness and psychological benefits.

Tags: multitasking, monotasking, unitasking, verena-von-pfetten, time-management

Debuggers are a wasteful Timesink

I’ve read this article by Robert C. Martin on why we shouldn’t use debuggers

Tags: uncle-bob, robert-martin, debugger, tdd

Taming the steamroller: how to communicate compassionately with non-native English speakers

I’ve read this article by Molly Clare Wilson on tips on how native English speakers can simplify their communication so it is easier for non-native speakers to understand them. Provides guidelines for situations involving ‘speaking and presenting’, ‘meetings’, written form ‘email, text, chat’ and about correction each others English.

Tags: molly-wilson, english, communication, native, non-native, guideline

Blue. No! Yellow!

I’ve read this interview with Robert C. Martin on the productivity increases that different languages provide to the programmer. He says that no language can provide an effect as big as binary to assembler and that we’re currently searching the Holy Grail.

Tags: robert-martin, uncle-bob, language, comparison, assembler, binary, clojure

It’s Time Development Teams Chose Their Own Working Environments

I’ve read this article by Jason Gorman on how takes the decision of working environments and why having other options are financially available. How developers should be in charge of their own working environments.

Tags: office, working-environment, jason-gorman

Building My $1,200 Hackintosh

I’ve read this guide on how to build a powerful hackintosh. By Mike Rundle

Tags: mike-rundle, hackintosh, macintosh, mac, computer

The Practical Guide to Becoming a Professional Web Developer

I’ve read this article by Bill Sourour on how to become a web developer. Explains all kind of resources, from learning javascript, deciding on being a frontend of backend developer, which language to choose, how to find a job, getting experience.

Tags: bill-sourour, guide, career, beginner, developer, web, professional-career

Why Hiring is So Hard in Tech

I’ve read this article by Eric Elliot on how to tackle job interviews, both from the side of the employer and the employee.

Tags: eric-elliot, job-interview, employee, employer, cv, career, professional-career

Learn Node.js with Brigadier Fluffykins Part II: Events, EventEmitter and the Event Loop

I’ve read this article by Masha Diminsky on the architecture of javascript and nodejs. Explains the event-driven architecture, the events and the event loop.

Tags: masha-diminsky, bus, nodejs, javascript, bus, event-loop, event

You in 6 seconds: how to write a résumé that employers will actually read

I’ve read this article that suggests how to customize your cv for maximum engagement from interviewers / head hunters and to make the most of the 6 seconds they (allegedly) spend looking at your cv. Also explains some techniques for preparing the interview, about the cover letter, etc.

Tags: quincy-larson, cv, resume, career, professional-career, ats

Starbucks Does Not Use Two-Phase Commit

I’ve read this article by Gregor Hohpe explaining how Starbucks is modeled in terms of asynchronous interactions and the actions for exception handling: write-off, retry, compensating action.

Also mentions Conversation pattern and Correlation ID.

Tags: gregor-hohpe, conversation-pattern, correlation-id, analogy, asynchronous, exception-handling, write-off, retry, compensating-action

Books read in 2016Q2 AWS Kinesis Zombieland