Hot answers tagged experience
That because you're a programmer, you know how to fix [person]'s virus ridden machine.
A common HR thing that drives me nuts when I'm job hunting: the implicit assumption that all coding skills are language-specific, that there is no software engineering expertise that transcends command sets. That ten years experience in Java and another five in Perl mean you'd be completely useless on a project that uses, say, C#. "Yes, there's a learning ...
If you're not typing, you're not working. I believe zombie blank stares and coffee walks are essential to programmers organising things in their heads.
You're not any slower in completing projects. Previously, you thought your novice projects were done when they really were not. You should sell this quality to clients. "This company might get it done faster and cheaper, but is it really done? Or will you be hunting bugs for years?" Beyond that, you need to know and accept the old idiom: "Perfect is the ...
Sorry, this is going to be long, but it's based on personal experience as both architect and developer on multiple rewrite projects. The following conditions should cause you to consider some sort of rewrite. I'll talk about how to decide which one to do after that. Developer ramp-up time is very high. If it takes any longer than below (by experience ...
that you can speed up a late project, simply by throwing more people at it.
No site blocking. If my projects are delivered on time and my productivity is not suffering, I don't see any reason to block anything (except - if you really must block something - well known spyware/malware sites). I don't really have anything else to add except that. We are professionals, not children.
Sounds like it's time for you to join the dark side: management. I'm not suggesting you give up programming and become a manager. But it seems like all the experience you've quoted up until now has been technical in nature. In simple operation of writing out a file, you can think of 10 different aspects that a less mature developer would never consider. Not ...
This will vary but this is how I see it at a place large enough to have distinctions between types of programmers. I would say entry level and Junior are the same thing. They are just out of school and have less than two years of work experience. They are assigned the least complex tasks and should be supervised fairly closely. Generally they know about 10% ...
That writing software is easy. How else do you explain all these projects that run over time and over budget and people (politicians, the media etc.) are still surprised, and customers complain when you tell them that their "small website" (or whatever) will actually take 6 months to develop and cost several thousand dollars (pounds, Euros, [insert currency ...
The complexity of the app is directly proportional to the complexity of the UI. By this reasoning, you should be able to build Google or Twitter over a weekend.
All programmers are good at math. :-)
Any teenage kid who hacks with computers is equivalent (or superior) in skill to a veteran working programmer. My 14 year old nephew is good with computers and I'm paying him $10/hr to mow my lawn. Why should I pay you six figures to write the next FaceBook?
The bug is in your code, not the compiler or the runtime libraries. If you see a bug that cannot possibly happen, check that you have correctly built and deployed your program. (Especially if you are using a complicated IDE or build framework that tries to hide the messy details from you ... or if your build involves lots of manual steps.) Concurrent / ...
Humble: An exceptional programmer will never claim their code is the best, in fact they will always be looking for a better way (Every chance they get.). Patient: An exceptional programmer will have boundless patience (This does not mean they will waste days on a problem. See: Troubleshooter). Troubleshooter: An exceptional programmer will be able to solve ...
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.
I worked for about 11 years in companies that didn't use source control. We managed (mostly by commenting changes and keeping code on a central server that could be recovered to any date). We never really asked whether there was a better way. That said, this was also in the days when I had the entire MSDN library in book form on my desk. Yes, there was ...
How to read other people's code. Code doesn't exist if it is not checked in Version Control System.
No. Never work for free for anyone but yourself. You'll get more out of good open-source credentials and personal projects, in the way of job-hunting, than you will out of working for some son of a b__ who thinks that your skills aren't worth paying for. Of course, if no one is willing to pay for your skills, you may need to find another career: software ...
Floating point computations are not precise.
I had the (likely) same problem many years ago, it lasted for a few years and I overcame it. So maybe it would be of some interest to you to know how I achieved that, even if I'm not sure my way will also apply to you. You should also have a look here : The Seven Stages of Expertise in Software Engineering It shows that productivity is in great part a side ...
It was actually in a 3rd party image viewer sub-component of our application. We found that there were 2-3 of the users of our application would frequently have the image viewer component throw an exception and die horribly. However, we had dozens of other users who never saw the issue despite using the application for the same task for most of the work ...
That real-time means fast. Stating "The packets need to be processed in real-time." is worthless and the evil twin...answering "How fast does X need to happen ?" with "Real-time" is possibly less than worthless...bordering on stupid rather than ignorant. Real-time means that, simply put, that function Y will always take X amount of time and that any ...
Why don't you guys simply write it right the first time, rather than spending so much time typing in buggy code and then later reading the code trying to find the bugs? :-) :-) :-) :-)
If you havent gone to university, you are not suitable for the job
Don't stop learning.
Heroic Coding Coding late into the night, working long hours, and clocking lots of overtime are a sure sign that something went wrong. Further, my experience is that if you see someone working late at any point in the project, it only ever gets worse. He might be doing it just to get his one feature back on schedule, and he might succeed; however, cowboy ...
That premature optimization means you shouldn't optimize at all. I've seen more horrendously bad databases because no one wanted to consider performance (critical to any database system) in design as that was premature optimization than any other database design issue . Rubbish, there are known performance killers, stop using them as your first choice. ...
I was in your exact situation recently. My company wanted to hire another programmer and I specifically wanted someone with more experience than me so I could continue to learn and grow. I was most nervous about the Interviews, so asked a question on here. To summarize, ask questions you know the answer to, are related to problems you have, or are ...
You never have to stop programming, ever, as long as you are enjoying what you are doing. However, your organization might have a ceiling that you reach, and you simply can't go into a higher position or obtain a greater salary unless you leave the company or leave programming and move into a leadership role as a manager or technical lead.
Only top voted, non community-wiki answers of a minimum length are eligible