Tag Info

Hot answers tagged

115

Ok, here goes my take on this big and complicated topic. Pros for keeping your coding style: Things like x = x || 10 are idiomatic in JavaScript development and offer a form of consistency between your code and the code of external resources you use. Higher level of code is often more expressive, you know what you get and it's easier to read across ...


80

Don't worry about meeting some ridiculous concept of "skill" so commonly heard in such statements like: All programming languages are basically the same. Once you pick up one language well you can pick up any other language quickly and easily. Languages are just tools, there's some overarching brain-magic that actually makes the software. These ...


69

Using libraries instead of reinventing the wheel: Great! That's how everybody should do it. You don't get paid to do what's already done. Using snippets: As long as you understand what you copy-paste, and as long as you invest the time to make it all consistent (instead of a patchwork of different styles and approaches), there is nothing wrong with it.


62

You should be able to defend/explain each and every word you put in your resume. Kind of like you dissertation/thesis. I have seen many candidates rejected with the reason "could not justify what he had put in his resume". One approach is to follow Google's self questionnaire. Rate each skill on a scale of 10. That way we can project how relatively ...


60

I wouldn't be too concerned about it. You aren't hiring him to work on a whiteboard; you're hiring him to work at a keyboard. The whiteboard is an in-interview technique to help demonstrate his competence. If that doesn't work well for him, but he's able to demonstrate his competence in other ways, then that's an irrelevant implementation detail. From ...


57

To the trends you mention I would add one more, which IMHO explains them: There is vastly more programmers (needed) than ever. The amount of tasks which require or include programming is ever increasing, and in an even higher rate than the number of programmers. Nowadays there are several microchips in an average car. In 5 years there may be a chip in your ...


57

I think this is a very positive sign of your skills. It is far more common for people who have difficulty coming up with the 'better' design in a team to be completely incapable of recognizing why another design is better. You have two really great (and surprisingly uncommon) strengths going for you: You are capable of assessing your designs against ...


49

Yes I've done mindfulness practices for several years since doing some DBT classes. They're not going to make you an instant algorithm whiz, jack up your lines-of-code-per-day by an order of magnitude, or let you code 24 hours a day non-stop. But here are some things I've seen... You become more effective at dealing with what's really going on Would you ...


49

Every programmer I know has been in your spot at least once. I know I have. It's a killer, for sure. The way I get to feel better is to take the problem to the boss, explaining it to him in exactly the vivid words you've so forcefully and heartbreakingly used here in your post. Yes, of course your boss has noticed but he might not know that it's not your ...


45

Programming is one of the fields where experience matters. Therefore, to become a better coder, you should code more. However, writing is not the only thing you should do. You also should read code of other developers and learn from it what a good code is. Refer to SO questions about this. You might also find books, which are specifically devoted to ...


42

... how can I develop programming skills that can be applied towards all languages instead of just one? The key to this question is to transcend the language and think in not the language you are coding in. WAT? Experienced polyglot programmers think in the abstract syntax tree (AST) of their own mental model of the language. One doesn't think "I need ...


41

There's a big difference between hashing out code on a whiteboard when brainstorming and hashing code out on a whiteboard when there's a guy who already knows the answer staring at you and waiting for you to make a mistake. Some people get really nervous in that environment. And even if you are not nervous, being in technical interviews all day takes it out ...


40

Comment Well Should you lower the skill of your code? Not necessarily, but you should definitely raise the skill of your comments. Be sure to include good comments in your code, especially around the sections you think might be more complicated. Don't use so many comments that the code becomes hard to follow, but be sure to make the purpose of each section ...


37

In Real Lifeā„¢, I would rate this skill as a "nice to have", but not at all required. In a university setting it is different, however. An ability to code without documentation can be used as an indirect indication of student's familiarity with the subject. In a sense, seeing you code something without touching the documentation tells the professor that you ...


33

Do some people have a knack for programming. Absolutely. If you don't have a knack for it, can you still be a great programmer? Yes, but it'll take more practice. Either way, being really good at programming takes time. It's sort of like playing an instrument. Are some people naturally gifted? Yep. But many of the greats just practiced longer, and ...


33

It depends on the amount and type of programming you are required to do and the amount and type of managerial duties you have to perform. Being a manager means lots of interruptions, changes of tack and things like meetings etc. If your programming is "limited" to small pieces of non urgent work then you can fit these in around your managerial duties. If ...


32

I would say that it is essential to understand every single detail about why some bugs were occurring and why certain changes eliminated those bugs, and it is also common among developers to sometimes get the program working without really knowing the details about why the fix worked! The art of changing things until a bug disappears, without understanding ...


30

You can take a look at the Programmer Competency Matrix and see where you are on that and where there might be room for improvement. Getting involved with the local development scene can be beneficial as well, since you'll be in a position to compare yourself against developers from different environments (i.e. not just your co-workers). To see what your ...


29

You have asked so many questions in one; let me try to answer while segregating them. I hire many people which falls in this profile type and quite often i have to take so many interviews and reject people because often they don't quite have clear answer to the questions you asked. Is having good mastery in C or C++ is good enough to qualify you for the ...


28

You summarize the situation correctly, but completely misinterpret the meaning. As software becomes more powerful, the tasks it takes on scale with it. So sure, it may not be necessary nowadays to be a database programmer to create a phone contact database when you can use Access. And it may not be necessary to be a web programmer to set up a blog when ...


28

How to Win Friends and Influence People has plenty of good ideas though some of these may seem obvious: Fundamental Techniques in Handling People Don't criticize, condemn, or complain. Give honest and sincere appreciation. Arouse in the other person an eager want. Six Ways to Make People Like You Become genuinely interested ...


28

The people who fine-tune their resumes to the job for which they are applying are the most successful at getting interviews. I've experienced this from both the applicant side and the reviewer side. If I'm hiring for a web developer position, I'm probably not going to be concerned about whether or not the applicant knows C++ or Objective C. It's also been ...


27

For the people that really matter, no, it shouldn't confuse them. Anyone who knows anything about real-world C and C++ programming knows that although despite their similarities and history, production programming in either is more often than not a completely different animal.


27

There seems to be a huge aversion to creating a function in JS. This aversion causes people try to be clever and use ridiculous tricks just to keep stuff in one line like a function call would have been. Of course the function name in a call acts as extra documentation too. We cannot attach a comment to a tricky expression because then it would defeat the ...


26

"it depends" Experience <> knowledge or understanding. Programmer 1 could be very good, a guru even, or they could be someone fumbling around with the language for the last 5 years. Programmer 2 could be someone who understands concepts independently of language they're using. Or someone who found language B too difficult and hopes A is easier. Coding ...


26

Consider the following truth: you will get exactly what you measure and monitor. With that in mind: Terrible things to measure Lines of code - Elegant code has a concise nature to it. Lines of code encourages bloat, copy and paste, or even worse, code for the sake of code. Time-to-solution - Code done quickly contains lots of bugs. Bug fixes - This goes ...


26

Assuming that the more experienced person in the pair has the temperament to mentor the other person, pairing someone with little experience in the language or the problem domain with an experienced person would facilitate knowledge transfer. The less experienced person would have a mentor to instruct them on the language, the domain, the application, and ...


25

As for me, when I review a candidate's resume that has a laundry list of skills, especially with a self-assessment of "expert", that isn't placed into the specific context of the projects and accomplishments where you've applied those skills, I think that there's at least some inflation of skills, and potentially some Dunning-Kruger effect going on there. ...


24

Commit to a language and framework. Once you have made that commitment, forsake all others. Be faithful to that one language and framework, at least for awhile. Then... Pick one thing to code, and work on that. Focus on coding that only. Get it done, quickly. Then work on the next thing. If you find yourself getting bogged down in a task, break it ...



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