
Avoid Working Alone - mooreds
https://letterstoanewdeveloper.com/2019/06/24/avoid-working-alone/
======
debatem1
I think this advice is given in the right spirit, but is potentially
completely wrong.

I agree that it's extremely important to work in high-performing teams, or at
least teams that are really good at something. That's true whether you're new
or not, since by definition the team of which you are a member will have more
aggregate impact than you will.

But working alone is critically important for all the pieces of the
development process that aren't technical. Learning to represent yourself and
your ideas, execute on the effectively, and drive them to completion without
help-- those are the skills which will consistently produce success and whose
lack will consistently produce failure. And IMO, you only really learn them
when you're on your own and in the crunch.

So if you feel like you have those skills, seek collaboration and the wisdom
of crowds. If you don't, I think you're better off seeking challenge and the
risk that comes with it.

~~~
mooreds
I appreciate the feedback (author here).

The blog is explicitly aimed at new developers. For them, I think working
alone is a really tough spot, because they're going to have a hard time
learning on their own, they won't have anyone to bounce ideas off of
regularly, and they won't have someone at work to mentor them.

For developers later in their career, I think your advice is spot on. I
remember lying on the ground struggling to solve one of the hardest problems
I've ever tried to solve (as co-founder of a startup) and I'm proud of that
solution. Having someone there would have helped, but wasn't required and
probably wouldn't have helped me grow as much.

~~~
PopeDotNinja
I've been a professional developer for about 5 years, and I've never seen
great professional mentorship. In my experience, one should plan on working
alone, and look & hope for good mentorship. For my first job, I was lucky to
get a single offer, and that meant I didn't have much of a choice in what kind
of learning & earning potential I had.

~~~
thothamon
In my career, I've had a handful of occasions where someone mentored me. When
they do, you can learn very, very rapidly.

But as good and valuable as that is, I think everyone needs the experience of
solving multiple, hard problems mostly using books and the Google machine. You
can never be senior until you can solve hard problems without someone holding
your hand.

~~~
alisonatwork
A good mentor should know when to suggest to the mentee that the next step is
reading a book and solving a problem themselves.

~~~
wolco
You are lucky if you get to bounce ideas off of someone. The relationship you
describe doesn't exist between peers and reminds me of a teacher student
relationship.

~~~
detaro
> _reminds me of a teacher student relationship_

... isn't that by definition what a mentor-mentee relationship is?

~~~
wolco
That's the classic example but doesn't apply because in a teacher student
relationship there is a level of trust and control with each person at a
different level.

If you find someone to mentor you in programming and they are on your team at
work you are more like peers. Equal and in some cases the mentor becomes the
mentee when another subject is in focus.

It's more of a peer to peer relationship.

------
mattnewport
I've always learned more from books and the Internet as well as just trying to
figure things out for myself than from colleagues, despite having worked with
some very smart people. I have learned some valuable things from coworkers but
if I had to pick just one there's really no contest. I can also think of many
occasions where taking what a coworker told me at face value without doing
some independent research myself would have led me to learn bad practices or
outright falsehoods.

This might depend on the individual but without seeing some empirical evidence
I'm not convinced that this advice is that useful.

------
lacampbell
One advantage of working alone is that you will inevitably be closer to the
business, its product, and its users. To me that has been worth more than
working with a high performing development team. I am not in a US tech center,
my road to decent compensation is not being a brilliant technician in high
paying companies.

I do notice in technical arguments on the internet I often seem to come out of
leftfield. It took me a while to realise it was because people in larger teams
have an entirely different perspective when it comes to tools and technology.
I need a Toyota and they need an Airbus.

~~~
pbourke
> I need a Toyota and they need an Airbus.

This is a great point - “horses for courses.”

The interesting thing about our industry is that give it 10 years and your
Toyota will get you and 150 of your friends from LA to NYC in 5 hours.

If you stuck with Rails and Postgres for the past 10 years, your “solution
power” has probably expanded nearly 10x due to improvements in the hardware
and software ecosystems. That’s just one example - pick your stack and the
statement probably applies.

------
asdfasgasdgasdg
> I suggest that the first job you take be the one with the highest learning
> potential, not the highest earning potential

I don't know about the advice to take the job where you learn the most. It's
great advice for startup founders and company owners who can get naive young
new graduates for below market rates. Not so great for the graduates
themselves.

See, jobs that pay a lot are typically demanding of your intellect. You're
going to need to learn a lot to do them well. But beyond that, you have
limited time on this Earth. If you've decided you're going to trade some of it
away for money, it seems wise to make sure you're getting as much back in
exchange as you can, other things being equal.

I've known a number of people who did the naive, idealistic thing and worked
for a string of startups in their twenties and early thirties. But,
inevitably, most of those companies end up failing -- that's the most common
situation -- or paying out what amounts to a nice bonus after years of high
risk, high stress, labor paid below market rates. BTW, that second scenario is
the 99% best case scenario.

Sure, if you're this person, you've had some exciting times. But you didn't
own those times. Those were the founders. You were just working for the owner.
And now you've finally wised up, but you're ten to fifteen years behind the
ball on saving for retirement or a house.

A lot of young people really can't understand how big of a problem it can be
to just be getting started on this stuff in your late thirties. It seems like
you have all the time in the world, but you really don't. Fortunately, in
software engineering, we're paid so well that a frugal person can do a lot of
catching up. But if things don't go nominally, shit can get rough.

Just throwing this out there. I think the "work to learn" advice is
idealistic, but I don't think it necessarily serves every potential recipient.
Or even most of them. If you don't have family money to fall back on, consider
putting on your life vest by putting in a few years getting paid as much as
you can, _then_ consider whether there's something that's missing from your
career that could be served by taking the high risk, learning-focused job. Or,
just jump right into founding companies. But don't work for below-market rates
and a tenth of a percent for a startup founder who probably has a trust fund.

~~~
thothamon
I think Steve Jobs said the only way to be great at what you do is to do what
you love. And I would add the only way to really amp up your income is to be
as great as you possibly can be at what you do, and always look to be better.

I had a couple jobs I took mainly for the money. They were soul-deadening.
Maybe some people can handle that, but for me it's a recipe for burnout.

The interesting thing is I made, by far, the most money running my own company
and doing work I actually enjoyed.

~~~
bigred100
I’m sorry if this is extraordinarily offensive, but my understanding is that,
putting aside his extraordinary success in business, Steve Jobs was a mentally
ill manipulator and child abuser. I don’t see why I’d put that much weight in
his advice on things beyond maybe the above.

~~~
thothamon
I'm not offended. Steve Jobs was unquestionably a flawed person, but also a
genius. I personally try to learn from everyone, even people who may have had
grave flaws.

------
enneff
When I finished high school I interviewed for a couple of programmer jobs and
was offered both. One was a spot on a technical team which paid quite little,
the other was a role where I would be the sole technical person which paid
much more. I took the former job without much deliberation, and it turned out
to be one of the best decisions I have made.

When you’re new to the field it’s better to work with others than alone. Even
if the others are terrible at their jobs, you can learn a lot about what not
to do.

------
jayd16
I'm not sure about this. It might be best for some but not for others. The
most I ever learned was on a train wreck of a project where management decided
to do a large rewrite compounded with redesigns and growing scope. I was the
sole Android dev replacing a team of contractors. The only good thing about
the turmoil was how many chances I had to iterate on things and redo them from
scratch trying new patterns. I was the only dev but the product, design and QA
teams reviewed the results of my work. It meant I could be courageous in my
engineering changes but still grounded by product reality.

I wouldn't recommend this as a way to do business but being paid to crank out
feature verticals only to throw them away and start over was a big learning
experience.

I've also had experiences more inline with the article as well but it's not
the only way to learn and might not be the best even if it's a common, low
risk way to learn.

------
spicyramen
To truly succeed as developer, you need feedback, I mean team and actionable
feedback: code reviews, stand-ups, design doc reviews, etc. When you are able
to explain your ideas to a group _most of the time_ you grow, as you need to
make sure you are doing your due diligence when you present your work.

------
unnouinceput
Quote: "Dear new developer, I suggest that the first job [...] even if they
are new as well, will elevate you."

Hell no! This is wrong and I've seen it plenty of times. Dear new developer,
go glue yourself to a senior one, make him your mentor and you'll learn a lot.
Also a team of only new ones tend to rely on stackoverflow and will result in
bad practices in the end. Dear new developer, avoid teams where you have no
mentor to learn from. Also, while you're around your mentor, don't pester him
before you applied "the rubber duck" technique on your question/problem.

------
thrower123
Working alone is the only way to actually get anything done. You have to learn
how to do it, if you are going to be in software for the long term.

------
verisimilitudes
This is bad advice.

 _I suggest that the first job you take be the one with the highest learning
potential, not the highest earning potential._

The only reason anyone works under another in this modern system is for money.
Anyone who claims otherwise is stupid or lying. I'm forced to consider the
motivation for giving this _advice_ to new blood looking for employment and
it's obvious.

I work alone and I've learned a great deal with _only_ books; note I mean work
and not employment, here. Building empathy in the context of employment is
only useful for promotions or continuing employment and I disagree with this
notion that every programmer must, for some reason, become more empathetic,
usually meaning capitulating to certain others, as if all programmers are
lacking empathy.

As for your advice to join an online community, it's not bad on its face, but
the particulars could be improved, I think. An IRC channel is a good choice;
Reddit or Hacker News aren't; those two, in particular, are only useful for
self-promotion, as they mostly discuss things happening elsewhere and only
even that briefly; conversations don't last months or years in these places;
they're unsuited to discussions not based around self-promotion, for the most
part; the goal is to have one's link on the front index or collect Internet
points, generally. The only reason I have an account here is to promote my
work, and I've had some success.

As for an Internet community and making mistakes, you'll feel no shame if you
simply use an anonymous form of communication. Imageboards are good examples.
You can ask a silly question or make a mistaken claim and you don't suffer
social stigma, because there's no identity to start with.

~~~
friendlybus
You're not cold blooded like a shark. You're a frozen rock.

There are many reasons to be an employee. Prestige, social connections,
stability, interest, passion, learning and more.

Empathy is not a form of capitulation. Solipsism can be a detrimental.

You talk mad game about what your purpose is posting here, self promotion and
all that, but your post is both contrary to that goal and has it's own story.

Even on imageboards you have an identity. You just don't have particular kinds
of consequences. Stay off them, they aren't your social skills crutch.

~~~
verisimilitudes
_You 're not cold blooded like a shark. You're a frozen rock._

I understand the metaphor you're making, but how was I trying to be cold to
start with?

 _Empathy is not a form of capitulation. Solipsism can be a detrimental._

What I meant is this article assumes someone employed as a programmer needs
more empathy and how that's a poor one. In an employment context, I figure
empathy will usually be a method of extracting more resources out of an
employee, which is what I meant by capitulation. It would be nice to be
solipsistic, but I don't feel like creating any startups that violate laws and
kill people for my benefit.

I don't talk _mad game_ and I'm merely being more honest about my purpose here
than I feel others are. The only reason I made an account here is because my
work was ignored and that displeased me, but the one who originally uploaded
my work, in pursuit of Internet points, was no longer doing so and so I had to
do this myself. My work has received some attention now, but I'm stuck with
this account and its posting history, so I continue with it.

 _Even on imageboards you have an identity._

It depends on how careful one is.

 _You just don 't have particular kinds of consequences._

Is that intended to be a negative aspect? Free speech is freedom from
consequences thereof and it's great for a beginner to learn the ropes without
an identity, even if the beginner does eventually start using one.

 _Stay off them, they aren 't your social skills crutch._

I don't understand what your point in writing that is. I can't tell if you're
trying to give advice or are trying to make demands of me. In any case, I'll
continue using them.

I see an amoitnga has also been downvoted for implying that money isn't the
ultimate and only pursuit of employment. You could argue that's due to his
tone, but I understandably take a more somber view of why that view would be
disliked.

~~~
friendlybus
>Only work for money & anyone who claims otherwise is stupid or lying.

This refutes the topic we are talking about "avoid working alone" which allows
a space to defend working with others. You are free to refute working with
others all you want, but going straight to "you're stupid and lying" as a
refutation is going to put people off.

>I work alone and do amazing things only from books.

I'm sure you do.

>Empathy exists for money or corporate ascendance.

There's more to empathy than money, and going straight to 'empathy is all
about making others capitulate' whilst possibly true from some perspectives,
is basically the most anti-social stance you could take. Which makes it more
uncomfortable in the context of the overall thread and your previous
information.

You then take a strong stance against Hackernews, the site you are supposedly
posting on and implying most people are here to self promote, or at the least,
receive self-promotion posts. Again a very hardline stance against more
charitable and warm social stories. It may be true about HN, idk, but saying
it nicer or how it could be improved would move how it feels away from a
faceslap and towards a legitimate discussion.

You then sing the virtues of being able to make social mistakes on imageboards
and the benefits of avoiding social stigma in favour of not having an
identity. Another pretty anti-social claim. No skin in the game, just a place
to sh*tpost and hide in darkness. Which can be beneficial, but again it's
pointing your post in an uncomfortable direction. And giving you a catch-all
excuse for being anti-social. It's the fault of posting on HN that social
mistakes are punished.

All these things combined with a gut feeling judgement of your character
(pretentious username? only interested in work?) leaves me in a place where I
can't push back without breaking something. So I'm gonna break normal/polite
conversation and just highlight stuff you do.

Yeah americans have an edgelord thing, which seems like an easy label or
compression of some ideas into one thing. Idk how to apply it, so I'm staying
away from it.

If you can defend all those ideas you like (empathy about money and
capitulation, working alone is good, ect) please be my guest, but don't assume
we're only here to discuss ideological commitments or debate ideas at the cost
of walling & burning off absolutely everything else, like politeness or the
thread's second half to the discussion 'the benefits of working socially on
it's own merits'. Where do I have an opening to discuss with you the ideas
without voicing how uncomfortable what you said is?

~~~
verisimilitudes
Again, my positions on empathy and these other things are only being presented
in the context of employment. I'm not trying to argue empathy and whatnot in
general is detrimental, only in this context.

Hacker News was originally Startup News and there's no improving it, per se,
as several of the issues are inherent in the model, such as how discussions
don't last long and almost every topic is from an outside source. This will be
my third and last reply, I'll let you have the last word, and you can't have
much conversation with just three responses. Hacker News isn't based around
starting much real and deep discussion, by design. It's a fundamentally flawed
model.

For the record, I don't go around making bad messages on imageboards. I'd much
rather write good messages. My username doesn't seem pretentious to me and I'm
not only interested in work, where work is defined as making progress on my
own projects; I also read and other fun things.

I won't deny that America has major social issues, some of which are inflicted
at birth. I can't do anything about that, though, and realizations such as
that are the true test of stoicism and the like. Again, I was only discussing
these things in the context of employment. I don't know how it is elsewhere,
but American employers can fire at-will and whatnot and the only reasonable
way to treat them is to act solely in one's self-interest, unless perhaps you
personally know the man. There's no value in not pursuing self-interest with
an employer you don't intimately know and which, despite all of the fluff,
doesn't care, and yet people in this discussion are advocating about how those
darn kids recognize this for what it is and don't want to get paid in
experience or knowledge, but focus on money, instead. Money is worthless if
you don't have anything you want to buy and more and more people, including
myself, want the minimum amount to live decently comfortably and that's it.

 _Where do I have an opening to discuss with you the ideas without voicing how
uncomfortable what you said is?_

You may have the last word in this discussion. If you care to go beyond that,
I've an email address I host you may find and then send mail to.

~~~
friendlybus
It baffles me you see no place in our conversation to acknowledge the effect
of your words on others. You got downvoted (not by me) and I've explained to
you one reading or interpretation of your post. And you've ignored the central
theme that came up 3 or 4 times about how your post feels to read and how it
can be antisocial. It's wrong to ignore what I wrote and still reply anyway.
What's the point? So you can defend yourself "on the record"? Go talk to the
record then and not me. Start a blog that the authorities can log and record
for you, so the public can see your reputation.

This conversation was as pointless as you intended it to be with your first
post and follow-through behaviour. I am disappointed beyond measure and my day
is ruined, to quote a youtube video. I don't care if you or anyone else reads
this, this post is as pointless as your internal walls made our conversation.

Plausabilities and versimilitudes go together well as likely alt-accounts.
Given the similarity in name.

------
Throwaway8373
These are all great advices, but very hard to act on. I got hired by one of
the big silicon Valley consultencies with the promise of working in teams and
great personal development. Had I been there an entire year, I would have
worked completely on my own for 9 months. After voicing my concerns for
several months I decided to leave.

~~~
mooreds
I think you acted on the advice as best as you could. I mean, I'm guessing you
asked about your work environment (or were told).

If there is a bait and switch, all you can do is voice your concerns and if
you aren't heard, leave. Which you did. About the only other thing you can do
is share your experience, either publicly or via your network (the latter of
which I strongly encourage you to do).

There's definitely an asymmetry of power between employer and employee--
everyone has at most 1-2 jobs but employers have many employees.

------
generatorguy
I have worked alone almost exclusively, and the few times I have got to work
with a more experienced consultant I learned career changing skills. I’m
probably at the halfway mark for my career, but seeing how much easier it is
to learn when it isn’t me bymyself wiTh whatever book I think will be helpful
has definitely made me realize the opportunity cost of being remote and having
no senior or more experienced coworkers. Probably having no more experienced
coworkers was a big contributor to going remote, I wasn’t going to miss
anything at the office except climbing the ladder to managemenT, which
actually would have been sweet cause who wants to be slanging code and minding
machines at 50, the people problems are so much more interesting and
applicable to everyday life

------
Ididntdothis
”one with the highest learning potential, not the highest earning potential”

From my experience these are highly correlated.

------
preommr
This is pretty bad advice. Any workplace will have a fixed way of doing things
that are suitable for their legacy code and existing practices. Not to mention
most places don't really let you extend over to other areas. There's a big
difference between dabbling in some aspect of development as part of a job and
handling it yourself from start to finish on your own.

Some of my biggest growths as a developer has been doing things on my own that
businesses aren't going to pay someone to look into.

~~~
naasking
> Any workplace will have a fixed way of doing things that are suitable for
> their legacy code and existing practices

I think you're seriously undervaluing how much new devs can learning from
exactly this. This article is targeted at new devs.

------
peter_retief
I have worked in teams and hated it, my son is a new developer and he loves
working in teams. My most disturbing experiences have been with "agile" and my
better experiences have been with "pair programming".

Quality of code is a problem in code generated by agile teams. Unnecessary
time pressure

The best written code I found to have been written by a single developer given
the freedom to express themselves. This is my opinion based on personal
experience

------
purplezooey
"...understanding others and building empathy..." agreed this is good. I hate
to sound like a cynic but it often seems like understanding others and
building empathy is the fast track to nowhere. Almost any software shop is
going to be a business, and in a business usually the most essential skill is
a paranoid un-empathizing mastery of high school politics.

------
smadurange
I agree with the part that it's very good if a new developer gets to work with
an amazing team. Thus us probably not mutually exclusive with earning
potential either.

Best people do tend to end up in places where they get paid well. Obviously
this may not be always true, but your chances are good if you join a high
performing team both in terms of learning and earning.

------
sys_64738
We don't work alone. We use tools for collaboration as we're generally part of
a team. Whether that team is remote, geo-located or all in the same open
office, they all have their pros and cons. Design always requires a whiteboard
so on-prem is best. Writing the raw code is best done heads down.

------
toolslive
In essence, it's the old "How do you make a good engineer? You put him next to
one" adagio

------
werber
I completely agree, my gut told me to do what the author says here and I'm so
glad I did. I didn't love the job, I got my ass kicked, but I learned and grew
so much. The value you get from real mentorship early on in your career is so
important for long term growth

------
rdiddly
But I'm not alone, I have the whole internet working with me.

------
amoitnga
> I suggest that the first job you take be the one with the highest learning
> potential, not the highest earning potential.

Fuck this. get paid.

From personal experience of an overqualified severely underpaid idiot.

~~~
arnold_palmur
> first job _

------
cryptozeus
Perfect advice for “new developer”

