Tag Info

Hot answers tagged

537

In my experience, good programmers want to program with as few distractions as possible. Some of these are more relevant to big companies, and I'm not sure where you work, but here are some examples: Casual dress code: Young programmers in particular will have a tough time avoiding resentment of a strict dress code. "I'm just going to sit at my desk all ...


226

First, as a senior developer, I expect the juniors I lead on projects to bring their concerns to me in a straight forward and direct manner. If they disagree, that's perfectly alright with me. In some cases, I will take action on their concerns. In most cases, their concerns are tossed aside put aside with a short explanation of the reasoning, not out of ...


220

You have stumbled on the achilles heel of most CS educations: they teach you the tools and techniques, but not the trade. Building software is a craft, one which you only acquire through years of practice and the experience of having your software used (users are much harsher critics than teachers). Building software is also quite often a business, one where ...


181

There is a trick, one that a junior successfully pulled on me (the extremely bad tempered know-it-all senior developer): Do whatever you are asked to do, and exactly how you are asked to do it - be fantastically professional or go home, If you have (any) concerns, write them down - never assume you'll remember (true developers log everything), If ...


152

The opportunity to work alongside experienced programmers.


129

I always love going to conferences and training and consider that a perk. Not all companies pay to have their devs continue to learn. There's always more to learn. You benefit because they are learning more. They benefit from that too, but also have fun and get away from things for a couple of days and get to mingle with other devs.


123

I think you make a good point. Most of the programmers on this site are likely working professionals whose goal is pretty much to create quality software as quickly as possible. Reinventing the wheel fails this goal on two counts. Re-writing code that exists is wasted effort that could be used on the unique parts of your system and makes the project take ...


120

I've got some bad news for you bhamlin: You aren't an intern. Rather, you are an unpaid/cheap employee. An internship is a unpaid or low-paid position where you can practice your newly aquired skills in a safe, (usually) relaxed environment, and get a chance to observe 'real' professionals in your field doing 'real' work, while getting feedback on the ...


108

My first open source contribution was for a library that I had previously used (and would've suffered greatly without) on a previous paid project. During my initial use I had spotted a bug in the code so I created a patch, joined the project, and submitted it for review. About 8 months later when I had some free time I decided that I would give back (and ...


102

I personally think that every piece of code should go through a code review, it doesn't matter if you are junior or senior developer. Why? For starters your title doesn't state anything about how you develop, and a senior developer could learn something from the junior. At our company we shift around so one of the other members of the team review your ...


99

This sounds like every other system that has been thrown at me to fix. Relax, this happens to a lot of people. A junior thrown in at the deep end with no experience, who has no help, no support and no guidance isn't exactly a recipe for success. Hiring and expecting a junior programmer to build a brand new system from scratch that works well, performs well ...


92

I'm an old programmer and I'm not interested in mainframes. My reasons will probably be similar to the reasons given by young programmers, however, albeit without the ignorance of the technology so evident in many of these answers. First, let's get the ignorance out of the way: The various claims of inability to try out mainframes are false. Hercules ...


89

Great developers once had no experience, too. Great developers are not only expensive but also hard to find. So, if you have a high-quality screening and hiring process, hiring entry-level developers can be a great way to find those up-and-comers and turn them into great developers.


85

Companies that value their developers and their products know that sustainability is important. 60 hour weeks are not sustainable. Developers are not manual laborers, they are decision makers. Our decision making faculties become depleted and require rest far more quickly than our bodies. This will have adverse effects on the developers (like causing them to ...


83

Give them each a budget and let them configure their own computer setup. Make them submit a plan for what they intend to purchase. Talk over the plan with them. It will be a great way to kick things off. Give them a budget for a cell phone and unlimited plan that the company will pay for. Pay for their home Internet service. Little things like these ...


64

In a traditional undergraduate computer science program you learn just programming. But the real world doesn't want people who are just programmers. The real world wants real software engineers. I know many job descriptions don't seem to express this distinction, which only confuses the matter. In the real world you need to be able to: Gather and analyze ...


58

There are several things you can and should do to prepare for the task: Think about the problem and draw some diagrams. Make sure that you know what the problem is that you are trying to solve. Do research on what you are trying to do. The internet is a valuable source of information. I am not saying ask Stack Overflow -- I am saying do research on how ...


57

Being able to work remotely + flexible hours, Tech books give-a-way, and lots of love!


57

A boss who would ask this question.


57

I'd like to give you some warning and some suggestions. Warnings: Don't over-estimate your knowledge: right now I can assume you know enough to write a simple application and more than what is actually taught in class. But that doesn't make you a "professional programmer"; it can make you a "freelancer" at most. Don't under-estimate the value of what is ...


56

I am 27 and have been a professional developer for more than 4 years (so I hope that qualifies me as still young). I also work as an Integration specialist so I get a lot of exposure to the mainframe development world. There appears to be little or no innovation going on in the community. I know that this is not exactly the case, but to the casual ...


55

Whenever you start from scratch, you'll almost certainly make the same amount of mistakes or more due to the Second System Syndromme. Your new mistakes will be different, but the amount of time needed for debugging will be similar and so will despair about how it's not a good fit. It will also delay deployment into production or deployment of new features if ...


51

Philip Greenspun wrote about this once. He suggested making the office a better place to be than home, which is easier for young programmers. For example, domestic hardware that someone living alone cannot justify: expensive coffee machine, pool table, huge TV with DVDs to watch. Make the office more sociable: put beer in the fridge and have a drink ...


50

The interesting thing about software development is that it doesn't matter how good you are -- there is always someone better or at least different enough to still teach you something. It's also not uncommon to look at code written a few months ago and think it sucks, regardless of your level of experience. For me, once I realized the gap between my skills ...


45

There are too many things you can't learn in college. There are also many things that are specific to the company. In both cases, you have a choice: either you ask your colleagues for explanation, or you don't ask anything to anybody, and take the risk to make a mistake. If I hire someone who doesn't have a professional experience, I would not mind if ...



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