Hacker News new | past | comments | ask | show | jobs | submit login
Avoid Working Alone (letterstoanewdeveloper.com)
212 points by mooreds on Oct 5, 2019 | hide | past | favorite | 72 comments

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.

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.

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.

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.

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

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.

> reminds me of a teacher student relationship

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

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.

I'm curious, what would you consider the right point?

It depends a lot on the person and how they prefer to learn.

For people who are very analytical and self-motivated, i think it's fine to suggest reading books fairly early on in their development and just be there to answer questions or indicate how those theories are applied in the company's processes and tooling.

In this case the challenge is more around finding a book to suggest that suits the work. Coaching can end up being more around where to focus or how to skill up on one topic at a time.

Some people find it tough to digest knowledge in written form. In my workplaces this is often compounded by many good tech resources only being available in English and many developers not being native English speakers.

In these cases i have found it helps to start with pair programming (best case) or detailed code review (at minimum). After each "learning session" you can then provide links to references (book, article etc) for more info or background on the comments. This helps contextualize the theory upfront and shows the value of the source.

Sometimes when a certain source is referenced frequently, people take the initiative to read it to better understand the fundamentals for future work. Sometimes they don't.

That's where management comes in, i think. Regardless of whether a person chooses to learn with a book or some other source, at some point they are going to have to be able to solve challenging problems on their own. Managers are able to facilitate growth by allocating tasks that are at the right level of complexity for the dev.

I think the point is that it's not the job of a mentor to step in and solve the mentee's task, but to provide support and explain what sort of techniques and resources may be helpful to solve it. It's still up to the mentee to do the work.

Thank you for the detailed answer. I know this is somewhere I still have a long way I could improve so it's definitely interesting to get another's thoughts.

Couldn't agree more with this perspective on mentorship. You nailed it.

I think there's some confusion in this thread: yes, all programmers should develop their ability to solve problems alone. But new programmers should definitely avoid accepting a position where they would be the only programmer, if at all possible. If you get such an offer and are worried it's the only offer you'll get, I think you should bank on that being wrong and stick it out and wait for an offer with an actual team.

You have to bring it up when you're interviewing, and get in deep. Tell the technical interviewers what you want to get better at and be honest and be prepared to say no to good offers that aren't going to nurture your skill set. Ask about how they do code reviews, what professional development they offer, how often they pair program, do they do tdd or just make it work as fast as possible to appease the business, how the team has helped each other to grow and whatever else feels important to you

It's hard to break in with no experience. I'm not sure everyone can filter out companies based on mentorship.

I've mentored people and gotten decent feedback on that. If that's what you're missing, move around. See if there's someone internally to get what you need, else jump ship for a new employer. Also, mentoring is mutually beneficial. As a mentor I get someone I can trust to do things in a particular way. Value for the mentee was already implied.

I’ve seen quite a lot of different teams and I have a side gig as an external examiner for CS students, and I’m not sure the real world really fits with your idea of a “high performance mentoring team”, because no one frankly seem to have a clue.

Most senior developers and teams have made choices and they’ll be able to tell you what works and doesn’t work in their shop, but that’s often not universal or even good advice for new developers.

I think the hype around kubernetes is the perfect example of how terrible experienced developers are at making decisions. I’ve seen more teams fail at it than succeed, and none of those teams, even the ones who succeeded actually needed it because their max-load didn’t ever even require them to have a load-balancer. Yet, I’ve yet to find any senior team who was sound enough to realise that they aren’t Netflix.

You won’t really get good mentorship from that. It’ll just feel like that because they are less insecure, but in reality, people aren’t actually very good.

I think the exception is if you make it into something really high end R&D, but chances are you’re already better than 99% of us if you do.

I think once you reach the point of docker-or-not you're probably beyond simple one-directional mentoring. At that point you've earned your opinion.

Mentoring is however wildly effective at helping people get to grips with tools. As an example learning django isn't particularly hard, it has a great tutorial, but I wouldn't be surprised if a junior programmer with no web framework experience would learn it twice as fast if given someone that'll answer their questions promptly.

Sounds to me like you have a biased sample. In my surroundings many of the experienced people prefer simplicity and avoid premature optimization.

I've never been a full-time developer, but I find that a lot of the passion around remote/distributed work often misses something for people starting out.

Communication systems were a lot different when I started in the tech world. But it's really really hard for me to imagine starting out in a world where I was sitting in my apartment all day. Remote doesn't mean working alone of course. But I would certainly have found the relative isolation difficult even given today's messaging and videocon apps.

As a not-new developer (I don't think senior applies quite yet) I'm most productive when helping other people. And not by a small margin either.

Some people just thrive off teamwork (Like me.) I doubt that's true for everyone though.

I just wish it was easier to get a "team" for unimportant hobby projects, going it all solo is tiring.

To be honest, when people ask me where I got my abilities in researching diverse subjects and tracking down obscure faults from, the only thing I can really tell them is that I never really had anyone to turn to when I was learning - I had to just find a way to make it work. Couldn't defer "the hard stuff" to someone else. I think working alone gained me quite a lot.

> But working alone is critically important for all the pieces of the development process that aren't technical.

Sure, but good engineering happens with closed feedback loops. Even if you learn to check your own assumptions, users still need to be informed, documentation improved, subsystems integrated, new platforms supported.

Good engineering is a team sport.

So maybe you can turn a confusing stack trace into a patch on your own. Great. Tru success happens when you ship. And shipping to yourself is rarely interesting.

I think you misunderstand what "working alone" means.

In one context, it could mean being the solo developer on a project. In another context, it means avoiding what some people call "pair programming."

This article clearly implies that a new developer should be part of a team. It never alludes to pair programming.

Why is being a member of a team important for a first developer job? There's a lot of things left out of a typical Computer Science degree that are needed to be an effective programmer. Being a member of a team is the easiest way to learn these things.

(For example, we never discussed source code control in my school, or why someone would deliberately denormalize a SQL database.)

> But working alone is critically important for all the pieces of the development process that aren't technical

I would actually argue the opposite. Work with someone more experienced on the non-technical parts and do the technical alone.

Finding online resources for technical problems is easier in my opinion. But for non-technical you're probably going to need domain knowledge or just plain experience to complete and getting those are so much simpler when seeing examples of it from others

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.

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.

> 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.

> 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.

> 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.

Well, everyone is entitled to their opinion.

For what it is worth I don't think a startup (or, for that matter, any place that treats you poorly) is the best place for a new developer. Having been part of a couple of startups, I don't know if they are the best place to learn (especially for new developers). Often, chaos reigns, it's hard to get direction, and stuff is often on fire. Not an optimal learning environment.

This varies for different risk profiles, learning styles and long term career desires, but if forced to choose I'd probably pick a small consulting company as the place where you'd learn the most. (BTW, you'd probably get paid decently as well, since there'd be no options at the end of the rainbow.)

I actually wrote about this here:

https://www.culturefoundry.com/cultivate/digital-agency-life... That said, my advice is anecdotal and based not on science or statistics, but on my experience. So it may not be worth much more than you paid for it.

Absolutley agree. Before working for a small consultantancy I worked for two startups and a big company. At the startups I had next to no guidance but I guess I learned self reliance. At the big company the pace of work was too slow (although good for me at the time as my first Job). Now at this agency I'm earning more than I ever have before, I get to work with a variety of technologies with different clients and different teams. All the engineers in the shop are very pragmatic. No over engineering because there isn't time for that. Plus at the one I'm at there is a nice atmosphere and social life. As a new engineer you don't get put on some bullshit intern project in the corner with no real world connection. You get put on a real project with real impact, you have to take responsibility for your work and you are trusted with stuff you're only just about ready for. Nothing compares to building a different key component of a production system 5 times+ a year. If it fails that's your responsibility so you learn pretty quickly how to build robust software fast and what counts towards that and what is just fluff.

I truly think it does. You will usually raise your salary most by changing jobs anyway and when you start out you most likely don't have that much need of a high salary.

A start up might absolutely not be the right way to learn though. Joining a mature and disciplined engineering organization might instead be a much better choice for learning.

The world is full of people trapped doing meaningless robotic things as it is. On top of it they are all living longer wondering what the fuck for. Just ask a friendly neighbourhood shrink for the stats.

Your kind of advice my friend contributes to the trap.

These days, there are not a ton of meaningless, robotic jobs that pay well, especially not in software.

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.

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.

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.

I think the only way to increase your income is to figure out how to more effectively market your skills.

Some of the most talented people make squat and yet, lots of mediocre talent is making bank because they worked the system and leveraged what they could to make more money.

I don't know many really skillful, hard-working people who make squat. But, there are definitely other factors. Industry friends is a big one, people who can introduce you to opportunities. Good negotiation skills also matter. Being well-spoken helps a lot.

But the most important thing is impressing people once you get an opportunity. When you get on the stage, you gotta be able to sing. That opens doors more than any other one factor in my experience.

I think this advice is cutting your nose off to spite your face. I took my first job to learn. I was underpaid, and over worked. But I got to work on all sorts of stuff I wouldn’t have otherwise been able to touch for years, I learned a ridiculous amount, and when I left that job I took an enormous leap in salary. Since then I’ve managed to keep it going up and a very steady pace. Advising against such working conditions in general is narrow minded and short sighted. That company got a huge amount of value out of me, and they didn’t pay a fair salary for it. But in place of that salary, I got a huge amount of value out of them. My goal (especially at the time) wasn’t to get the fairest market rate, it was to increase my market value as much as possible. A goal I achieved, which has meant I’m now out earning most of my peers, and I generally have much more control over my working conditions than they do.

> I think this advice is cutting your nose off to spite your face.

Ah, the standard phrase used when people try to get you to work against your interests.

The rest of your post amounts to: "Doing the imprudent thing X worked out for me this one time, so everyone should do it."

Actually what you’re suggesting is working against your own interests purely for the sake of working against somebody else’s too. There was also nothing imprudent about my decision. I saw an opportunity to develop my skills and took it. If it wasn’t working out, quitting would have just put my back to exactly where I started. My advice is that if you see an opportunity to advance your career, you should focus on what you’ll personally get out of it. Countering your apparent blanket stance that you shouldn’t do things that don’t benefit you in the short term, and that you shouldn’t enter into employment agreements simply because an employer may be getting “too much” out of it, regardless of any potential long term personal benefit. Personally I find more success in looking at what I can get out of an opportunity, rather than what I can deny others.

It's very difficult to get young people to deeply understand this. I wish I had when I was younger.

I agree with you that it's not a good idea to pull overtime or work high stress positions for little compensation.

However i don't think that the only place where you can learn is at a startup. On the contrary, i think there is a lot more opportunity for learning at larger companies.

You would have to be very lucky to find a startup with devs that are both good and have the free time to mentor you well. But in a FAANG or a similar company in the second or third tier, you will be working with a lot of smart people who have both the time and a career interest in helping you grow.

Personally i am ambivalent on the value of wealth as an end in itself. For people who value knowledge as an end in itself, i do think it's reasonable career advice to deliberately seek out a company where they can get that support from their peers. It definitely makes going to work to earn the money every day less of a chore.

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.

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.

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.

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.

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.

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.

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.

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.

They're being snarky and accusing you of being an edgelord.

Your level of detachment feels extreme to them and upsets them and thus they've deemed it a gimmick/act.

>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?

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.

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.

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.

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.

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

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

From my experience these are highly correlated.

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.

> 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.

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

"...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.

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.

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.

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

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

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

> 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.

> first job

Perfect advice for “new developer”

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact