|
I've worked for startups... I've worked for big firms. They were all in the financial sector, though.
In my experience, there isn't much of a correlation between user intelligence and good treatment of us geeks. Some users are easy to work with, and some are just a constant pain in the #%*#@$. That's humanity... Good apples and bad apples.
And when it comes to dealing with other programmers... Same thing. Good ones and bad ones, wherever you go.
|
|
|
|
|
Then I think I am unlucky, I have more of the bad apples.
|
|
|
|
|
Deadlines and "featureitis" are part of the game. Marketing will always say that they need features x, y, and z by a certain date or they will not be able to position the product. Engineering will always say that there is no way the product can be ready in time. Eventually, you discover that Marketing's feature list isn't quite as firm as they think, and Engineering often discovers a clever way around some of the difficulties. At least, that's the way it's supposed to work...
As for coding standards, it is not for nothing that they are known as "religious preferences". In my experience, any coding standard will work as long as it's followed consistently.
As for people, I have worked with all kinds. Part of being a professional is learning to live with your colleagues' quirks, but this does not mean that you should accept abuse.
I hope this helps.
If you have an important point to make, don't try to be subtle or clever. Use a pile driver. Hit the point once. Then come back and hit it again. Then hit it a third time - a tremendous whack.
--Winston Churchill
|
|
|
|
|
The question I think you need to deal with is: is the frustration and "lack of fit" you are experiencing in the work/workplace you currently are employed in a sign that this type of work is, perhaps, not the right place/work/role for you ... at this point in your life.
Of course, reading your post, we can't know what's going on in your workplace, what the "culture" is, what the norms for interaction are. And, while I suspect that you are undergoing some form of "culture shock," and that this job is a very new type of experience for you ... that's just a hypothesis.
Extreme chronic personal dissatisfaction is a sign that something needs to change; the degree to which that change involves/needs/requires a change in your cognitive appraisal of "how things are" or, needs a change in the external reality (the work, your role, the environment) ... that's a very individual thing.
I'd like to suggest you consider some counselling to help you clarify what's going on.
best wishes, Bill
«There is a spectrum, from "clearly desirable behaviour," to "possibly dodgy behavior that still makes some sense," to "clearly undesirable behavior." We try to make the latter into warnings or, better, errors. But stuff that is in the middle category you don’t want to restrict unless there is a clear way to work around it.» Eric Lippert, May 14, 2008
|
|
|
|
|
Member 12345678 wrote: Are lot of programmers behave like a**hole, or only my company is different?
Do NOT ask me that question, lest you get a tirade.
But you did...
Member 12345678 wrote: everyone argue about deadline and feature and where to put parentheses and a lot of things make them look like the imbeciles.
Those are NOT the things that make other programmers (and I use that term so loosely it becomes devoid of meaning) look like imbeciles.
You want to know what makes them look like imbeciles?
- unrealistic, overly optimistic predictions of when work will be done, because they have NO EXPERIENCE in estimating tasks.
- lack of planning, design, planning, architecture, planning, planning, planning.
- constantly wanting to re-invent the wheel because they're too lazy / scared / dumb to learn what the senior developers have done
- wanting to use the latest gizmo (language, open source, etc) with no consideration to maintainability, especially when they go away and the company is left hold a WTF is this shyte and who the heck has actual experience with it that we can hire and fix it???
- an absolute lack of understanding of the usefulness of unit tests, integration tests, logging, good architecture, mocking, etc.
- an absolute lack of understanding of what tooling is necessary to support the customer, the tech support people, and the QA people.
- no requirements documentation, just diving into coding with no consideration, thought, or exploration of the bigger picture.
THOSE are the things that make other programmers look like imbeciles.
Marc
|
|
|
|
|
I agree with your points, because I've seen them all happen.
I'd just like to add an additional piece to restore some hope to anyone who might, after reading all of this, feel as though the development career landscape is nothing but a desolate wasteland: there are some good teams out there that don't have the issues you mentioned.
In my experience, the good teams tend to be smaller ones with a decent amount of experience. That's not to say everyone is senior. A mix of senior and more junior developers can work well in the right environment.
I think that strong technical leadership might be the most important part of a non-pathological dev team. It's important that leadership set expectations in terms of estimating, planning, testing, documentation, and finding the right balance between relying on proven technology and bringing in newer pieces when they are the right tool for the job. I worked at a company that had this at the start, and it was great. Over time, though, the insanity level increased in direct proportion to the MBA-types who joined the company and started making promises to customers and investors without checking to see if the promises were achievable within a reasonable time frame, or even checking to see if the promises would be achievable ever.
So although all of your points are things that make programmers look bad, I believe that in many cases, petulant programmers are the proximate cause of the problem, but weak or non-existent technical leaders (or technical leaders that are undermined/handcuffed by non-technical leaders) are the ultimate cause.
|
|
|
|
|
Ryan Peden wrote: I think that strong technical leadership might be the most important part of a non-pathological dev team.
Quite so, and this seems to be most lacking in my current experience.
Ryan Peden wrote: but weak or non-existent technical leaders (or technical leaders that are undermined/handcuffed by non-technical leaders) are the ultimate cause.
Absolutely. That is exactly the problem I'm dealing with.
Marc
|
|
|
|
|
Hi Marc, I think this is a very valuable lesson for the OP ... and for others ... skill in recognizing shades and flavors, levels and strata, quantum states and spin, etc., of imbecility is a very important skill for any programmer.
Without a working knowledge of the taxonomy of such impaired faculties, the programmer may be, indeed, challenged in choosing the appropriate disguise for their own inabilities and intellectual lacunae.
It took me years to settle on "excess vocabulary" as a modus vivendi for passing myself off as the wretch you see now who dares to step into the photograph of his (far, far) betters.
cheers, a wretch
«There is a spectrum, from "clearly desirable behaviour," to "possibly dodgy behavior that still makes some sense," to "clearly undesirable behavior." We try to make the latter into warnings or, better, errors. But stuff that is in the middle category you don’t want to restrict unless there is a clear way to work around it.» Eric Lippert, May 14, 2008
|
|
|
|
|
BillWoodruff wrote: n choosing the appropriate disguise for their own inabilities and intellectual lacunae.
Like "I know Haskell, so I'm going to do stuff in F#."
Marc
|
|
|
|
|
I beg pardon if my question annoy you, but you miss point. I say this as the example only, I am not expert in everything and not good explaining.
Some of these things I also do myself when inexperienced. Maybe I am imbecile too but this industry expects of us so much knowledge in different things in very whort time. It is like asking the surgeon who is expert in brain to operate on heart and the next day do kidney transplant and treat psychological patient that same night, and also write document for nurse to do same things after reading it.
|
|
|
|
|
Member 12345678 wrote: but this industry expects of us so much knowledge in different things in very whort time.
It's not the industry, it's incompetent CTO's that expect 1) people to come up to speed quickly on complicated technology and 2) everything to written simple enough for a beginner to be able to understand immediately.
Marc
|
|
|
|
|
You missed my favorite: demanding you do something a certain way and then freaking out when you do.
|
|
|
|
|
Joe Woodbury wrote: demanding you do something a certain way and then freaking out when you do.
Or the other side of the coin - giving you cart blanche to implement a solid architecture, then freaking out that it's too complicated for the beginners.
Marc
|
|
|
|
|
I enjoy my work as I like to code, I also changed careers to Development from Sales. I like the fact in IT I get paid for the work done, and my check is not down to fate or luck!
I have liked doing puzzles and problem solving since primary school! I see coding as an extension of this! So as I have little worries on how much I get paid and I am doing something I really like or am well suited to; I guess I am not the person to ask am I doing something I enjoy!!
|
|
|
|
|
Member 12345678 wrote: where to put parentheses and a lot of things make them look like the imbeciles Does seem childish, if you compare that to saving a life, with blood on the walls, sirens going.. .but a wrong parentheses could actually be the cause of an accident.
Member 12345678 wrote: but intelligent people treat others better? No, but the wise do
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Basically you are asking the wrong question and you know that. Whether or not other people enjoy the work makes no difference. What matters is how you feel about it. Put the issues with your current coworkers aside and ask yourself if you like programming on a basic level. If yes, you can find a way to make it meaningful. If not, you need to get out.
|
|
|
|
|
Yes you are right but enjoying the programming is not enough if other coworkers are difficult people
I only ask how it is like in other places because then maybe I can change the company
But if this work attract more people unpleasant it makes no difference, because everywhere is same problem
|
|
|
|
|
You worked for MSF and that gave you a sense of purpose.
Try to find a domain in programming that will give you a sense of purpose.
I'd rather be phishing!
|
|
|
|
|
Member 12345678 wrote: Are lot of programmers behave like a**hole, or only my company is different? I think I make the wrong choise
Unless you're one of the people who participates in the arguments, then yeah, sounds like you made a wrong choice.
As for company size, it makes no difference, its all about the team members and the manager. Big companies tend to be more formal about some of these things that cause arguments -- they tell you how they want it done -- which eliminates a lot of the arguing, but don't work there if you can't accept how they do things.
Don't forget, the interview is also your opportunity to decide if you want to work with them .
We can program with only 1's, but if all you've got are zeros, you've got nothing.
|
|
|
|
|
Oh yes, assholes can be annoying. It's hard to avoid them though. Even if you somehow avoid everyone, there will still be one left.
|
|
|
|
|
Hi All,
I have just done an IKM Assesment, I feel unsure of it. A lot of the questions I would have prefered to see the whole code for rather than you are presented with this XXX it would help to know if XXX blew up what it would affect. I also think some of the questions were a little off, asking about digital signatures and web down loads, I was doing an Embedded Test!
|
|
|
|
|
I Killed Mom?
There are only 10 types of people in the world, those who understand binary and those who don't.
|
|
|
|
|
International Knowledge Measurement...
|
|
|
|
|
|
|