You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
2.0 KiB
44 lines
2.0 KiB
5 years ago
|
+++
|
||
|
title = "Things I Learnt The Hard Way - Companies Look For Specialists But Keep Generalists Longer"
|
||
|
date = 2019-07-17
|
||
|
|
||
|
[taxonomies]
|
||
|
tags = ["en-au", "books", "things i learnt", "jobs", "specialists", "generalists"]
|
||
|
+++
|
||
|
|
||
|
If you know a lot about one single language, it may make it easier to get a
|
||
|
job, but in the long run, language usage dies or loses its charms and you'll
|
||
|
need to find something else. Knowing a bit about a lot of other languages
|
||
|
helps in the long run, not to mention that may help you think of better
|
||
|
solutions.
|
||
|
|
||
|
<!-- more -->
|
||
|
|
||
|
Even if you're in a shop that is mainly in one single language, that's no
|
||
|
excuse to not check other languages. But, then again, learning languages that
|
||
|
are just small changes on the current language would not help you either.
|
||
|
|
||
|
Alan Perlis, author of the ALGOL language, has one excellent phrase: "A
|
||
|
language that doesn't affect the way you think about programming, is not worth
|
||
|
knowing."
|
||
|
|
||
|
I still maintain one single rule for programming languages: The language I use
|
||
|
at work must not be the same language I use outside it[^1]. That simple rule
|
||
|
made sure I was always learning something new.
|
||
|
|
||
|
Learning a new language can also help you understand things in some language
|
||
|
you used before: Rust help me understand how generics works in Java; seeing
|
||
|
how to do dependency injection in C++ help me understand how Spring does it in
|
||
|
Java.
|
||
|
|
||
|
On top of that, because I was always learning something new, moving between
|
||
|
projects was something that happened a lot. At one point, I was hired to work
|
||
|
with Python, but the contract was taking too long to be signed, and my manager
|
||
|
asked if I could help some other team with their iOS application. Because I
|
||
|
did learn a bit about Objective-C, surely I could help. Later, another project
|
||
|
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") }}
|