People Lead Readme

Being a Team Lead requires more than tech skills: you interact daily with people and it is quite challenging building stronger relationships and improving employees onboarding. The following document is my People Lead Readme (sometimes known as Manager Readme), where I talk about me and I share my expectations on people and on the product.

What?

This document is an extended introduction to what I value and believe in as a team leader and software developer. It is also a quick introduction about myself and how I work.

  • This document doesn’t replace getting to know each other through 1:1s and day-to-day chats. As I said before, it is an introduction.
  • This document applies only to me, and in no way should be considered to apply to any other team lead or manager at Thinkific – even though we think in similar ways sometimes.
  • If you feel like I am not acting like I describe here, please let me know.
  • If you are curious why this document exists in the first place: there is a newsletter called SoftwareLeadWeekly (recommended) and managers share their own readme’s there. After seeing several documents, I decided to write my own.

Read more

 

Another dotfiles repository

A few days weeks I got a MacBook Air as secondary machine. Since its SSD is smaller than my main Mac I couldn’t use Time Machine. It was definitely a good time to finally create my dotfiles repository. My repository is based in webpro/dotfiles (you may want to check it out his repo to understand this one if you feel lost).

Read more

 

Testing tools to track my work activity

For a few weeks I have been using two tools to map my work activity. Since my work involves manager and maker modes, I am trying to figure out how much time I spent in each of them and possibly how to remove distractions. A co-worker recommended RescueTime and WakaTime and here are my comments.

RescueTime

RescueTime home page says “With so many distractions and possibilities in your digital life, it’s easy to get scattered” – yes, I know – and “RescueTime helps you understand your daily habits so you can focus and be more productive”. Yes, they really helped me understand my daily habits.
Read more

 

#deletefacebook and social media effects on me

This week #deletefacebook was a trending topic everywhere after all the Cambridge Analytica scandal. Lots of people deleted their accounts, including Elon Musk and the WhatsApp co-founder Brian Acton. I didn’t delete my account but one thing that I did in the middle of February was deleting the app from my iPhone – which is a good step anyway.

I am not deleting my account because I still need Facebook to reach a few people from my previous companies/schools. I used Facebook groups a lot in the past when I was dealing with immigration and unfortunately, it is difficult to find a replacement for this functionality. Forums and lists are not a thing since Facebook absorbed everything on its island.

What can I do?

If I can’t delete my Facebook account, I may have some way to undo my friendship with them.
Read more

 

Thoughts on building components libraries

A few months ago we started using React at Thinkific. One of the challenges of using React is creating reusable components not only from a look and feel perspective but also shareable in different projects.

I didn’t create this concept of elements (or components) library. To be honest, there are podcasts, courses, and examples everywhere about it but how to even start it? When you start creating a project from scratch you face several questions:

  • How to style components? Sass? Stylus? styled-components?
  • How to show the elements?
  • How to build the library? Babel? Webpack?
  • How to publish the library? To NPM or not NPM?
  • How to use integrations and CI in your favour?

Lots of decisions and you may not know all the answers. Startup Life™ doesn’t let you do whatever you want – everything has a cost and a trade-off. Why am I talking all this story? Because I wanted to share my thoughts about it and I created a repository to document what we are doing.
Read more

 

Sick Picks: Podcasts

I am huge fan of podcasts. It is always nice to hear people’s thoughts, struggles, jokes and sick picks. Here is my short list of development-related podcasts.

What are your favourite podcasts? Let me know in the comments :)

 

Useful apps that I use daily – 2017 edition

2 years ago I wrote a post about my tooling and here I am again, 2017 edition. I decided to write again because I keep listening to podcasts with Sick Picks and I also have my Sick Picks :)

Dev tools

Editor: Atom

I have been using Atom for a while. Despite I started testing VS Code in the latest months, I returned to Atom because VS Code doesn’t separate UI theme from syntax theme – you may not care about this, but I am a fan of a light UI and a dark code highlight.

My Atom

Here are the packages that I have installed:
Read more

 

Github webinars

Many of us use Github daily however we usually don’t use all its features. On the latest months, its team released a few webinars about how Github uses Github. More than showing the web interface, they talked about their culture and their workflows. In this post, I’m adding the links to the webinars with a few notes.
Read more

 

Serving raw files directly from Github

We usually create HTML files in our Github repositories, but how to show this data in the browser? RawGit is a solution to serve files with the correct content types.

Example: The WordPress readme.html file can be shown in the following URL:

https://rawgit.com/WordPress/WordPress/master/readme.html

You only need to follow the formula:

https://rawgit.com/USER/REPOSITORY/BRANCH/file.html

The advantage of using RawGit over Github Pages is that RawGit works with all branches, while Github Pages requires a gh-pages branch. Last not the least, the source code of this solution is also available in Github.

 

Excluding folders from indexing in Sublime

Sometimes we work in projects with tons of Javascript dependencies. Folders like node_modules and bower_components are a pain in the neck because every time that we need to find something in the project the content of these folders will be used in the search.

Sublime offers 2 settings to hide these files from the index. First of all, open the User Preferences (Preferences -> Settings – User):

  • binary_file_patterns: This option excludes files from the index but keep them in the sidebar.
  • folder_exclude_patterns: This option excludes files from the index and sidebar. This is why, for example, you don’t see the .git folder in a project.

Read more

 

Replace git author using shell script

This is an old trick that saved me several times. Sometimes people forget to setup their name and email information. The following script is useful to fix mistakes:

#!/bin/sh

git filter-branch -f --env-filter '

an="$GIT_AUTHOR_NAME"
am="$GIT_AUTHOR_EMAIL"
cn="$GIT_COMMITTER_NAME"
cm="$GIT_COMMITTER_EMAIL"

if [ "$GIT_COMMITTER_EMAIL" = "[email protected]" ]
then
  cn="New author name"
  cm="[email protected]"
fi

export GIT_AUTHOR_NAME="$an"
export GIT_AUTHOR_EMAIL="$am"
export GIT_COMMITTER_NAME="$cn"
export GIT_COMMITTER_EMAIL="$cm"
'

echo "Run after"
echo "git push origin +master:master"
 

My Sublime Text settings

Almost 3 years ago I wrote (in Portuguese) a post about my Sublime Text settings. Now, I updated my tips in an English post.

1. Free video course

If you know nothing about Sublime, please watch these free videos from tut+.

2. Package Control

First of all, you should install Package Control to manage plugins. Actually, you can install packages just copying the package files to correct folder, however, Package Control is easier than copy & paste. Open Sublime Text console (View > Show Console or ctrl + `) and paste the following line:
Read more