What are a few attributes that make a developer look bad and incompetent?
If he not asking the questions, because questions rises only a creative mind.
Don't want to learn new things, don't want to share with other developers and think he/she is the best in the world.
The most challenging trait I've encountered from other devs is hubris. It leads to two issues mentioned below: a reluctance to expand his/her knowledge base and a detrimental sense of having the answer for everything. I try to consistently put myself in check with respect to what I know, which tools I'm using for a particular task, etc. Doing so has made me a better developer and a better teammate.
I've worked at a few agencies and from what I have seen, the worst qualities of a developer are as follows:
There's a bunch of other things as well, but these, to a business owner, are by far the worst. You can always teach the developer by sending him to conferences and so forth, but you can't change his persona.
Taking shortcuts while writing code is the biggest turn off for me. It might work today, but it's going to come back and bite you in the ass very very soon.
For me defining the "bad and good" traits is a risky procedure. We tend to judge based on those. To me the only thing that really matters is, do they work as a team. I believe in the ability to change and evolve.
One of the few really bad things is: not willing to expand ones knowledge.
Not because I cannot use them but more because it's sad to see people stuck because of it.
The worst quality that a developer can have, is a carefree attitude. When you are assigned with a task, you should have a connection with it and feel motivated to complete it. I have seen people who don't care what the product is about. Only thing that matters to them is moving the clock. That person might be skilled and might have a lot of knowledge, but, if he doesn't care about what he is doing, he cannot enjoy the task, and thus cannot contribute to it in the right way.
The second worst thing is arrogance, and it is true in all fields. With knowledge and understanding comes a feeling of superiority. It's ok to feel good, but that knowledge should not be used to dominate, intimidate, or belittle someone. You are a junk if you do that.
The third thing which I find disturbing is inability to take chances. We all get saturated and bored, and it is natural, but our primitive instinct of security prevents us from taking the decisions. This will suck out the energy from you sooner than you'll realize. Take chances, always go for learning and exploration. Happiness is what matters the most.
Hope I'm in the right light. :)
Most of programmer don't have confidence or believe yourself. And they lack of leadership skill. Most of programmer's wantepreneur. But they don't want to take risk.
This is my personal experiences. A non-technical manager or leader easily handle all programmers.
The most obvious and worst one is writing bad code and not wanting to learn to write properly. Those people can't even be called developers.
In general, not craving knowledge is a bad thing when it comes to software. Developers need to get in touch with new tools/technologies or need to become masters of the technologies/tools they already know. Not doing one or the other is a surefire way to drag oneself (and one's team) down, if it doesn't become a way to get oneself replaced.
Another one is bad communication. I'd rather not work with developers who can't make themselves clear in their output (code, comments, documentation, specifications, requirements, opinions, etc), or that are unwilling to read/listen to my input.
Full Stack Developer
Saurabh Mhatre
Web and hybrid applications developer
As a developer there are many things that we need to learn not just for programming but for overall project management.
First of all there is a major difference between code which just works and writing optimized code keeping in mind space and time complexity. Most of us fall into the habit of writing the first type simply to meet deadlines but it really impacts your style of coding and potential greatly in the long run.
The other problem that arises is when some people become expert in some area or stack(or think that they are experts) and don't like understanding viewpoints of other.Gradually they become egoistic and force their opinions rather than keeping an open mind to find solutions to problems. This kind of nature will eventually stunt their growth and image drastically.
The other quality that creates a problem is lack of proper communication and management skills.As you take senior positions in the industry this two qualities become a necessity because you have responsibility of making teams within you as well as handle projects properly.
In a nutshell the qualities that one should not have are laziness and shortcut taking approach for coding which implants the projects in the long run. One should not lose patience and be humble with seniors and juniors.Last but not the least being introverted is not something that will help when progressing at senior levels.