> “if they ask about time off in the first interview then they are never going to be there!” The fact that this attitude is common scares me when I'm doing interviews. Time off is incredibly important to me. What's the use of making a great income if you can't get the time off to enjoy it? The culture about the use of PTO varies wildly between companies. A friend of mine worked somewhere that supposedly gave 20 days…
Your quote of the article made me think I was going to hate the advice, but then I realized you quoted it out of context, here's the full quote: > People might claim they have “signals” for these things… “if they ask about time off in the first interview then they are never going to be there!” But these are all bullshit. If you’re using signals like these you’re just guessing and turning away good candidates
Things I’ve learned in my 20 years as a software engineer
361–370 of 745 posts
Re: Things I’ve learned in my 20 years as a software engineer
#362The 10x programmer is a silly myth. The idea that someone can produce in 1 day what another competent, hard working, similarly experienced programmer can produce in 2 weeks is silly. You know, 10x is an optimistic number here. Some programmers will do in 1 day what you wont achieve in a life time. And not understanding that makes you a bad programmer by my book simply because this is the foundation of the job. So let…
Re: Things I’ve learned in my 20 years as a software engineer
#363Earlier quoted context omitted.
I do a lot of dev work with non-profits and such. About a year ago I was working on an extremely difficult project as a volunteer where I was insistent that a specific part was vitally important to getting the project to move forward (generalizing tables extraction from scanned OCR docs) and I was spending a lot of time on it. One of the devs I worked with, with 40+ years of experience, basically told me this exact t…
Make an API out of that. There is huge demand for it.
Re: Things I’ve learned in my 20 years as a software engineer
#364I feel like once you’ve worked on a few projects the desire to “reinvent” the wheel is quickly destroyed. The main thing they never teach in school and you really can’t understand until your doing it is maintenance. Projects are like a balancing act where you need to weigh the pros and cons of every choice and choose the best one. The hard part is being able to do that and do it in a reasonable amount of time.
The difference between a senior engineer and a junior engineer to me is that a senior engineer knows how to evolve a system into the system that they want/need it to be. They don't just say "well, looks like we have to throw the whole thing out the window and use this other new shiny/rebuild it from scratch". The desire to reinvent is important to keep throughout your years as long as it is rooted in reason and in th…
Recent-ish project: holding on to multi-year old legacy data that was simply bad/broken (but was assumed to be good because it was barely used/examined), then requiring every single new feature to work flawlessly with broken data, ensuring that legacy customers 'never' hit an error (when 95% of them have not logged in in years). That's a candidate for 'rewrite from ground up' - you can keep an old system going in maintenance mode, build the archetypal "version 2", then decide if/when/how to migrate old data over...
Knowing that you can 'evolve' a system towards improvements and knowing when you should do that is another sign. Something may be technically possible, but the time/effort/cost can outweigh whatever benefits there may be.
Re: Things I’ve learned in my 20 years as a software engineer
#365> “if they ask about time off in the first interview then they are never going to be there!” The fact that this attitude is common scares me when I'm doing interviews. Time off is incredibly important to me. What's the use of making a great income if you can't get the time off to enjoy it? The culture about the use of PTO varies wildly between companies. A friend of mine worked somewhere that supposedly gave 20 days…
The issue isn’t taking time off, it’s that the prospective employee’s head is up their proverbial ass. First interview is propspecting. If you were selling a product, if the customer is asking about the return policy before even selecting an option, it’s a similar signal.
When you’re in a subsequent interview talking about the benefit plan, salary, etc, that’s where that sort of question is appropriate - you’re finalizing the deal.
Re: Things I’ve learned in my 20 years as a software engineer
#366The 10x programmer is a silly myth. The idea that someone can produce in 1 day what another competent, hard working, similarly experienced programmer can produce in 2 weeks is silly. You know, 10x is an optimistic number here. Some programmers will do in 1 day what you wont achieve in a life time. And not understanding that makes you a bad programmer by my book simply because this is the foundation of the job. So let…
The confusion is that it's all about what people can and cannot do, not how much code they can write. If your development needs are mundane crud stuff, you don't need a "10x programmer". If you're doing tricky stuff, on the other hand, you absolutely do.
Re: Things I’ve learned in my 20 years as a software engineer
#367Earlier quoted context omitted.
Your comment about Ruby is actually referring to the Rails framework. It also suffers for the slur.
True, my problem with Ruby is stuff like having select/filter/find_all or map/collect and then frameworks also inventing their own conventions and this somehow being ruby philosophy. Also naming conventions like to_i to_a to_s to_h. And then the scoping rules. I'm not a fan of the language or the design philosophy and will avoid in all future projects. As for calling it retarded - it's the emotion it evokes, I don't…
Re: Things I’ve learned in my 20 years as a software engineer
#36840+ years of experience here, and I'll tell you the #1 thing I've learned: * Software is a social service. Its for other humans. Incredibly, it doesn't matter how educated the developer, they still seem to have to learn this lesson themselves, over and over, until it sinks in...
> Software is a social service. Its for other humans. I deeply disagree with this Calvinist utilitarian sentiment. Its akin to saying sex is for making babies. Maybe its an academic thing - When I went to grad school for CS, on Day 1 my Algorithms Professor paraphrased Perlis's famous quote on the blackboard - "Shaft the paying customer!" You can find the whole quote on the first page of SICP[1], or elsewhere[2]. imh…
If I want the computer to do XYZ, and I can provide an XYZ service to other people? They're paying me to do my bug testing, and I get to feel good about it.
If you're providing something that you think is a really good service, but not for people like you, and not for somebody specific you know either, it's probably going to be rubbish.
Re: Things I’ve learned in my 20 years as a software engineer
#369The 10x programmer is a silly myth. The idea that someone can produce in 1 day what another competent, hard working, similarly experienced programmer can produce in 2 weeks is silly. You know, 10x is an optimistic number here. Some programmers will do in 1 day what you wont achieve in a life time. And not understanding that makes you a bad programmer by my book simply because this is the foundation of the job. So let…
Most projects out there will not benefit from such a person. If you don't understand this, then in my book it makes you a poor employee. I mean, it's great if this 10x guy can solve some challenging problems that most people cannot, but if that 10x guy cannot show how it helps the business, I hope he's not in my team.
Most businesses are complex and messy. Connecting your code to business value is not easy.
Looking at some of the comments here, people are going out of their way to both defend the existence of 10x programmers, while simultaneously working very hard at not putting any kind of metric on their ability (e.g. "no, it doesn't mean they can produce 10x code or replace 10 people or ... it means "). If you're going to insist on some quality that is hard to quantify, then stop using numbers to describe them. They are geniuses, but not 10x.
In my experience:
1. You cannot replace 10 average programmers with a 10x programmer and hope to achieve the same output. Output, by the way, is not defined by code, but by activities that help the business move forward.
2. While there are some good claimed 10x programmers who work well with others, most of the ones I've encountered do not. In my last job, we had a team of several truly brilliant folks. They could dive deep to the assembly level or work at the system level (scripting, etc). Any bottleneck that arose - they would dig deep and figure it out.
It was the least productive team I've been in. They argued amongst themselves on the pettiest of things that had no impact on the business. When asked why I was leaving the team, I literally told them that I want to be in a team that writes SW. That team's productivity was so low I couldn't reasonably claim they wrote SW. It's not that they didn't write code, but that most of it would not see the light of day because of constant bickering.
Re: Things I’ve learned in my 20 years as a software engineer
#370> “if they ask about time off in the first interview then they are never going to be there!” The fact that this attitude is common scares me when I'm doing interviews. Time off is incredibly important to me. What's the use of making a great income if you can't get the time off to enjoy it? The culture about the use of PTO varies wildly between companies. A friend of mine worked somewhere that supposedly gave 20 days…
The context is key. First interview . The issue isn’t taking time off, it’s that the prospective employee’s head is up their proverbial ass. First interview is propspecting. If you were selling a product, if the customer is asking about the return policy before even selecting an option, it’s a similar signal. When you’re in a subsequent interview talking about the benefit plan, salary, etc, that’s where that sort of…