Browse Source

Merge branch 'release/20190725'

master 20190725
Julio Biason 5 years ago
parent
commit
334e8c553f
  1. 8
      content/books/things-i-learnt/_index.md
  2. 33
      content/books/things-i-learnt/blogging/index.md
  3. 2
      content/books/things-i-learnt/fixable/index.md
  4. 2
      content/books/things-i-learnt/google-code-style/index.md
  5. 31
      content/books/things-i-learnt/hero-projects/index.md
  6. 30
      content/books/things-i-learnt/hero-syndrome/index.md
  7. 2
      content/books/things-i-learnt/libraries/index.md
  8. 24
      content/books/things-i-learnt/paper-notes/index.md
  9. 34
      content/books/things-i-learnt/post-solution/index.md
  10. 30
      content/books/things-i-learnt/quit/index.md
  11. 36
      content/books/things-i-learnt/small-world/index.md
  12. 2
      content/books/things-i-learnt/specialists/index.md
  13. 22
      content/books/things-i-learnt/things-i-dont-know/index.md
  14. 2
      content/books/things-i-learnt/throw-away/index.md
  15. 2
      content/books/things-i-learnt/toxic-people/index.md
  16. 2
      content/books/things-i-learnt/watch-reactions/index.md

8
content/books/things-i-learnt/_index.md

@ -37,6 +37,7 @@ template = "section-contentless.html"
* Project Organization
* [Organize Your Code by Data/Type, Not Functionality](project-organization)
* [Create Libraries](libraries)
* [Paper Notes Are Actually Helpful](paper-notes)
* Writing code
* [Be Ready To Throw Your Code Away](throw-away)
* [Future Thinking Is Future Trashing](future-trashing)
@ -70,6 +71,7 @@ template = "section-contentless.html"
* [Code Formatting Tools Are Ok, But No Silver Bullet](code-formatters)
* [Code Style: Follow It](code-style)
* [... Unless That Code Style Is The Google Code Style](google-code-style)
* [Hero Projects: You'll Have To Do It Yourself](hero-projects)
* Personal
* [Companies Look For Specialists But Keep Generalists Longer](specialists)
* [Keep A List of Stupid Bugs That Took More Than 1 Hour To Solve](stupid-bugs-list)
@ -81,6 +83,12 @@ template = "section-contentless.html"
* [People Get Upset About Code And Architecture Quality 'Cause They Care](people-care)
* [You'll Learn About Yourself The Hard Way](learn-about-yourself)
* [Pay Attention On How People React To You](watch-reactions)
* [Don't Confuse Hero Project With Hero Syndrome](hero-syndrome)
* [Beware of Toxic People](toxic-people)
* [Beware of Microaggressions](microaggressions)
* [Toxic/Aggressive People Are Not Fixable -- Unless It's You](fixable)
* [Realize When It's Time To Quit](quit)
* [I.T. World Is Really Small](small-world)
* [Blogging About Your Stupid Solution Is Still Better Than Being Quiet](blogging)
* [Don't Hide Your Stupid Solution](post-solution)
* [Keep A List of Things I Don't Know](things-i-dont-know)

33
content/books/things-i-learnt/blogging/index.md

@ -0,0 +1,33 @@
+++
title = "Things I Learnt The Hard Way - Blogging About Your Stupid Solution Is Still Better Than Being Quiet"
date = 2019-07-25
[taxonomies]
tags = ["en-au", "books", "things i learnt", "personal", "blogging"]
+++
You may feel "I'm not start enough to talk about this" or "This must be so
stupid I shouldn't talk about it". Don't.
<!-- more -->
Create a blog. Post about your stupid solutions. They are still smarter than
someone else's solution.
Also, come back later and fight your own solutions with better ones.
Show your growth.
But do yourself a favour and turn off comments. Unfortunately, the internet is
a toxic place and the fears you may have are created by a small portion of it
that doesn't care about people learning.
Focus on your work. Focus on whatever you are thinking. Post about your
speculations if something would work. Revisit them later. Answer yourself. All
that will show that you're interested in the field and will count points
towards you.
There are several options on where to blog; even Github/Gitlab can be used to
blogging, using their Pages features.
{{ chapters(prev_chapter_link="/books/things-i-learnt/small-world", prev_chapter_title="I.T. World Is Really Small", next_chapter_link="/books/things-i-learnt/post-solution", next_chapter_title="Don't Hide Your Stupid Solution") }}

2
content/books/things-i-learnt/fixable/index.md

@ -28,4 +28,4 @@ you](/books/things-i-learnt/watch-reactions), you may notice that you may be
doing this to others. And now the ball is in your park: Do you want to be a
better person or not?
{{ chapters(prev_chapter_link="/books/things-i-learnt/microaggressions", prev_chapter_title="Beware of Microaggressions") }}
{{ chapters(prev_chapter_link="/books/things-i-learnt/microaggressions", prev_chapter_title="Beware of Microaggressions", next_chapter_link="/books/things-i-learnt/quit", next_chapter_title="Realize When It's Time To Quit") }}

2
content/books/things-i-learnt/google-code-style/index.md

@ -16,4 +16,4 @@ The only reason to use Google Code Style is in case someone less smart than
you decided it would be a good idea to use it. Then, I feel sorry for you, but
you'll have to follow Google Code Style.
{{ chapters(prev_chapter_link="/books/things-i-learnt/code-style", prev_chapter_title="Code Style: Follow It", next_chapter_link="/books/things-i-learnt/google-code-style", next_chapter_title="... Unless That Code Style Is The Google Code Style") }}
{{ chapters(prev_chapter_link="/books/things-i-learnt/code-style", prev_chapter_title="Code Style: Follow It", next_chapter_link="/books/things-i-learnt/hero-projects", next_chapter_title="Hero Projects: You'll Have To Do It Yourself") }}

31
content/books/things-i-learnt/hero-projects/index.md

@ -0,0 +1,31 @@
+++
title = "Things I Learnt The Hard Way - ... Unless That Code Style Is The Google Code Style"
date = 2019-07-25
[taxonomies]
tags = ["en-au", "books", "things i learnt", "community", "teams", "hero project"]
+++
An "hero project" is a project/spec change that you personally think will
solve a group of problems in your project. It could be a different
architecture, a new framework or even a new language.
<!-- more -->
Hero projects happen mostly when a single developer wants to prove something
without the support of the company or even the time they are in.
On those projects, developers will spend their free time to write a
proof-of-concept, just to prove a point.
And, sometimes, it just proves that they are were wrong.
(Although that last point sounds a bit sad, if you have to do an hero project,
you'll still learn something new and, maybe, even add a new bullet point to
your CV.)
Just to be clear: Sometimes an hero project will fail [because the answer is
obvious](/books/things-i-learnt/right-tool-obvious). Don't let that make you
feel down.
{{ chapters(prev_chapter_link="/books/things-i-learnt/google-code-style", prev_chapter_title="... Unless That Code Style Is The Google Code Style", next_chapter_link="/books/things-i-learnt/specialists", next_chapter_title="Companies Look For Specialists But Keep Generalists Longer") }}

30
content/books/things-i-learnt/hero-syndrome/index.md

@ -0,0 +1,30 @@
+++
title = "Things I Learnt The Hard Way - Don't Confuse Hero Project With Hero Syndrome"
date = 2019-07-25
[taxonomies]
tags = ["en-au", "books", "things i learnt", "personal", "hero syndrome"]
+++
Someone that suffers from Hero Syndrome will claim that things won't work
unless they are carefully watching over everything.
<!-- more -->
I've seen this at least two times in my professional life. Usually, those
people are actually doing so much micromanaging that they are not other
realize when things are in trouble.
I've even seen someone doing a poor job on _their job_, so things would break
and then start calling people out that he had to fix it 'cause nobody would.
Don't do that.
I know you can get frustrated when you're the only one realizing things are
breaking apart, but you can add some
[monitoring](/books/things-i-learnt/monitoring) to your project, asking your
manager to show your solution -- you can even mention it on your group/daily
stand up meeting -- and pointing out to people how to realize when your
project broke. Suddenly, people will realize how to monitor theirs too.
{{ chapters(prev_chapter_link="/books/things-i-learnt/watch-reactions", prev_chapter_title="Pay Attention On How People React To You", next_chapter_link="/books/things-i-learnt/toxic-people", next_chapter_title="Beware of Toxic People") }}

2
content/books/things-i-learnt/libraries/index.md

@ -45,4 +45,4 @@ your control, they are external to the project. So you may need to learn how
to deal with this before creating the libraries. And, unfortunately, each
language and build tool has its own way to manage this.
{{ chapters(prev_chapter_link="/books/things-i-learnt/project-organization", prev_chapter_title="Organize Your Code by Data/Type, Not Functionality", next_chapter_link="/books/things-i-learnt/throw-away", next_chapter_title="Be Ready To Throw Your Code Away") }}
{{ chapters(prev_chapter_link="/books/things-i-learnt/project-organization", prev_chapter_title="Organize Your Code by Data/Type, Not Functionality", next_chapter_link="/books/things-i-learnt/paper-notes", next_chapter_title="Paper Notes Are Actually Helpful") }}

24
content/books/things-i-learnt/paper-notes/index.md

@ -0,0 +1,24 @@
+++
title = "Things I Learnt The Hard Way - Create Libraries"
date = 2019-07-25
[taxonomies]
tags = ["en-au", "books", "things i learnt", "paper notes", "post its", "project organization"]
+++
I've tried to go paperless many, many times. But keeping a notepad and a bunch
of post its in my desk has been one of the most helpful tools I ever got.
<!-- more -->
I've even managed to hide all my pens, move notepads to desks and use some
note-taking application instead. In the end, none of those managed to come
close to the utility of having something to scribble notes fast, or to draw a
very high concept of whatever I'm trying to explain.
Also, a desk full of post its, or even a monitor with a bunch of things around
gives the impression that you're really busy working -- just be careful to not
have too many post its, or it will look like you can't complete anything. It
even beats Trello!
{{ chapters(prev_chapter_link="/books/things-i-learnt/libraries", prev_chapter_title="Create Libraries", next_chapter_link="/books/things-i-learnt/throw-away", next_chapter_title="Be Ready To Throw Your Code Away") }}

34
content/books/things-i-learnt/post-solution/index.md

@ -0,0 +1,34 @@
+++
title = "Things I Learnt The Hard Way - Blogging About Your Stupid Solution Is Still Better Than Being Quiet"
date = 2019-07-25
[taxonomies]
tags = ["en-au", "books", "things i learnt", "personal", "solutions"]
+++
You may think "This project is so small and so focused on whatever I needed, I
should never post it on Github. What would people think?" Github is not for
that.
<!-- more -->
Github is not a repository for "cool, almost perfect" projects. You're free to
show that, at some point, you were a beginner[^1].
You can always come back, review what you did and fix it. It will, as your
[blog](/books/things-i-learnt/blogging), show that you're improving.
... or maybe you'll let your project there just to rot. I still have some
Python projects that I wrote when I was learning the language that, although
they work, they don't look like Python projects.
But who knows? Maybe the code you wrote to solve your small problem can help
someone else to fix their problem, which was not exactly the same, but pretty
close. Or even you could get a code review that would teach you something new
about the language/design you used.
[^1]: Whoever see the first projects I did in
[Rust](https://www.rust-lang.org/) wouldn't think I have 30 years of
experience in the field. Everybody is a beginner at some point.
{{ chapters(prev_chapter_link="/books/things-i-learnt/blogging", prev_chapter_title="Blogging About Your Stupid Solution Is Still Better Than Being Quiet", next_chapter_link="/books/things-i-learnt/things-i-dont-know", next_chapter_title="Keep A List of Things I Don't Know") }}

30
content/books/things-i-learnt/quit/index.md

@ -0,0 +1,30 @@
+++
title = "Things I Learnt The Hard Way - Toxic/Aggressive People Are Not Fixable"
date = 2019-07-25
[taxonomies]
tags = ["en-au", "books", "things i learnt", "personal", "quit"]
+++
Instead of taking the blows and keep moving, maybe it would be better to your
own health to simply quit.
<!-- more -->
Unexpected circumstances caused a delay on your task and your boss lashed at
you.
You need to keep avoiding a guy that keeps bad mouthing some minority,
something that you don't agree.
Another guy keeps an aggressive posture around women, and you know that's not
something nice to do.
Yet a third one keeps complaining that, when he's not around, things don't
work.
I've to say it: You're in a toxic environment. Even if the pay is nice and the
project is interesting, it's not worth your health. You'd end up being a
constantly pissed off, annoyed person on your forties (_cough_).
{{ chapters(prev_chapter_link="/books/things-i-learnt/fixable", prev_chapter_title="Toxic/Aggressive People Are Not Fixable -- Unless It's You", next_chapter_link="/books/things-i-learnt/small-world", next_chapter_title="I.T. World Is Really Small") }}

36
content/books/things-i-learnt/small-world/index.md

@ -0,0 +1,36 @@
+++
title = "Things I Learnt The Hard Way - I.T. World Is Really Small"
date = 2019-07-25
[taxonomies]
tags = ["en-au", "books", "things i learnt", "personal"]
+++
We have two expressions here: "The world turns around"; it means whatever you
do, sometime in the future, you'll face the consequences of it. Another
expression is "The world of _something_ is an egg"; because the world turns
around, if the world is an egg, you'll face the consequences sooner than you
think.
<!-- more -->
What do I meant with those two expressions?
Well, first thing, if you do a bad job, if you don't care about your
co-workers, if you're not a team player, if you keep bad mouthing someone...
You'll find someone that heard about the things you do and may damage your
reputation.
So be nice and a team player.
Just to be clear: Yes, I did my fair share of not being a team player and bad
mouthing people[^1] and I'm pretty sure there are companies around that would
never hire me 'cause someone inside heard that I bad mouth someone or didn't
do as a team player in some other place. I try to avoid doing it so as much as
I can but, hey, I'm just human.
[^1]: I still call actions of previous colleagues around even to this day. If
I'm bad mouthing or just telling what happened is up to whoever is listening
to me.
{{ chapters(prev_chapter_link="/books/things-i-learnt/quit", prev_chapter_title="Realize When It's Time To Quit", next_chapter_link="/books/things-i-learnt/blogging", next_chapter_title="Blogging About Your Stupid Solution Is Still Better Than Being Quiet") }}

2
content/books/things-i-learnt/specialists/index.md

@ -40,4 +40,4 @@ in C show up and guess who also knew C?
[^1]: ... which led me into some sad times when I was working with Python.
{{ chapters(prev_chapter_link="/books/things-i-learnt/google-code-style", prev_chapter_title="... Unless That Code Style Is The Google Code Style", next_chapter_link="/books/things-i-learnt/stupid-bugs-list", next_chapter_title="Keep A List of Stupid Bugs That Took More Than 1 Hour To Solve") }}
{{ chapters(prev_chapter_link="/books/things-i-learnt/hero-projects", prev_chapter_title="Hero Projects: You'll Have To Do It Yourself", next_chapter_link="/books/things-i-learnt/stupid-bugs-list", next_chapter_title="Keep A List of Stupid Bugs That Took More Than 1 Hour To Solve") }}

22
content/books/things-i-learnt/things-i-dont-know/index.md

@ -0,0 +1,22 @@
+++
title = "Things I Learnt The Hard Way - Keep A List of Things I Don't Know"
date = 2019-07-25
[taxonomies]
tags = ["en-au", "books", "things i learnt", "personal", "things i don't know", "richard feyman"]
+++
Richard Feymann, famous physicist, kept a notebook with the title "Things I
Don't Know".
<!-- more -->
I keep a similar "Task List" for myself. If some technology starts appearing
everywhere or something grabs my attention, but I don't have the time to
research it, I put it on this task list.
When I start my research, I keep some notes together, although [not on
paper](/books/things-i-learnt/paper-notes), so I can use as reference in the
future.
{{ chapters(prev_chapter_link="/books/things-i-learnt/post-solution", prev_chapter_title="Don't Hide Your Stupid Solution") }}

2
content/books/things-i-learnt/throw-away/index.md

@ -39,4 +39,4 @@ And not just code that solves the problem, but also the tests for that code.
... unless you focus mostly on [integration
tests](/books/things-i-learnt/integration-tests).
{{ chapters(prev_chapter_link="/books/things-i-learnt/config-file", prev_chapter_title="The Config File Is Friend", next_chapter_link="/books/things-i-learnt/future-trashing", next_chapter_title="Future Thinking Is Future Trashing") }}
{{ chapters(prev_chapter_link="/books/things-i-learnt/paper-notes", prev_chapter_title="Be Ready To Throw Your Code Away", next_chapter_link="/books/things-i-learnt/future-trashing", next_chapter_title="Future Thinking Is Future Trashing") }}

2
content/books/things-i-learnt/toxic-people/index.md

@ -31,4 +31,4 @@ realize that you may be seen as toxic 'cause [you don't understand yourself
yet](/books/things-i-learnt/learn-about-yourself) and the way [people react to
you](/books/things-i-learnt/watch-reactions).
{{ chapters(prev_chapter_link="/books/things-i-learnt/watch-reactions", prev_chapter_title="Pay Attention On How People React To You", next_chapter_link="/books/things-i-learnt/microaggressions", next_chapter_title="Beware of Microaggressions") }}
{{ chapters(prev_chapter_link="/books/things-i-learnt/hero-syndrome", prev_chapter_title="Don't Confuse Hero Project With Hero Syndrome", next_chapter_link="/books/things-i-learnt/microaggressions", next_chapter_title="Beware of Microaggressions") }}

2
content/books/things-i-learnt/watch-reactions/index.md

@ -28,4 +28,4 @@ they opening themselves to you or are they closing?
[^1]: I have this "serious" problem that, depending on the word someone says,
I recall some lyrics and suddenly start singing it.
{{ chapters(prev_chapter_link="/books/things-i-learnt/learn-about-yourself", prev_chapter_title="You'll Learn About Yourself The Hard Way", next_chapter_link="/books/things-i-learnt/toxic-people", next_chapter_title="Beware of Toxic People") }}
{{ chapters(prev_chapter_link="/books/things-i-learnt/learn-about-yourself", prev_chapter_title="You'll Learn About Yourself The Hard Way", next_chapter_link="/books/things-i-learnt/hero-syndrome", next_chapter_title="Don't Confuse Hero Project With Hero Syndrome") }}

Loading…
Cancel
Save