?

Log in

No account? Create an account
Dec. 14th, 2014 @ 11:12 am December Days: Dream Job
This is something I've been introspecting a lot about recently, it's interesting to try to distil the latest thoughts down into written form. I've deliberately shot for the moon, on the theory that it's useful to have reference points on either side of the right answer, and build up from what's plausible and down from what's ideal, rather than only assume that you must take baby steps forward and never reach. But I'm ashamed if that makes me sound really arrogant :(

1. Hard things

Trying to synthesise what I enjoy doing and am good at, I think I like doing hard things that work. Both learning new hard things, and putting into practice hard things I've already learned. Probably slightly more to towards the practical than pure academic research, but in that direction compared to most jobs. I like understanding hard things, and putting that understanding into action.

Which all fits programming very well, yay! Other ways programming is well suited to me is that I don't like flying without an undo, and I don't like nebulous things where it's not clear if they worked or not, and you get those in programming, but lots of programming is about avoiding them.

I like building complicated systems, and then looking and them working and saying "wow".

This doesn't have to be programming. If there's a surplus of good programmers, and a dearth of good managers, entrepreneurs, UI designers, economists, politicians, artists... I could maybe do some of those things, which do involve hard, accurate thought and building systems that work. The thing I am best at and enjoy doing isn't automatically actually in demand! But on balance, I hope that actually the best programmers are sufficiently in demand that it's a worthwhile contribution to society (both in terms of contribution I make, and what I might expect to get in return).

My fantasies are still embarrassingly adolescent-mathmo, of people saying "we just couldn't figure it out, and then Jack thought very hard, and then explained it to us and now it's fixed, yay!"

And not necessarily alone, I'd like to lead creating a larger system than I can manage myself, but ideally if the work is primarily in technical design, not in communication overheads and management.

2. Making something that perpetuates

This kind of blended through from the previous point, but is different. I'm not sure how much it's something everyone would like but isn't arrogant enough to hope for, and how much it's just me. But I always want the idea of looking at something worthwhile and saying "I did that". And ideally that would go on being worthwhile when I'm not there doing it any more!

I want to make something awesome, not just do worthwhile things that get absorbed.

3. Worthwhile

Worthwhile, both in the sense of having a measurable impact, and in being socially worthwhile. I probably can't hit both of those poles 100%, but I'd like it if I could. Currently I think I'm making software which is useful, and not actively anti-social, which is generally a plus to society, but I the more my work is immediately needed (by anyone) and makes a real positive difference to people's lives, the more I would like it (although I've not really expected to be able to do that without giving up #1, unless I do it in a completely different way).

4. Respect

I'm embarrassed to call this out specifically, but it would be nice if other people recognised the other points, and generally had an attitude of "thank goodness Jack's doing this, yay" not "ugh, more Jack".

And ideally about multiple different things, not just "here's a black box with Jack in where we throw equations and coffee in and get answers out, but we refuse to discuss whether those are the RIGHT equations, or we're working towards the right goals". Like, maybe I could work with other people who are competent at other things, but are able to explain them enough in broad outlines that I can trust them, and know where they interface to my areas of expertise, and occasionally make constructive suggestions based on my work.

Like, fame would be nice but not necessary, but it would be nice if when I told people what I'd done they said "wow, thank you" not "boring" or "why bother".

I'm embarrassed to list this because it feels like I shouldn't care, and that it's not something you're entitled to ask for, just to get or not. But this is list of things I'd like, not necessarily things I deserve.

5. Financial security

Talking it over with Liv, I don't want more money in the short term, my lifestyle has mostly reached a level I feel sufficient. I only want a larger salary because it represents respect and job security: that people should pay you what you're worth, and if they don't, and there's no specific reason for that, even if it's not bad for it's own sake, it's a pointed reminder that you don't have as much control over your own life as you aspired to...

And, linked to the previous point, respect from friends and peers, not just employers, which shouldn't depend on money, but I feel like everyone always assumes I'm a loser because I don't have anything obvious holding me back, I don't have an obvious disability, I don't have a family, I didn't deliberately make a trade-off to do something I thought was worthwhile, and yet, I'm not wildly financially successful :(

However, there are ways earning lots of money would make a lot of difference, not in terms of getting a better lifestyle, but in terms of preventing it getting worse. Enough of a cushion that if I lost my job, I wouldn't need to worry at all, or that if I decided that I'd rather spend two years developing some piece of software I thought was worthwhile without being beholden to investors, I just could. Enough that if some other disaster happens, to me personally or my financial situation, I can ride it out. Enough that I don't need to worry about my lifestyle when I need to retire, or if my parents need a lot of support as they get older. Enough that if Liv needed help I could give it.

And lots of small ways that a superfluity of money would not enable me to be decadent, but would make lots of things easier. Maybe I'd like to spend a month every spring or summer working from the med coast. Maybe I'd like to spend six months living in a completely different country to see what it's like. To split my time between Cambridge and Keele however I liked, or to be able to stay somewhere else for a week working from home without worrying about arranging accommodation, negotiating leave, etc. I'd like to not waste time on all the little things that waste time every week, if I could just buy my way out of them. Money can't be immortality -- but it can buy more life, by removing time spent waiting for buses, wrestling with bureaucracies, fixing problems, etc, etc.

6. Good process

It would be nice to work somewhere with a clear shared understanding of what we're trying to achieve, and measuring success working towards that. Including a clear sense of achievement and progress; clear decisions about what we're doing and not doing, not just assuming that everyone that some things will never be finished; that we'll be realistic about important goals and have stretch goals and actually MEET them, not always have too-ambitious goals that we fail every single time.

I work so so so much better when I've got something to work towards, not swimming in shared and unshared assumptions...

Moving from the general to the specific, from a software point of view, it would be nice to have all the obvious good practice:

* requirements
* unit tests and release tests
* coding standards
* clear procedure for committing, building, releasing
* nightly builds, fast builds
* DVCS
* agile-ish (but not too scrum-y)
* clear process for bug database
* as much communication as needed (hopefully daily), but not endless rehashing
* etc, etc

7. Low but not zero hectic-ness

I hate sudden disasters, especially ones that everyone thinks, or I feel, are my fault, because I didn't have enough control over how much advance planning to do. (That doesn't mean, I think everything should be polished until it's perfect, it means there should be a positive decision on how much to prioritise perfection and reliability, and if that's underchanged, we should budget for future problems coming to light, not just treat them as bolt-from-the-blue "oh look, Johnny McWeDidn'tAllowHimToTestOrTellHimTheRequirements fucked up again,")

But I do like a certain amount of handling real-time response, when I have the freedom to anticipate it and assign priorities, because I like the satisfaction of doing it well and not panicing :)

So, ideally, not big one-shot events which succeed or fail, nor constant fire-fighting, but maybe rapid and flexible release cycles? I'm not certain of what I DO want, but I'm certain of what I DON'T want :)

Specifics

If I put that together into a little story, how might it go? Someone comes to me and says "I was talking to a mutual friend and I plan to do [socially constructive thing], but in order to do that, we need to do [hard things] and it seems like your experience and ability to learn new things rapidly would be perfect. I've a lot of experience with [field] and with hiring good people, but not with building software. I'm thinking of several other good people, but I'd like your input on them. Can you handle a small team of committed techies? No problem if you think someone else would lead better."

"We don't have infinite money, but we have resources to tap for anything that seems important, and we don't want to scrimp on day-to-day comforts for the team. Most of the time you should probably work from Cambridge, but you'd have to travel occasionally and you can arrange it however you like. You'd have [some fancy job title] and a [serious salary], plus a significant stake in the success of the organisation."

"The code should probably be open source, because it might be useful in other fields even though the real advantage in what we're doing is the people not the code base. Is there anything else you think I should know?"

I also note, I'm mostly agnostic whether the organisation is a new department in large company, a start-up, a non-profit, or something else -- I think any of those can fit the role of "doing something worthwhile".

You can also comment at http://jack.dreamwidth.org/924502.html using OpenID. comment count unavailable comments so far.
About this Entry
jack
[User Picture Icon]
From:ghoti
Date:December 14th, 2014 03:34 pm (UTC)
(Permanent Link)
WRT #5, a thing I didn't understand until we got to filthy rich status ourselves was how much it's good to be able to pay more tax. That's definitely a benefit of our model of one partner gets all the money, too; if we split Colin's salary in half, we'd pay a lot less tax and that would be bad. And maybe it would be *better* to live in a less capitalist society, but that's not where we're at so working within it it's nice to be able to contribute more like that. ANd I'm definitely not suggesting that this works for everyone, but it's nice that it does work for us.

#3 sounds a lot like working in free software to me, but maybe I'm just brainwashed.

#7 seems like basic good practice, and I'm sorry it was necessary :( similarly #4. I mean, obviously I think you're awesome and would like to know more about what you think and learn from you, and ditto my family, but it seems like any job should have that. Like, you seem to be talking about the level that I was getting at 18 picking flowers, not necessarily at any more convulated level, although that would be good too.


Anyway, I hope you get this, it sounds nice, and not completely outside possibility.
[User Picture Icon]
From:cartesiandaemon
Date:December 15th, 2014 04:11 pm (UTC)
(Permanent Link)
#3 sounds a lot like working in free software to me, but maybe I'm just brainwashed.

I think free software is definitely a good thing and has done a lot of good. But if my ambitions are to have software that is actually used and doesn't just languish in good intentions, and isn't just useful, but goes out and metaphorically smashes the oligarchy, that's not automatically fulfilled just by being free, even if being free is often more socially beneficial.
[User Picture Icon]
From:ghoti
Date:December 15th, 2014 04:37 pm (UTC)
(Permanent Link)
Oh, yes, I didn't actually mean 'free software will automatically fill all your desires' but rather 'this might be a good sector to look'.

Actually, I think my preferred job for you is benevolent dictator of the world, because you're similar politically to me and then I don't have to do it, but I don't think there's an opening.
[User Picture Icon]
From:cartesiandaemon
Date:December 15th, 2014 05:31 pm (UTC)
(Permanent Link)
Oh oops, sorry! Then yes, that eminently makes sense, I imagine people who are passionate about something worthwhile are disproportionately likely to be doing it in free software somewhere and that's a good place to look for them.

I think my preferred job for you is benevolent dictator of the world, because you're similar politically to me and then I don't have to do it

*hugs* I thought the same thing about you!

I'm not certain how much our current leaders are screwing up because they have (IMHO) the wrong priorities, and how much because they're stuck in a system which enforces the wrong things and I couldn't make the changes I'd like to make if I was in charge. (In the current system, not necessarily as dictator.)

I did consider considering that at the start of my post, but I decided to concentrate on what I'd _like_ to do. And temperamentally, if no-one else can do the dictator-of-the-world job, I'd rather try it, than let someone screw it up, but I'd _rather_ that someone else shared my priorities but were temperamentally suited to it.
[User Picture Icon]
From:ghoti
Date:December 15th, 2014 05:47 pm (UTC)
(Permanent Link)
'd _rather_ that someone else shared my priorities but were temperamentally suited to it

Yes!

'm not certain how much our current leaders are screwing up because they have (IMHO) the wrong priorities, and how much because they're stuck in a system which enforces the wrong things and I couldn't make the changes I'd like to make if I was in charge. (In the current system, not necessarily as dictator.)

This is a big problem, and one I've spent some time considering. My personal tutor was big on me being Britain's great hope, which was sweet but ultimately misguided, so this is an argument I had a lot with him, half a lifetime ago.


(er, the userpics aren't relevant I just noticed that I'd used one from Norway and one from Iceland and went round filling up with Denmark and Sweden for Scandinavian completeness.)

Edited at 2014-12-15 05:49 pm (UTC)
[User Picture Icon]
From:cartesiandaemon
Date:December 15th, 2014 04:14 pm (UTC)
(Permanent Link)
#7 seems like basic good practice,

*hugs* That's not just whining, some jobs are inherently hectic -- if you're an emergency responder, or an air traffic controller, your job WILL include dealing with emergencies. But it can also be caused by bad organisation. So I don't want to rule it out automatically, but I would indeed like to not have artificial emergencies... :)
[User Picture Icon]
From:ghoti
Date:December 15th, 2014 04:36 pm (UTC)
(Permanent Link)
I certainly didn't think you were whining! I meant not treating things as your fault when actually it's not, rather than 'there should never be emergencies'. I mean, I think there will always be emergencies in any job - even if shelf stacking at Tesco means the most likely emergency is 'broke an entire bottle of balsamic vinegar' (um, that one *was* my fault because I should have taken more time stacking glass jars on high shelves) - and some of them like 'I came into work and discovered a pregnant hedghog on my desk' (not mine, thankfully, but a coworker who'd dealt with hedghogs before) are completely unforeseeable - but how they are dealt with is the important thing. I think.
[User Picture Icon]
From:cartesiandaemon
Date:December 15th, 2014 05:42 pm (UTC)
(Permanent Link)
*hugs* I'm sorry, I tend to worry too much, so I tend to overcompensate by describing _any_ complaint as whining, just in case I'm doing it too much... But I think that actually doesn't really help and I should break myself of the habit.

And also, I think I disproportionately resent it when I think something's wrong, but I can't do ANYTHING about it, so I sometimes make my current job sound quite bad, when it's actually quite good, because the things I can't fix get blown out of proportion. I think most of the time, it's not that other people ACTUALLY blame me, it's that I think (and I think I'm right, but I'm not sure) better procedures could prevent problems in advance, pretty much without costing more time, so whenever something goes wrong, I feel like I've completely failed :( But in fact, everyone just expects that level of errors and doesn't think worse of me for it, whereas I think every "you should have done X not Y" has an implicit "and you should have KNOWN that" tacked on, even if it doesn't :(

*hugs* Thank you for helping talk it out, I think actually spelling it out makes me realise the true situation a lot better.
[User Picture Icon]
From:ghoti
Date:December 15th, 2014 05:48 pm (UTC)
(Permanent Link)
I can't say whether you're complaining too much or not, because of not following you around taking notes :P but it doesn't seem too much to me.

Anyway, I'm glad that you feel better now and am always happy to listen.
[User Picture Icon]
From:cartesiandaemon
Date:December 16th, 2014 01:12 pm (UTC)
(Permanent Link)
*hugs* *hugs* *hugs* I think, if I'm honest, it's that the problems are real, but if I focus on them too much, it makes them feel completely insurmountable, which then prevents me getting anything done.
[User Picture Icon]
From:ghoti
Date:December 16th, 2014 05:51 pm (UTC)
(Permanent Link)
That sounds familiar *hugs*
[User Picture Icon]
From:andrewducker
Date:December 14th, 2014 05:17 pm (UTC)
(Permanent Link)
I'm curious as to what you didn't like in Scrum.
[User Picture Icon]
From:cartesiandaemon
Date:December 14th, 2014 06:32 pm (UTC)
(Permanent Link)
I don't have any firsthand experience, so it might be completely wrong, I would be interested to hear more people describe their experience. I heard a stereotype that scrum had a tendency to be buzzwordy and often follow superficial agile processes, while not necessarily actually doing the things that were most worthwhile. That sounded plausible to me, but I've no experience of it (and even if true, it presumably could be done well).
[User Picture Icon]
From:andrewducker
Date:December 14th, 2014 09:06 pm (UTC)
(Permanent Link)
Scrum itself isn't bad. It's all fairly obvious stuff (do work in short "sprints", make sure you're doing the right thing at the end of each sprint, have a quick check-in with the whole team each day to make sure nobody is stuck, keep track of how much stuff has been done and use that to work out how fast you're going).

It _is_ abused by companies, who buy in to the form but not the ideas behind them.
[User Picture Icon]
From:cartesiandaemon
Date:December 14th, 2014 10:29 pm (UTC)
(Permanent Link)
Yeah, that may be what I'm seeing -- not that scrum is automatically bad, but because it's commonly misused, that might be as or more high profile as it being done well.
[User Picture Icon]
From:pw201
Date:December 16th, 2014 10:52 am (UTC)
(Permanent Link)
I've found that the planning meetings are tedious and annoying to teams who've previously been used to getting project managers to do all that stuff. Scrum does push some of what had been project management onto the team, and they don't always like that.

Also, at some point in the Scrum fad at my previous employer, there was an idea going around (as the teaching of some Scrum trainers, I think) that it was bad for a single person to work on a story. Again, if you've been used to being left to get on with it, that can be annoying.
[User Picture Icon]
From:andrewducker
Date:December 16th, 2014 08:04 pm (UTC)
(Permanent Link)
"Scrum does push some of what had been project management onto the team, and they don't always like that."

My view would be that this is a feature, not a bug. Teams should be heavily involved in the project, understand it on a wider level, and feed into the planning/scheduling. The idea that management, who are by definition further away from the work, will know best is a pretty silly one.

(Management provide constraints, communication channels, and external resources - I'm not saying they have no use at all.)
[User Picture Icon]
From:captain_aj
Date:December 15th, 2014 01:27 am (UTC)
(Permanent Link)
The industry and blogosphere that has grown up around scrum is laden with bullshit and circle-jerking, which is how you get the impression you do. Steer clear of people who have paid actual money to be "certified" as scrum masters.

However, it's a lot nicer to witness/experience scrum being adapted and practised in reality by smart people.
[User Picture Icon]
From:chess
Date:December 14th, 2014 07:22 pm (UTC)
(Permanent Link)
I am kind of sad to hear that this is shooting for the moon, because it all seems pretty practical and down-to-earth to me (although getting 3 in the same place as everything else can be rather difficult, especially 5 and to some extent 6 and 7). I know we're not perfect but I kind of think everything but the full-on version of 3 (and higher values of 5) are things I expect the developers where I work to expect - so they don't strike me as being anywhere near the moon...

Edited at 2014-12-14 07:22 pm (UTC)
[User Picture Icon]
From:mair_aw
Date:December 14th, 2014 09:33 pm (UTC)
(Permanent Link)
Respect

idk and I guess it's not quite what you meant, but people knowing and appreciating what you are good at can save a lot of jumping up and watching someone else trying to do something hard that you know you can do, while you are sent off to do housekeeping again because they haven't twigged that you are better than that. Or watching something not happen because nobody realised there was someone around who could do it.





[User Picture Icon]
From:cartesiandaemon
Date:December 14th, 2014 10:27 pm (UTC)
(Permanent Link)
Yeah, that...