Itamar Turner-Trauring writes about software careers, part-time work, work/life balance, burnout, and Python programming problems.
Commenters use it as a source for advice on negotiating part-time or shorter work arrangements and recommend its posts on negotiation.
I wrote a blog post on tool mastery a few days ago, mostly in response to an egregious article named "You are not your tools"[0], but also to write down some of my recent thoughts on this topic[1].
I agree with the OP that internalizing a tool changes your brain for the better. Everyone knows that learning a new language (human language) expands your brain and improves your ability to learn more languages. Let's continue this example, just to make things clearer. Mastering foreign languages is not a cakewalk, despite scattered marketing claims that you can do it in a year or even three months. From the OP:
> Just having a passing familiarity with the tool doesn't empower you.
You can't learn Korean just by visiting Korea and waiting for osmosis to take effect. Even people who live in foreign countries for decades fail to learn the language if they don't put in the appropriate effort -- I've seen it happen. But "You are not your tools" makes the following dim-witted assertion:
> Spend your time listening and learning from everyone, whatever tools they use: most skills will transfer just fine.
That's exactly the opposite of what you should do. You will internalize nothing with this plan, nothing will "transfer" (if anything you will have interference[2]), and you will just end up like so many other mediocre programmers I see. Anyone who's learned a foreign language knows this -- you need skillful Practice and Concentration. Trying to learn two languages at once takes more…
Itamar Turner-Trauring latest Software Clown newsletter¹ (#105) was about this. The author wrote about a similar story where a company he worked at changed as it grew and layoffs were made.
He concluded with some really good points:
| I came away from the experience unable to commit myself to a company. In part this was an ethical stance: who controls the company can change, and change quickly. So loyalty to a company meant committing to follow people who shouldn't be followed, not because authority is inherently bad, but because in most companies authority cannot be rescinded by the workers in its power.
| But it was also an emotional reaction: I'd put a lot of myself into my job, only to see my work—and my friends' work—destroyed in an incompetent power grab. I didn't want to go through that again.
| The thing about loyalty, though, is that it's motivating: you give your loyalty because you want something or someone to succeed. So if you're past the point of pure survival, where do you find motivation if not in loyalty?
| Eventually I came round to solidarity, a thornier path than loyalty. Loyalty is simple, because it starts with an answer: your country, your cause, your company, your friends—above all. Solidarity is complex, because it starts with a question: beyond yourself, beyond your friends, beyond your cause, beyond your country, what ought you do to help everyone?
¹ https://codewithoutrules.com/softwareclown/
Typically this ends up involving a salary cut, yes.
However: the point is to negotiate. And if you're negotiating you can also negotiate other things at the same time. Including your pay.
For my book on negotiating a shorter workweek (https://codewithoutrules.com/3dayweekend) I interviewed multiple people, and I've also heard from readers who successfully negotiated shorter workweeks, and a common theme was that they also negotiated a higher salary while they were at it. Or switched to higher paying jobs, etc.. So even with 20% reduction in pay, they still did OK.
If you're already a great negotiator you might be at top of your expected salary range—but then if you're a programmer at the top of your salary range you're probably in good shape financially to reduce your pay a little.
I love working on user-facing stuff! It gives me the chance to learning about interests, human behaviour, interaction, etc.
But I think your main issue might be about keeping learning. Personally, specially since I never studied CS (Industrial Engineer bachellor here), I loved reinventing the wheel about programming while at university for fun. I made a bootstrap and jQuery clone that ended up quite popular. Since I have finished, it has been more difficult because of time and energy, but here I am, reading HN while working on my robot before sleeping.
I have given it a thought to ask for part-time working next time I am looking for a job to be able to focus on my passions on ny free time: https://codewithoutrules.com/2018/01/08/part-time-programmer/
a similar arrangement is of great interest to me.
I've found one or two resources online [0] that discusses how to set up an arrangement like this, as it obviously requires some delicacy and evidence of competence, etc.
I am quite junior in the industry, but I am working in the direction of an official four-day work week.
I wonder if you might be able to share some resources that were useful to you, in working in this direction.
Thanks, /u/GordonS!
[0] https://codewithoutrules.com/saneworkweek/
start full time, than ask your boss. At least down to 4 days/week is often easy that way.
so far the only easy career-friendly option I found.
Maybe freelancing can work, but that's something else all together. Maybe you can find a startup with limited funds.
If you need some encouragement: https://codewithoutrules.com/2019/05/09/part-time-software-developer/ (also pushing his 50 bucks book about the topic, but maybe it's even worth it, idk...)