Photo 15.06.2014, 21 46 15

Train your brain to become more adaptable

I am going to assume that all of us are trying to get better at something. Most of the times this involves going through some form of change: learning to do something new, doing something differently or stopping a bad habit altogether.

There is a lot of literature that covers how people deal with change, so I’m not going to focus on this aspect. Also, I’m not necessarily preoccupied with dealing with external change. That may be the topic of another post.
Suffice to say that most of us resist change (at least initially) and would rather continue to do things as we know and have always done it, instead of experimenting with new ways and getting out of our comfort zone.

That being said, I believe that in order to better deal with change (both imposed from the outside, as well as triggered by our own desire to change), we need to learn how to deal with our emotions and stress levels while managing the change process.

Continue reading

Side projects should be stupid

Tobias van Schneider, Spotify’s design lead, talks about the importance of side projects and how to make the most of them.
The core of the idea is to keep them simple and stupid for as long as possible, otherwise you tend to overcomplicate them and nothing gets done.

I use them as a vehicle for learning and starting new things at work and I currently have about 3 going on in parallel (2 based on the Arduino platform, one building on top of Spark).

success also comes in the form of learning new things, meeting the right people, feeling personally fulfilled, he says. You don’t know what will happen next. Perhaps your side project will lead you to your next job, your spouse, or a sustainable living that gives you the freedom to keep exploring.

Why Side Projects Should Be Stupid

Essential JavaScript design patterns

Here’s an excellent free book that will make you a better JavaScript programmer. With JS being such a dynamic language with a bad reputation for poorly written code, the book by Addy Osmani is an invaluable resource on how to solve real problems while keeping the structure and quality of your code high.

In his own words: In this book we will explore applying both classical and modern design patterns to the JavaScript programming language.
Learning JavaScript Design Patterns

Write down your thoughts

If you have a hyper-active brain and you just can’t stop thinking about something, get it out! You’ll find out that as soon as you write it down, the inner voice goes away. Doesn’t matter if it’s a post-it, evernote, trello checklist or your favorite Moleskine agenda. You’ll sleep better and be able to focus more on the task at hand.

How I got into functional programming

About a year and a half ago I decided that I wanted to change course and go back to being an engineer. I knew that I wanted to code, I just didn’t know where to start.

In this post I will go over:

  • how I picked functional programming (FP) as something I want to study
  • what FP is and why I like it
  • go over a handful of examples to give you an idea on how you could use it in your day to day job

In closing, I will try so summarize what I learned about personal development as I went through this process.

How I got started

Right after I decided that I want to give up on management and go back to engineering, I had no idea what I should do next… All I could think of where the things I didn’t like about my job instead of the things I liked :).

My team was (and still is) heavily involved with distributed systems (mainly batch and real-time analytics built on top of the Hadoop stack), but simply joining those projects seemed very intimidating at that moment.

I really wanted to have fun and score a few quick wins, in order to validate if I’m still on the right track…

I didn’t have any experience with enterprise Java and the system and tech stack are both incredibly complex; on top of that I am very motivated by concrete results and enjoy working on more high-level problems — none of which can be found in building and optimizing distributed infrastructure.

Continue reading