I recently user-tested a job posting for a high-meaning job. [1] Some people were very excited by the meaning, and were strongly motivated to apply. Others cared very little or not at all about the purpose; they worked because they wanted money for other things. Both are perfectly valid ways to approach work, I think, but I would handle each kind of employee differently.
[1] https://docs.google.com/document/d/1yNITCTtVh5qHPof12cSf5PWh...
Writing tests and documentation or diving deep into debugging hard issues is what I consider part of "good work" (and that I have also enjoyed doing), and I can't wait to do good work. It just has to be compatible with the rest of life. It's mostly the way we work that has to change rather than the content of the work.
I like to imagine that there is a virtual priority queue of software tasks out there, waiting to be done.
Some of it is feature development, some of it is detailed bug investigation, some of it is documentation, and some of it is user interface work.
What might be incredible would be to declare your interests and skills and start picking from the priority queue, with appropriate rewards as you progress, and at your own pace, knowing that you're contributing back to important tasks of the day. Ideally with a social safety net to allow people to enjoy life and adapt to changing circumstances.
I'm one of three directors of a small IT company in the UK and I'm feeling more and more compelled to steer it towards more innovative and societally important things. We are very small in the grand scheme of things but you will have heard of some of our customers. I am a pointy headed boss (PHB) who runs Arch Linux on his laptop and has a 3D printer on his desk. I also have a hammer drill and a set of sockets on it at the moment. That's at home.
I could probably find some jobs for you but frankly I suggest you start your own firm/organisation, do your thing and get all the rewards in whatever form that means - may not be financial. You sound very close to having a vision. Focus on what you really want to achieve and do it.
If you still fancy a chat, I'm up for it.
"You will give me interesting or meaningful work"
To be direct: this sounds entitled. Lots of growing companies don't have the resources to babysit and hand feed work to engineers. They need driven, self motivated engineers who can identify problems and help identify solutions, create and drive projects in ambiguous circumstances, that serve the businesss. It sounds like you're disconnecting from the requirements of a business to succeed in a market. I've worked on teams who got the "only give me the interesting programming tasks" engineer and they are a rot to the company. Whether or not you mean it to, that's how this pattern matches for me. Lots of work isn't interesting and is hard to rate the "meaning" of, and successful teams and companies need this work to be done by the whole engineering team.
"I like Python. I don’t like PHP and Java."
I would omit this entirely, as the language isn't related to how meaningful the work is and contradicts your previous paragraph.
"No technical interviews or coding challenges"
Again I think this shows immaturity and not understanding the needs of a business and hiring. Technical interviews do indeed have all sorts of problems, and they're generally the lesser of the evils of technical interview styles. Not every company has the luxury of "let's hire this person to figure out if we like them" and not every engineer has the luxury of "I'll do an unpaid take home that takes up my time instead." Onboarding takes time for lots of teams in a business, and getting up to speed on the domain of the business is an investment for everyone. Who you hire is one of the most important decisions a business has to make. Having a technical interview process of some kind is important, even if it has challenges to be objective with.
"I will prefer payments in cryptocurrency"
Just my personal taste, this one is an irk to me. It's a sort of removed-from-reality "I don't care about your real world taxing and accounting needs, I like crypto." Most companies flat out won't / can't do this, so it's a weird request unless you're specifically looking at a crypto company.
The great irony of this post is it's all just things you want, and not really anything about you or your skillset. The things a hiring manager or recruiter would actually look for are completely absent from this post. There's a hint with contradictions that you're looking for a mission driven company, beyond that I don't understand the point of this article. It smells of "companies, come to me, I'm special" while immediately setting limitations like "I don't like PHP." The hiring managers I know would say "this person doesn't sound like they know what they're looking for in a company, why would I consider them?" It sounds like you've already checked out from your own responsibility of understanding a company and why you might like them.
First, the author says interesting OR meaningful work. So even if it’s true that the developer won’t be interested in, say, writing documentation for a legacy steel manufacturer, this developer might be happy to do so for a good non-profit.
Second, the author never said documentation and the like weren’t interesting. Perhaps that’s true, but Francesco merely wrote that he prefers Python over PHP and had a few industries he thought were interesting.
We all have skills and industries were interested/not interested in. And I think we and Francesco generally recognize some unpleasant work must be done in any field.
well, he just slid down to "more unreasonable" with that clarification :) I can understand a "great coder doesn't want to write documentation" broadcast message, but if you want meaningful work to your standards, it's really on you to find the companies doing it and apply to them.
I would extend the common good advice to employees to this applicant: Offer to your manager solutions to problems, rather than just complaining about problems; managers have enough headaches, what they ache for are helpful employees; this also applies to hiring managers, so find a hiring manager who will want you, don't make him find you.
Personally, I'd be unlikely to hire somebody in the "great coder who won't write documentation" category. But I'm happy to help a mission-oriented person find the right thing for them, even if it's not with me. Right now I'm also going to a great deal of effort to find the right people for a role.
And I don't particularly ache for helpful employees. What I want are people who care enough about the problems to think deeply about them and find approaches to solving them that I might never have come up with. And then are intrinsically motivated to see them through. If in that process they come to me with problems, that's great. Solving employee problems so they can get stuff done? That's my job.
If your concerns are onboarding process and talking to lawyers, you would be absolutely out of your mind to hire someone who says "I'll work on stuff that pleases me when I feel like it for little money. And no tech screens, please!".
A better match is an owner-run tiny software company. "We have an open source Python client library. It needs type hints. Sound interesting? Here's a link to the repo and some docs. I'll give you $5/hr in ETH up to $100 for whatever you do by the end of Friday." Then on Friday afternoon you maybe have some type hints and pay out up to $100.
I'm picking on your comment in particular, but it's crazy to me how much criticism this guy is getting. He wants to try something new, and so many people are telling him what he should be doing, or why being on the other side of this trade is so terrible. Let's just let them make up their own minds. Let's stop trying to cram each other into little boxes.
Totally. If I retired early I'd still want to work on something. I was thinking the other day what I'd like my next job to be and it involves taking a pay cut, working on something meaningful where I can explore new things, work at my own pace (not exactly a lesser workload but when I want to), and having nothing to do with nonsense corporate structure and culture. Yes, startups are dogmatic in their own ways and would avoid those. Why am I still taking jobs like this from time to time? Because I didn't get there, I can't afford the pay cut yet. Wish me luck.
Also imagine the impact on morale of the other teammates when some primadonna gets the cherry picked work and everyone else gets the drudgery. Pay or not.
Run.
Typically this kind of setup works best when working independently. However in my experience doing similar setup in tech and other industries, many team mates have been grateful to work and learn from someone who otherwise would not work in their org or team.
It works other way around too, I would happily work in a team for much less pay if I can work with people I can learn from even if they do all the cool stuff.
Also I think he meant what kind of project he will work in not what all he will do in that project. Even if he did mean it that way, it is no different than in many regular roles where Senior ICs anyway pick and choose work they wan and junior members get the grunt work .
I enjoy writing documentation and writing tests. To me, writing documentation is like teaching others about the awesome product / features we have built, and also the different technical tradeoff decisions we had to make.
I can't grasp the mindset where an engineer builds something really cool that they are proud of, but don't enjoy talking about it / teaching people how to use it.
I look at it like this: explaining how you did the thing is part of doing the thing, so it's not complete until it's explained well enough for whoever your audience is. Not writing documentation cuts into time for doing the thing, i.e. cutting corners.
I don't really enjoy writing tests at the best of times, for example, because I've never had the enjoyment of inheriting a readable test suite. Most of the time you're looking at coverage hacks that test the runtime and, hopefully, cover some behaviour, and you're lucky if they can give you confidence through a refactoring. Mocks and stubs and spies are helpful tools but I've lost count of the amount of times that the actual purpose of the test is faked without anybody realising it.
But now, this time, there is a purpose and also organisational remit to change this situation and I'm going all in on rebuilding test architecture and writing examples of what we want to see. I'm actually enjoying something I never really enjoyed.
So it is with documentation, or dealing with bugs, or tech debt, or anything like that. It's not really about want or don't want, but why... and if you're on board with the why then it's gonna be better for you than if you're not.
That, of course, depends on solid leadership. So ultimately you're looking at how tight your org ship is.
- If I am able to focus on code, documentation or tests, I like doing it. Writing tests is sometimes lot more challenging than writing the code it tests. However context switching to difficult. I hate having to switch between the three
- The pressures of delivery makes it quite difficult to allocate meaningful time for either without cutting into scope.
- If your team does not value both to either read docs or maintain tests it become frustrating to be the only person doing it. If no one values it it can be demotivating.
- I have also seen teams either just focus on arbitary metrics like code coverage but not quality of tests or look at metrics like comment coverage/ number of lines of documentation, not whether docs are useful, how quickly someone is picking up by reading the spec, does it reduce bugs etc, quality and simplicity of language etc.
- It is a constant battle to keep both in up sync since i find it difficult to write code, tests and spec together. Once or twice a month I spend few days in trying to update both, which annoys me as they are out of date and I can only spend so much time on them.
And generally z others are as bored by that work as you, as simulated by new thing. Pretty often, the difference is not in how much you like boring parts, but in whether you are willing to do it anyway.
I agree the author hasn't emphasised those things. If I was in need of those things, I might not automatically engage with the author.
But, you've given a list of what you don't like doing - that isn't a universal list.
Given that the author asks to be deeply involved in a human-centred project, it is not obvious to me that they don't like or are not prepared to do these things.
My point is that if you're signaling from the outset that you want to cherrypick those things then I, as your employer, don't actually know what you will or won't do. I don't know if you'll follow up on tricky-to-reproduce bugs (as an example) because that's "boring".
That's just creating work and uncertainty in dealing with those issues.
In my reading of the article, I did not get the impression that the author is opposed to the specific, discrete components of the job that he found "lame".
If the demands of the article are truly impossible (socially and/or economically), then I believe that is the *point*, not a criticism of this post.
I want to be very clear: There's nothing wrong with that path. There's nothing wrong with wanting to employ people who follow that path. But making it clear from the outset that he's not going to be a match for you specifically is likely a feature, not a bug.
Having just re-read Daniel Goleman’s book on emotional intelligence recently, one important aspect to high EQ individuals is having the ability to motivate themselves to do work that may be necessary, but not necessarily glamorous or fun.
For example, ANY shop, of ANY size, is going to have issues with tricky-but-hard-to-reproduce bugs. The parent comment is highlighting the fact that they can't be sure if this sort of prima donna is going to be willing to run that issue to ground, or if they'll put up a stink about it being "boring".
Additionally, even if this person were working for free, there's a definite cost to foisting difficult bugs on your teammates.
Do you honestly believe only "cogs in a machine" should be / would be interested in fixing that sort of issue?
No but there are many types of people for whom it has no motivational value. Like they'd rather watch paint dry.
And that's their personality not something that can just be worked around.
Putting this call-for-employers out there signals (at least to me) that he can be a a really good deal if the employer takes it to task to find his complement, instead of creating a scenario where the employer gets to delegate it all wholesale to one person, regardless of their goals for growth and enjoyment. It's upstreaming the concern, and just getting to work on the things he loves at a pay cut for the inconvenience of matchmaking
As is, the signal is too weak to know if the person just wants a toy to play with (I doubt) or if they are ready for the full package because they understand it's how it should be done. Definitively a point to check thoroughly before hiring – but it would be the same for other candidates, right ?
Short version, the rest of the team had to pick up all of the things that he wasn’t willing to do. It shifted more burden to everyone else for his benefit and created a terrible team environment.
So... don't?
Are you saying ftruzzi is like a person on your team in your last company and should be avoided? I don't see why you think he'd be "like that", what that'd mean, or really what value your comment is providing. I personally would love to work with ftruzzi!
> So I would be wondering: if you're signaling you don't want to do those things, that means someone else will need to do all that for your code, which is not great for them and tends to be much worse. Like you're basically saying you want to cherrypick the parts you enjoy and not give a damn about anything else. You might say you're only costing $1/hour but the risk of a bad engineer can mean you're still expensive or a loss.
In fact, can't we go further? Is there anything interesting about it if you can just crank it out?
The interesting work in my recent memory has been about reading, learning, thinking; not cranking.
[...list of things that, as an engineer, I enjoy all of, as long as I’m engaged with the project, and none of which conflict necessarily with OPs requirements...]
Sounds like you just read your own stereotype of engineers ans what they like into that.
> You don't factor in the time cost of me or my team in onboarding you, dealing with you, dealing with your code and so on.
Well, no, nor does he factor in the potential value of his work on the other side, either. He offers to do an interview and let you, as the hiring party, factor those things in by setting a pay scale, for which the only up-front limits he proposes is that the hourly rate must be positive. Typically, that’s how factoring in value and overhead works in hiring, the hiring party, not the hired party figures them in and decides if and at what rate to make an offer.
1. If I were looking to hire someone and read this, I would immediately be turned off. Why? Because part of being an engineer (or any employee really) is doing a bunch of stuff people don't enjoy doing. This includes:
- Writing documentation
- Writing tests
- Fixing bugs
- Talking to partners about a change/launch
- Talking to lawyers
- etc
So I would be wondering: if you're signaling you don't want to do those things, that means someone else will need to do all that for your code, which is not great for them and tends to be much worse.
Like you're basically saying you want to cherrypick the parts you enjoy and not give a damn about anything else. You might say you're only costing $1/hour but the risk of a bad engineer can mean you're still expensive or a loss.
2. You don't factor in the time cost of me or my team in onboarding you, dealing with you, dealing with your code and so on. That's a big part of the filtering in hiring. People are deciding if they can justify that time investment and the opportunity cost involved.