Hot answers tagged

390

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 ...


286

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, ...


272

No. This is woefully and terribly misguided. Java features are not somehow better than C++ features, especially in a vacuum. If your programmers don't know how to use a feature, train or hire better developers; limiting your developers to the worst of your team is a quick and easy way to lose your good developers. YAGNI. Solve your actual problem today, ...


173

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 ...


161

It sounds to me like you are putting the cart before the horse. What is the major problem your team is facing and which technologies would help fix it? For example, if there are lots of bugs, particularly regression-type bugs, then unit testing may be a starting point. If your team is lacking time, perhaps a framework may help (medium to long term). If ...


123

Just because the syntax seems similar on the surface doesn't mean that the two languages are compatible. 1, 4 and 5 are really the same question: Now, I'm no fan of C++, but saying "Code without C++ specific features is usually more maintainable" is just ridiculous - do you really believe that Java got everything right, and took all the good features while ...


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 ...


81

I will answer your questions in order. If Java doesn't provide a feature that C++ has, it means that the feature is not good, so we should prevent using it. Yes, any feature not present in Java is anathema on the hard drive. It must be burned from your code base. Those who do not obey will be scrounged, their souls used to placate the RAID gods. C++ ...


77

Here's a list of softies Software developer - is an employee on the full-time payroll and does the job of implementing the requirements for the application. Developers skip around on different projects working as when directed by their employers. Software consultant - is not an employee, and is brought in to provide advice (consultancy) as to how the ...


76

I've been in software development all my working life from junior developer, through senior developer to team lead/manager and now back developing (though hoping to get back into management sooner rather than later). My working life is now well over 25 years. All that time I've known developers as old or older than me. I think "burn out" happens if you ...


75

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 ;)


75

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 ...


73

Java? Modern?! You've failed at the first hurdle. If you want to be truly modern and avoid "professional suicide" then you must be writing Rust code. Of course, next week, it'll all change and you'll have to learn something even newer to keep up! Or, you could accept that no amount of buzzword technologies or methodologies or frameworks or any other du ...


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.


60

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 ...


55

Get everything in writing upfront. Never do anything for free. Sets a bad precedent for you and your peers. It destroys the local market. If a customer misses a payment, even one, stop work until they get current. Be professional and un-emotional but be firm. They are already into you for 30 days of work or more, don't dig a deeper hole. You aren't a bank, ...


55

I'm just gonna answer your reasons: I don't understand how you come to that conclusion. Different languages have different features. Depends on scope, architecture of language, sometimes preferences of creators and many more reasons. Some features of a language may be bad, but your generalization is plain wrong IMHO. Writing C++ just like Java may lead to ...


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, ...


54

Shifting the computing load between the server and the client is a cyclical phenomenon, and has been so for quite some time. When I was in community college the Personal Computer was just getting a head of steam. But Ethernet was not in widespread use yet, and nobody had a local area network. Back then, the college had a mainframe that handled student ...


52

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 ...


52

I've used GitHub profiles, twitter streams, and blogs all as indicators of quality in programming interviews/candidate screening. They all generate different signals in their own way. 9 out of 10 applicants have never submitted a single patch to a single open source project. Even updating broken documentation puts you into an upper echelon of developer. It ...


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 ...


46

A "Software Consultant" differs from a "Software Developer" based on terms of employment. The "Software Consultant" is hired as a contractor for a specified period of time and for a very specific task/role/project whereas the "Software Developer" (who is not a contractor or consultant) is a full-time staff member on salary, and may have multiple ...


43

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 ...


42

"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 ...


41

Absolutely and unequivocally: yes! It's a core skill which you will be expected to have at a large percentage of companies you'll want to work for in the future. As a developer, the technical aspects of testing are more interesting than than the methodological ones: learn using a unit testing framework, set up automated testing, try doing test-driven ...


39

Many companies are stuck like this; you might even be surprised to find that some of your developer colleagues are self-taught and became developers with no formal background whatsoever. These developers are often better at their jobs, since they will be the ones that are driven to learn new skills and succeed instead of simply doing the job. Unfortunately ...


38

We are all humans and thus judge superficially to an extent. We judge you by our first impression within seconds and don't even know it conciously. A clean and good look will benefit you. Studies show that good looking people earn statistically more than others. A bad appearance can and will be a disadvantage. Often times your appearance doesn't matter ...



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