Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Recently I have started working for company which is developing mainly low level stuff (like device drivers, system level apps etc.). I was hired as high level programmer to develop a machine learning system (details of this system are not so important). My problem is that my coworkers, that are all low level programmers, do not respect my job, because I am using high level techniques. They think that high level programming is easy and only low level requires skill and knowledge. This is quite unfair for me because writing a scalable machine learning system only by myself is not trivial task.

How can I convey them that my work is also valuable? Or maybe I am wrong and low level programming is so hard that only gods can handle it? ;) What are your opinions about that?

share|improve this question

migrated from stackoverflow.com Jun 1 '11 at 21:59

This question came from our site for professional and enthusiast programmers.

5  
Start learning assembler, quick! It can't hurt and it might help. –  Pete Wilson Jun 1 '11 at 21:32
27  
Find another job where people don't look down on you and respect eachother. –  Joris Ooms Jun 1 '11 at 21:32
2  
I am working on low-level stuff and I have been in companies where low-level guy was highly valued and been in companies where I am the only low-level guy. I have learned that high-level job is as challenging as the low-level work. I know this may not sound great but try to use your opportunity to learn low-level stuff to expand your skill sets. I have learned a lot from guys like you so even though it might be hard, try to stay positive and give it a shot. Good luck! –  Ilho Jun 1 '11 at 21:41
6  
Lots of beer might be a good start. –  user1249 Jun 1 '11 at 23:32
2  
Ask them if they would be kind enough to reduce themselves to implementing a d-separation algorithm for a Bayesian model for you? That should be pretty easy; they're low-level guys. –  JasonTrue Jun 2 '11 at 1:24
show 4 more comments

8 Answers

Contrary to some other posts I don't think this is purely technical argument but a psychological and relational one

  1. Sometimes in order to get respect, you first have to give respect. Turf-pissing and self-aggrandizing is common when you're unsure of your own value and try to defend it. Only when we feel secure in ourself can we start to give compliments to someone we in some way compete way. Perhaps they feel you don't give them any respect and therefore try to assert themselves. So show some sincere appreciation with those guys and start building a relation with them and see what happens. If still nothing chances they're probably insecure dicks and that's their problem :) (But you might want to change jobs if the dickiness brings to much negativity to the workplace)

  2. Ask yourself: Why do you need their "respect", are you so unsure of your own skills that you need outside confirmation? While being respected is always nice we should never judge our value through the opinion of others.

share|improve this answer
add comment

Next time you run into a really thorny problem with your machine learning work, describe it to them - in incomprehensible detail - and as soon as you see the brains starting to melt out of their ears, ask for their advice.

If they're associating "high-level" with something like "throwing CRUD forms together in a 4GL", an example of the sort of research problems involved in machine learning should change their minds.

share|improve this answer
add comment

The only way to get respect is to kick ass so thoroughly at your job that eventually no one can doubt you. Even that is not a foolproof plan but its really the only thing you need to worry about.

share|improve this answer
add comment

Turing proved that if a programming language fulfills a specific set of requirements, you can emulate all other programs written in any language fulfilling these requirements. (but it may go slower or faster, the point is you can).

In other words, there is nothing the low level guys can do, that you cannot also do (but probably a lot slower) and there is nothing that you can do, that the low level guys cannot do (but probably with a lot more elbow grease).

When you've all come to terms with that, then you all need to recognize that some things are faster to do one way than another, and that assembly is fast but inflexible, and highlevel stuff is (potentially) slower but a lot more flexible (oh, you need a 64 bit version, one moment).

Hopefully that will allow you all to work better together.

share|improve this answer
add comment

I'm not trying to dismiss your problem, but are you sure it's not just banter?

In the team I work in there are electronics engineers and software developers.

The EEs are always throwing banter our way saying things like "software is so easy", "we never make mistakes, the bugs are is always in the code", "software's for wimps", that sort of thing.

The devs will, of course, throw banter back like "if electronics are so difficult, how come they let you do them?", "oh, the bug was in the hardware? What a surprise!", etc.

It's harmless fun. A kind of social bonding.

Personally I'm not that good at banter, so when I'm stuck I just smile and nod, maybe roll my eyes.

Are you sure your coworkers are being deliberately derogatory? Maybe they're just messing with you.

share|improve this answer
6  
Like my wife says: It's not funny if it's not funny to everybody. –  Christopher Mahan Jun 1 '11 at 22:25
11  
@Christopher Mahan: I guess nothing's funny then... –  Matt Ellen Jun 1 '11 at 22:26
    
Of course some things are funny... –  Christopher Mahan Jun 1 '11 at 22:27
    
@Christopher Mahan: humour is one of the most subjective things there is. Nothing is funny to everyone. Besides, my point is not that banter is funny, my point is that maybe the other devs are trying to include md into the group. If it is actual bullying, then that's a different matter. Seeing the behaviour from their perspective might show md that it's not bad but welcoming, it might not. I'm just trying to give him options other than being offended. –  Matt Ellen Jun 1 '11 at 22:37
1  
If you think it is banter. Just let them know you don't find it funny, if they're adults they will understand. –  Ziv Jun 1 '11 at 22:38
show 9 more comments

Unfortunately, this is inherent in any profession (especially as ego-centric as software engineering) where there are multiple sub-domains, in which the individuals of each sub-domain have little or no knowledge of the other.

Really, this can take a long time to overcome as it's a cultural shift within the company. It takes understanding, knowledge transfer and relationships (professional of course ;)). Some may be simply unwilling to adopt new ways of thinking and will simply be hellbent on declaring their superiority. Until they're willing to understand the complexities of your domain (which may never happen), they will never appreciate how difficult it is and how much skill it takes. This is something that you'll have to live with.

While you're there, pick their brains and learn as much as you can. Widen your knowledge base. Don't expect change overnight (or even over the next year, depending on how large your company is).

share|improve this answer
add comment

Ignore them, get it done, and show them the light. When you leave and they try to reimplement it in assembler, maybe they'll understand the light.

share|improve this answer
add comment

Don't think of them as "low level", and don't worry about what they think of you. They don't understand what you're doing, and you don't understand what they're doing. Think of them as teammates, and you're all doing your separate tasks in pursuit of a common goal.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.