Hot answers tagged


You can call yourself a Senior when: You can handle the entire software development life cycle, end to end You lead others, or others look to you for guidance. You can self manage your projects Software development is a curious creature unlike other fields. Sometimes, a fresh punk out of college can run circles around veterans who have 20+ years of "...


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


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


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


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.


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.


When I hear “Senior Developer” I think of someone who has mastered programming. I think of a person who can design, code and test a system. They can talk to system architecture or component design. They understand and use design patterns. This person can anticipate the performance bottlenecks, but knows not to pre-optimize. This person will leverage ...


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


"When should you call yourself a senior developer?" - When I started to mentor junior developers.


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


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


I'm 52, and Technology Director of a company I co-founded 15 years ago, and this is a question close to my heart. I spend about 40% of my time coding, mainly developing existing and new products and I truly hope to be doing the same thing in 10 years time. I'm intrigued by the notion that older programmers are uniquely hampered by irrelevant skillsets. I ...


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


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


How to read other people's code. Code doesn't exist if it is not checked in Version Control System.


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


The longer you stay, the worse it will get (in terms of your being up to date on current technology). Go now.


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 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? :-) :-) :-) :-)


"So all things being equal" They're not. These titles are not equivalent. I would rank them like this, highest to lowest: Principal Engineer Senior Staff Engineer Staff Engineer Senior Engineer / Senior Research Engineer In general, "senior" implies depth of experience and maturity to work independently with less direct guidance in day to day activities....

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