Tag Info

Hot answers tagged

164

You might not like this, but don't use asperger's as a crutch. What you've written here is clear and succinct, so you've shown you can write prose. It doesn't have to be good, or even interesting to anybody but yourself, but just spend some minutes a day writing something about something.


131

You are really talking about technical debt. Maybe a metaphor would help your managers. I often compare the effect of technical debt in software to cooking in a dirty kitchen. If the sink and counters and stove are piled with dirty dishes and there is trash on the floor, it takes longer to make a meal. However, the fastest way to prepare the very next ...


112

You don't hunt down a former collegue to tell him he made a mistake. You may tell your friend that he made a mistake. Whether he is a friend or a former collegue is up to you.


88

Consider the following: "I have aspergers disorder" No one cares. Seriously. If you've written any good code, we don't care about your personal life. If we knew you, we probably would care. However, we don't know you -- we only know your writing. "I don't know the first thing about writing interesting and engaging text". Neither do 85% of the bloggers ...


82

Having been "the boss" and, as it turned out, actually better than my staff in all cases bar one - yes, he will be mad - or annoyed or frustrated and in any case, quite possibly, right in the first place. If you're genuinely better than him then you should be able to understand his proposed solution and to see why yours is better and then to explain why. ...


69

I think most developers find themselves in this position at some point, and I hope that every developer who's felt victimized realizes how frustrating it will be when he or she becomes the senior and feels compelled to clean up code written by juniors. For me, avoiding conflict in this situation comes down to two things: Courtesy. Talking to someone about ...


69

You and most of the answerers approach this as a communication issue between two colleagues, but I don't really think it is. What you describe sounds more like a horribly broken code review process than anything else. First, you mention that your colleague is second in command and it's expected that he'll review your code. That's just wrong. By definition, ...


66

He's probably right. If the codebase is so monstrous, so gigantically complicated, so difficult to understand... what makes you think you can write something that does the same thing correctly? Generally a big refactoring is the best place to start - start ripping bits out and combining them into reusable chunks; tidy up the code so its easier to view; ...


58

Our build/install is just too complicated. It can't be automated. I have walked onto way too many projects where the build, development setup, and/or the product installation "process" was a ton of manual operations. The result was either a poorly documented process with one guy who knew all of the steps that had to be done (and would mess up at ...


53

These four things were said to me by the same programmer: "I don't believe in encapsulation. There's really no point. All it does is add boilerplate and slows you down." "I don't do unit tests. That just slows me down." "Java is too slow. I need a fast language like C++." "I should really comment my code but it takes so long. It would just slow me ...


53

Here's the secret about programming: it is almost 100% communication. A significant part of that is communicating with a human; the rest is communicating what you've just learned to a computer. The latter part is the easier of the two. Computers do exactly what they're told and you are always in a position to test that what you told it is correct. The ...


50

Yes, this is a One-time pad. If the key material is never re-used, it is theoretically secure. The downsides are that you would need one key per communicating pair of principals and you would need a secure way of exchanging the key material in advance of communicating.


49

"This is an emergency the change needs to go to production now, we don't have time for review, testing, or a roll-back plan."


48

Well, recursion is actually pretty simple to grasp for kids. Don't try it with mathematics or whatever the other people here are suggesting. They are too young to understand it. It's too abstract and boring for them. Instead: Show them a picture of a painter who is painting a picture of painter who is painting a picture ... Something like this: There are ...


47

When you have a big home theater and you add things, slowly but surely a big rats nest forms in the back. If you are often times replacing parts, sometimes its worth straightening all that stuff out. Sure, if you do that, it was working before, and it's not going to work better than when you started, but when you have to mess with it again, things will be ...


46

The preference you observe looks like a natural consequence of recommendation clearly stated in GNU Coding Standards. It suggests to report bugs by email, as you can see in below quote (I marked bold the part that directly addresses your observations): 4.7.2 --help The standard --help option should output brief documentation for how to invoke the ...


45

Bob Martin told this story at Agile 2008 (and it might be in his Clean Code: A Handbook of Agile Software Craftsmanship book). His example was making dinner. The easiest way to make dinner is to never clean up afterwards. You just leave the dishes unwashed. Next time you want to make dinner, you just find some new dishes and repeat. Pretty soon the ...


44

You've stumbled across something that plagues programmers everywhere at some point in their careers: this code needs to be refactored, there are architectural issues over there, this module is becoming unmaintainable, etc. Because of the present culture of your organization, however, you're being pushed to focus on work that only yields directly visible ...


40

We worst part of the core are untested (as it should be...). This is the problem. Efficient refactoring depends heavily on suite of automated test. If you don't have those, the problems you are describing begin to appear. This is especially important if you use dynamic language like Ruby, where there is no compiler to catch basic errors related to ...


38

What sets off the bells for me is whenever I hear a programmer - a professional, not a student - asking a question that demonstrates that they really dont have a basic knowledge of computers or their profession. For example: a web developer asking a question that clearly indicates they dont understand the difference between what runs on the server side ...


38

You say your method is "quicker to implement". That rings alarm bells to me. Code that is quicker to implement can, very often, be hard to maintain. He is your boss. Unless you stay there for life, he's going to be living with that code for much longer than you are. Perhaps his strategy takes that fact into account. Short answer: Insubordination is a ...


37

The Real Edge (tm) that mailing lists have is with less busy projects. In order for a web based forum to be successful, it needs a core of people constantly present who can respond to questions, provide suggestions, and moderate it. But if a board only has a couple posts a week or month, many people interested in the topic (be it an open source project, a ...


36

Re-factoring is just like the process of re-packing a suitcase until everything fits in neatly. Sometimes, in the process, you wonder why you were trying to get so much junk in there to begin with.


34

In addition to the "because they are used to it" arguments, email has a few other huge advantages: You already have an email address, no need to sign up for yet another messageboard account for every project. With a messageboard, you have to actively visit the page and refresh it to see new messages. On the other hand, most people have their email client ...


34

From my experiences I would say as having been a long time contractor myself, 20+ years, generally when you are a contractor, you aren't there to affect change, you are there to be a warm body filling a seat and doing what you are told, unless your manager mandates something different specifically. Don't get invested If they don't see the huge mistake ...


34

You don't. I see this question and all questions like it as a bit of a dead end. You can't "convince" people of anything. If they aren't already aware of things like this or investigating it, chances are they don't give a flip. And no amount of data will convince them otherwise. Change must come from within. You can lead a horse to water but you can't make ...



Only top voted, non community-wiki answers of a minimum length are eligible