How to Worry Less About Being a Bad Programmer
stilldrinking.org
stilldrinking.org
Very early on, I started out by learning Perl programming on the job, writing CGI scripts for basic interactive websites. I had no clue what I was doing when I started, but after a while I was pretty good at it (and felt relatively competent). Then I got a job where most of the code was C, which I had done only a little of. After a few years of that, I think I was pretty solid, but then it was time to start learning about Java and its ecosystem. Later, I wanted to do some iOS work, so I had to dive head first into Objective-C and Cocoa - I was pretty lost to begin with, but eventually I got the hang of it. Somewhere along the lines I picked up Python. I struggled for a while (and it took me longer than I'd like to admit to get comfortable with significant whitespace), but I got there.
Now I'm working on updating my web dev skills by learning about React and all of the surrounding technologies. Once again, nearly 20 years into my career, I'm feeling pretty lost and incompetent. I've been through this enough times to know that I'll figure it out, but it can still be pretty frustrating and demoralizing to struggle to even get something basic working.
I think this is just a fundamental part of software development, and of continuing to learn and expand your skillset. It's good to remind ourselves that no one out there knows everything, everyone struggles from time to time, and if we're hitting speedbumps it means we're learning and improving.
Going to work and having to sit next to someone like that every day is quickly making me think of jumping ship.
You might also try to take a step back and see if their behavior actually matters, and treat it as a personality quirk. There are people like this everywhere, so even jumping ship may not exclude this or worse from happening at the next place.
Just don't mention that you're thinking about jumping ship to anyone. That doesn't help you or them.
Don't let it slide, raise the issue to HR if you need to.
If it doesn't end, go find another job where you can grow and just leave. Don't look back. Working with people like this is very poisonous in lots of insidious ways, and ultimately never worth the stress
It's also hard for outsiders to tell who is the jerk when two programmers don't get along. It's often both of them.
This profession attracts a lot of people with low social skills, on or off the spectrum, so this stuff is hard...
Initially I ascribed the somewhat rude way he acts to a psychological trait (I'm positive the guy has Asperger's), but then I started noticing it was more targeted at me.
Looking back, tolerating this behaviour was a disservice to both me and the company I was working at. I lost many things professionally because of that. Do not make the same mistake. The guy might be super clever, super efficient and very knowledgeable. That does not give him the right, though, to destroy people's lives. And if you tolerate this, keep in mind that there will be also others in your position later.
Btw, the description you provide matches pretty closely the guy I knew. Super smart, Asperger's and I was his victim. Before me, there was another person who was holding him in very high esteem but was also forced to resign, partly because of the unsupportive environment.
—https://www.miltonglaser.com/files/Essays-10things-8400.pdf
Sometimes people are just assholes. Sometimes people are a lot alike and that actually causes friction. In those cases, it's possibly to transform a "rivalry" into a friendship if you work at it.
But if they really are just an asshole, then ya, the advice in the other people's comments make sense. Just make sure you at least try to bridge the gap first.
Otherwise, if they are a good person and the friction is not due to them really being an asshole, going to your manager or HR could end up drastically eroding the trust to the point of being irreparable.
Erm, totally irrelevant to this.
tools are part of the trade, no? even if you don't use a particular one, having a decent understanding can provide a contrast to the tools you do use and perhaps improve your utilization in subtle ways.
I agree with this but that's not what he said. He quoted very specific tools needed to achieve this and that was the cause of my disagreement.
Enjoying that also helps keep you curious and wanting to learn new things. My favorite thing is getting to talk with a developer that is much better at something than me, and talking about their area of expertise. Walking and talking about a problem or sharing 45 minutes at a whiteboard can lead you to ideas that you would never find on your own.
I felt the same way for years about working as a landscape laborer. At the time, my 'information worker' gigs required me to think constantly about the most mundane things. Being a software engineer is a lot better than that, but having the freedom to think about anything you want is a very beautiful thing.
and
>You will walk into any given interview with what you think of as a cornucopia of arcane knowledge all but forcing its way out of your tear ducts to raise property values in a half mile radius. Much of the time, you will walk out of that interview wanting to give up and raise guinea pigs for a living.