Tag Info

Hot answers tagged

433

How do you deduce they are not working? As a junior I typed all day, hacking away at my code, with just 20 minutes for lunch. The more "senior" I got, the less time I spent typing and the more time I spent thinking. If I "stare at the ceiling" and my producer walks into the room, she starts to smile, because she knows in half an hour I will have solved a ...


227

Many companies are certifiably insane around this. Seriously. If you asked 10,000 tech mangers, "Let's say you paid Danica Patrick $100,000,000. Do you think she could win the Indianapolis 500 by riding a bicycle?", I'm sure not one of them would say, "Yes." And yet a good percentage of these same managers seem to think that highly-paid software developers ...


182

My response would be to say "I'm a little busy right now, can you email me and I'll deal with it later". Chances are some of his questions are legitimate, by forcing him to email you it doesn't interrupt your flow and he is unlikely to bother detailing the problem in an email if its trivial. You then also have a record to show to management if his questions ...


170

I would suggest that, in reality, one cost is visible and quantifiable, while the other cost is neither. If failing to upgrade the hardware bleeds even as much as $1000 per developer per week from the budget, no one outside (read: above) the tech department ever sees that. Work still gets done, just at a slower rate. Even in the tech department, calculating ...


163

From The Pragmatic Programmer, Tip #8 "Invest Regularly in Your Knowledge Portfolio": Learn at least one new language every year. Different languages solve the same problems in different ways. By learning several different approaches, you can help broaden your thinking and avoid getting stuck in a rut. Additionally, learning many languages is far ...


140

Sounds like it would do more harm than good. Ignoring for a moment whether it is fair for a manager to do that, let's look at the logistics... Problem 1: Are all bugs created equal? Developer 1 introduces a bug: Erases all customer data and curses at them. Developer 2 introduces two bugs: Form labels are not left aligned, and the calendaring feature is off ...


137

good code that only can do A is worse than bad code that can do A, B, C, D. This smells to me like speculative generality. Without knowing (or at least being reasonably sure) that your clients are gonna need features B, C and D, you are just unnecessarily overcomplicating your design. More complex code is harder to understand and maintain in the long ...


133

Run away, run very, very far away. And fast. You can try to talk to your boss about the situation, but from what you've written, it sounds like there's a fundamental lack of understanding about the importance to programmers of communication with outside resources, general collaboration, and just taking your mind off your work for a minute or two. Frankly, ...


133

I've had similar problems as you do. The two main strategies that have helped me are Only one project at any time: I've suffered from following more projects than I can count on my fingers, each "clamouring" for attention. Now I've radically cut down on projects either by finishing them "once and for all" or by simply dropping them altogether. Earlier ...


125

Try the following analogies: First one: "How long does it take for you to fall asleep?" "X minutes" "Now imagine that when you are close to falling asleep, someone walks in and interrupts you, how long will it take you to fall asleep now? Those few seconds you had left, or will you have to start again to 'sink back' to where you were?" "I'll have to start ...


125

I feel like I am staring into a mirror of me from seven years ago...I will share with you my experience. I was in a position like yours. Within a year I was senior level at the company I was at and I seemed to be churning out code twice as fast as everyone there. This went on for another couple of years before I got bored. I then went on to a much, ...


117

I wrote a little commandline utility called 'alert' which will cause the computer to beep / play a sound / etc. Then, when I have a lengthy command to run such as a make, I run make; alert. Where I can, I will also have it take an argument so it makes a different sound depending on the argument. Thus I can do make; alert $? and I'll know a) the build is ...


115

Understand that doing it right the first time, no matter how long it takes, is almost always going to be faster and cheaper than having to go back and fix it, or do it all over again.


105

I have the same problem, and the solution for me has been to spend the time doing something which will not get you sucked in. For me, this is usually either (1) filling up a water bottle, or (2) standing up and taking a 30-second walk around the office to stretch my legs, which need the movement anyway. You can get lost browsing the internet; you rarely get ...


103

Courtesy of Seth Godin: Yak Shaving is the last step of a series of steps that occurs when you find something you need to do. "I want to wax the car today." "Oops, the hose is still broken from the winter. I'll need to buy a new one at Home Depot." "But Home Depot is on the other side of the Tappan Zee bridge and getting there ...


101

Personally, I would want the company to just sort out the equipment I need, not give me a budget and make me to deal with all the research, negotiation and other hassle that goes into buying and installing corporate hardware. In the end, all I want to have to do about hardware is state my few requirements, and have someone else do all of that work, so ...


95

I will put my 2 cents in here from the employer's side ... who is also a developer. I agree that low end machines are useless but top end machines are overkill. There are a number of reasons why you don't get the top end machines: Cashflow is a real issue, not just a theory. You might be getting paid $60K-$80K per year, but this month we have a total ...


90

Well, I said my piece on this here: When you're a fast, efficient typist, you spend less time between thinking that thought and expressing it in code. Which means, if you're me at least, that you might actually get some of your ideas committed to screen before you completely lose your train of thought. Again. Personally, I can't take slow typists ...


90

A genuinely terrible programmer can have sub-zero productivity (the bugs they introduce take longer to fix than it would take to just do all of their work for them). And a genuinely great programmer can do things that poor and average programmers would simply never achieve, regardless of how much time you gave them. So for these reasons, it's hard to talk ...


89

The Discipline of Finishing. Like many software engineers, I have a tendency to accumulate projects until I am contributing so little to each one that none of them makes meaningful progress. Couple that with a classic ENTP personality type, and you get a busy, interested and ultimately unproductive programmer. Over the years, I have learned and practiced ...


82

Ask your executive how many pages of contract his lawyer can write per month. Then (hopefully) he will realize that there's a huge difference between writing a single-page contract and writing a 300-page contract without loopholes and contradictions. Or between writing a new contract and changing an existing one. Or between writing a new contract and ...


81

Are you describing a feeling of: 1) I don't really want to be working on this? or 2) I'm stuck? I don't want to work on this Some people do better with deadlines. Peel off a reasonable chunk of the task and set a deadline. Sharing deadlines with others can help keep you accountable. One of my favorite tricks is to start each day with a sheet of ...


79

Quit. No, not your job! Just get up and go home. You're done for the day or the weekend. 19 times out of 20 when you come back to the problem next, the solution will present itself within an hour.


78

I research most problems I encounter. If I encounter an issue, my first assumption is that I am not the first one to have encountered it. I also don't believe in reinventing the wheel - so will look for an existing solution before writing my own. The thing about research is that you need to evaluate the results and how well they fit (or not) with your ...


77

Wow. Can't believe no one has mentioned the venerable Model M yet. Advantages: Built like a tank. Mine was manufactured in 1987, and is still going strong. Removable / replaceable key caps. Great if you want to remap to something weird like Dvorak, or just remove entirely to show off your touch-typing skills. Clean separation of alphanumeric keys, ...


77

If you are doing overtime, you are doing it wrong! Fail one sprint, adjust the focus factor and accept the REAL pace. It sounds like there is some sort of pressure from the Product Owner? Speaking from my own experience, you will not get this software finished earlier by working overtime. You will write software with bad quality. How smart are you after ...


77

Anecdote time: I've had two developers work for me who leaned towards over-engineering in this manner. For one of them, this basically ground his productivity to a halt, especially when starting up a new project. Most especially if the project was, by its nature, fairly simple. Ultimately a piece of software that works now is what we need. This got so bad ...


76

I had no prior experience when I interviewed This sounds like it is your first job in the corporate world. I like having IRC open to talk in a few different rooms during the day and keep in touch with friends/family over IM Don't do this. There are a lot of companies who work in regulated industries where IM is totally banned. There is a time ...



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