Tag Info

Hot answers tagged

391

Whether project managers get higher salaries than programmers and business analysts at all exist as a class depends squarely on the software world you live in. A simple answer to this question would be "because in our societies, we still think the salary is bound to the position in the hierarchy." But this answer whilst reflecting the fact that people are ...


270

Don't apologize! Breaking the build once in a blue moon is not a big deal, and should never be a show-stopper. It's your manager's fault for not configuring continuous, automated builds. Also, I bet your team fails the 'Joel Test' and can't make a build in one step. If so, this would be another thing that you shouldn't apologize for. Indeed, ...


160

Bagels. Donuts. Etc. At one company I worked for in the past, checking in broken code or otherwise causing colleague disruption is generally resolved by the bringing in of apology foodstuffs the next day. We had a guy blow away a production database one day, causing massive panic and a late night for the whole team. The next day he grilled burgers for ...


85

They take more risks than programmers do. They have to make decisions based on whatever information we gave them, and then face the stakeholder's harsh criticism when their expectations aren't met. Part of the pay package compensates for this risk. Another factor may be the years of experience needed to prepare a project manager who can plan, estimate and ...


82

Programming may be more difficult by some measure, but it's also more pleasant. You just sit there and solve the nice programming puzzle while managers deal with all kind of crap between their subordinates, their clients, their own bosses and stakeholders. That's why so few sane people actually want to be managers, so you have to compensate for that by ...


74

It sounds like you are placing too much effort on having well rounded individuals and not enough effort on having a well rounded team. There is nothing wrong with being good at something--in fact, that is probably why he was hired! You should be thankful to have someone who is good at programming to begin with. You stated: ... it goes against my ...


72

Reducing management to creating charts and writing documentation is like saying that programming is typing. To each their own, but for me programming is much easier than managing people.


71

Two quotes for you: The man who makes no mistakes does not usually make anything.--William Connor Magee Anyone who doesn't make mistakes isn't trying hard enough.--Wess Roberts I agree with Jim G., don't apologise but do learn from it and don't make the same mistake again... keep it DRY ;)


58

You shouldn't need to explicitly memorise these things. By that I mean sit down and learn them as you would a list of words for a spelling test. In the first instance the names should be memorable and discoverable so you can find them again without too much effort. You should also have access to tools that help you out here with auto-completion and the ...


54

Sysadmin. Developing software and handling the IT infrastructure are two different skillsets that look similar to an outsider. (It's all just banging on computers, right?) For a smallish company, the temptation will be very strong to make The Computer Guy responsible for all the machines in the office. If you have the skills to actually wear both hats, ...


49

Some time where there is nothing to do? How? It's impossible to be in a situation where you have nothing to do. The only case is when your project is perfect. In practice, there is no such thing as a perfect project. When you finished implementing the features, you spend time: enhancing code, adding unit tests, refactoring, thinking about how the product ...


48

Don't apologize, just FIX IT as soon as possible. It is okay though, everybody breaks the build at least once, in my last company it was something of an initiation ritual. When a team member broke the build we would put a rubber duckie on his desk in the morning before he came in, this let him know he broke the build and he would fix it. We called it the ...


40

"Sorry! My bad!" is how I usually apologize when I've broken the build. It happens. But as others have said, this is an opportunity to improve your systems so that one person cannot so easily break the build for everyone else. I would not make a formal apology in these circumstances, but if you actually feel that a more formal apology is appropriate, then ...


37

How about a 100% discount? If you are making software you intend to sell, you qualify for BizSpark, which gives all your developers MSDN subscriptions. If you intend instead to offer your services, you don't qualify for BizSpark, but you still don't need to buy separate licenses for dev, staging etc. You can get an MSDN subscription, which covers one ...


36

Everyone here is focused on the negatives. I've never met a programmer that likes office politics and good managers shield you from that sort of garbage. Having interacted with a lot of people at our main client, half of them are insane and I'm glad to have my PM there to soak up that insanity for me. If they pay them a lot, that's fine. He or she needs it ...


35

You wear whatever hat your employer asks. That's what makes you a team player. That's what makes you a Problem Solver. People get way too caught up in the idea of being a "developer" or an "architect" or an "analyst". Screw that. You should be a problem solver. Code is just a tool in your belt. Problem Solving never goes out of style. If my employer ...


34

Do not offer to take less money. If money is the issue, they will come to you about it, don't put the idea in their heads. And you realistically can't offer to cut enough to address their concern. Their concern is that you'll suck up a bunch of time from a more experienced programmer. That person is paid more than you, and costs them even more than that. ...


32

I had a similar team member working under me at my last position. He was a very hard worker and was great with ASP but leaving him with an open ended problem would eat hours and cause headaches. One day in a ticket I gave him I outlined every step I wanted him to do, and guess what? It worked. He did every step in order and gave me a perfect solution that ...


32

In my experience, yes, it is perfectly normal for developers in small companies to be expected to cover a broad range of roles. It is certainly normal for a company so small that it only has three developers to not have a specialized DBA or sysadmin. However, I would find it unusual for such a small company to use such a broad range of technologies. JSP and ...


31

You are catching some heat here in the other answers for your decision to "do something" about this guy, but I fully get what you are saying. If the other team members "would all prefer to be coding, rather than doing these more mundane tasks" then they are going to be annoyed that you are rewarding the bad performance of the poor communicator by giving him ...


31

Unfortunately there is little you can do. I think you have the answers on your last paragraph. As far as making claims on your web site about other sources - put an app signature on your site, explain than some "less than desirable" sites are listing your apps and it should only be downloaded from <here> or <here>. Do not name or provide any ...


30

Einstein said "never memorise what you can look up [in books]", and I completely agree. Use your memory for abstract stuff (development techniques and principles) not facts that you can find when you need them.


30

I think there are a few places you're wasting time. Drop the HR interview beyond just a simple first contact to setup follow-up interviews. Having HR people ask technical questions is a waste of time. For example, I had one ask me some unclear question about MVC and they couldn't clarify what was being asked. Drop the online test, especially if you're ...


29

Tester! Please send us testers straight out of tester school if need be! Without testers people expect everything to work off the bat because the programmer is the tester and they're very smart so it should work. I'm not saying dogfooding isn't a good idea. I just think testers are very important now that I'm a programmer.


26

You should be careful about becoming the go-to guy for office hardware problems. This can include PC troubleshooting, server admin, backups, and even phone system work. I made the mistake of mentioning my previous hardware experience, and eventually my hardware/troubleshooting duties severly conflicted with my programming duties.


26

Have you thought that it may not actually be him, but you? The fact that you referred to "punishing" him seriously makes me think that there's something foul in your mentoring methods. Take a step back. If this developer has a CS degree, he has already proven the fact that he possesses the ability to learn. It's your job as lead to figure out how to explain ...


25

A phone number and/or e-mail address. No matter what you ask him before he leaves, you will remember 10 more things to ask him as you see his car pulling out of the parking lot. Note: you are much more likely to get good information if he is leaving on good terms - try to make the transition as pleasant as possible (no matter why he is leaving).


24

Well, its mostly a case of the age old adage Dont optimize (for expert only) Dont optimize yet But actually I can think of three main reason to avoid unsafe code. Bugs : The critical part of your question is "if you're sure your code won't cause errors". Well, how can you be absolutely totally sure? Did you use a prover with formal method that ...


24

tl;dr Yes. Many companies produce software which requires no GUI - Drivers, hardware controllers, data storage and processing, etc. GUIs may be used to interact with non-GUI software, but the GUI part could be so simple or far removed that it makes no sense to make them part of the same package. In such cases it's unlikely that the original developer has ...



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