This is too bad. I understand the business reasons for it and they make sense, but I really like using Unity. The experience feels more cohesive than anything else on Linux I’ve experienced. Before Unity, I used xmonad inside of Gnome. I’m not sure how that works these days, but I imagine I’ll have to go back to it.
you can run xmonad inside plasma4 session, and i3 inside gnome3, so I suppose making the first work with the last one is in the realms of possibility.
I mainly use Python 3 and JavaScript. I use PyCharm to write 90% of my code, with the rest in various text editors (Sublime Text, Atom, VS Code). I do all my version control, controlling processes, and searching over my code in the terminal instead of in PyCharm; I’m just more used to it that way, even if it’s more steps.
I use direnv heavily to set up individual development environments and use Webpack to compile my front-end assets.
I recently used Docker on two projects and feel ambivalent about it. I might use it more for development environments. I also used to use Emacs for about 10 years and always consider going back. PyCharm and VS Code work well for me for now, though.
fish with essentially zero configuration (some aliases and environment variables). It’s great out of the box and makes living in the shell all day even more pleasant. I don’t install it on servers – I just revert to bash there.
I have yet to hear anyone say that they enjoy pair programming all day, every day, forever.
I love pair programming — a key part of my interviews includes a pairing session — but I quite frankly can’t pair for more than about an hour at a time, tops about four sessions per day with at least two different people. That’s my personal preference.
I would be interested to know if the authors team consistently concludes during regularly scheduled retrospective sessions that everyone enjoys doing forced pairing enough to keep it a thing.
Let me be the first. :) I love pair programming, and miss it whenever I have to code without it. Doing it for a year kind of ruined me for working alone. (And I’m not an extrovert! In general, I shy away from being around people.)
I read about bad pair programming experiences and count myself as lucky that all the partners I had were really great people and invested in the process. I can see how it could go sideways.
In the past, I’ve misunderstood what “pair programming” actually means. Could you elaborate and say more exactly about what it means to you? What does your daily process look like? How did you deal with the practical problems stated, like, say, different editor configs or such?
I’m not the OP, but here is a write-up of my good experience pairing.
http://deliberate-software.com/pairprogramming/
OP here: I remember reading your article a while ago (it’s really good!). When I saw the below quote I realized you were talking about me.
A lot of days I would wish I could like it, so I could enjoy my job. I felt like I gave it a fair shot too (2 years).
Do you all have a notion of “going odd”? I probably am “odd” at least 3 sessions a week, which helps for time to think and recharge.
We did but if you’re on a team with an even headcount you’ll never go odd. I wish we could’ve gone odd more often.
Hmm that’s unfortunate.
Even with 6-10 in our office, one pair splits most of the time to handle odd work, research, or support.
Recognizing when to split pairs while still maintaining the tenet of “all production code written by a pair” goes a long way.
Sure – when I did it full time, I had the same partner for about a week at a time before switching. We worked on a project for 8 hours a day, coding for about 45 minutes at a time with 10-15 minute breaks in between. We usually were co-located, although not always. We had two keyboards and mice, and usually two monitors, and would switch off who was writing code differently depending on the partner dynamic, but it was usually pretty organic – whenever your partner was stuck on what to write and you had an idea, you’d take over.
Different editor configurations were definitely a thing that could cause friction, but I don’t see that as a bad thing. I both learned a lot about editor tricks and gained an appreciation for keeping your config as simple as possible. We mainly worked in console-based editors (vi and emacs) as we were sometimes pairing remotely.
Remote pairing was easier in some respects. Instead of using one person’s machine, which could have its own config issues, we spun up a VM on AWS from an image we made, so there was a standard base configuration.
Pairing was already a part of the culture when I originally joined, so it was actually pretty hard to get people to admit they didn’t enjoy it (politically unpopular). It was never brought up in retrospectives. That said, I’d say the majority of the people who worked there did enjoy it and it worked well for them.