I’ve heard this from many many engineering grads in this industry, and have seen it myself.
We hear you: Engineers and Coders are treated like third-grade citizens in some IT companies in this industry.
While I wont comment on that on behalf of any company, the good news is that a number of companies are beginning to put in healthier and more conducive cultures.
I thought I’ll add some tips on how to find companies who dont treat you like that:
1- Look for Smaller Companies with a Big Vision
Startup companies have an incentive to make a small, highly cohesive team which can act very quickly on new ideas, rather than set up layers of management.
It used to be (and perhaps still is) that the majority of startup companies in Pakistan only used to setup 5 people shops to do outsourced coding work from rent-a-coder, etc.
While this model is still working for some people in universities, there are also a number of startups here who are starting companies to do something grand / change the world. These are the companies who will rely on your abilities to be thoroughly successful in that vision.
Look for these companies (or read Green & White) and apply to them, and I am sure you’ll find a much more receptive company leadership. You will find that suddenly your recommendations carry weight, and you will find more smiles and laughter than other environments — with some caveats which I will mention below.
2- Be willing to take risk and invent solutions
Lets understand something – Engineering is not a process driven profession. It’s not like you will be handed instructions at the beginning of a day and will follow a certain process all day long until 6pm when you’ll meet your production schedule and go home.
That’s a job for technicians and factory workers.
You have to ask yourself whether you want to be a technician, or an engineer.
Sometimes you’ll find that you were trying to be a technician in engineers’ clothing — i.e. you were looking for a very safe, simple work environment where every production-related plan was created perfectly; where you were given simple clear instructions for coding and were given an ample amount of respect when things went perfectly.
Here is how you should think about this:
If I am told to do X in 3 days, and I do it in 3 days, what is the special thing that I did that deserves respect and awards? I was just doing what I was told, I deserve no special recognition.
In fact, the Project Manager was the person who figured out how to do this task in 3 days and assigned it to me — the “unique breakthrough” is his hence the PM deserves the awards.
On the other hand, if I can do a 3-day task in 1-day, then I’m the person who was the core reason for success, and hence I deserve the special recognition.
Engineers need to have an unsatiated desire to invent breakthroughs and new solutions in their work. From the definition of engineering, dont expect everything to be mapped out perfectly — expect ambiguity in requirements and schedules, expect your management to run around like chickens with their heads cut off, and expect from yourself the ability to be the knight in shining armor who can save the day.
It is like Captain Safeguard — its only when the world is chaotic and things are complex and not clear, that is when you will call an engineer to find a solution.
So with that in mind, be willing to take risks, recommend solutions with confidence and stand behind those recommendations, and learn from any mistakes. But be proactive and keep making new recommendations — it is much better than the alternative of a “give me a job from 9-5, and pay me, thats it”.
3- Become Self-sufficient
Why should some manager sit and figure out how you should do your job? You’re a smart person, why can’t you figure this out yourself?
If you’re given 8 different tasks at the same time, haven’t you made some mechanism to get organized, list down the tasks, and approach them with a certain methodology?
Do you look at the impact of those tasks if those are not done? Do you look at the impact of your recommended solution on the company / stakeholders?
Or are you simply sitting around, waiting for your team lead to tell you what the solution is, and then just doing it?
I guarantee that if you are able to figure out these things by yourself, to practically organize your work in a way that supports the environment / team around you, then you will not need to be managed.
Think about it as a fire fighter. If there is a fire in a building, we want to know that we can throw you in there and you will just figure it out without us ever having to look at what you’re doing.
On the other hand, you could panic inside the fire, and call us and ask someone to guide you over the radio on what you should do.
The rewards / recognition / accolades goes to the person figuring out what to do with the fire. It can be you, or someone else telling you what to do.
So, be self-suffcient, and you will not need managers above you, and your results will be yours alone. If there is a manager above you, there is still something the company CEO wants you to do that you are not able to do yourself.
4- Fall in love with documentation
Yes, documentation, the thing we dislike most about our professional life.
I dont necessarily mean design docs, however. I mean an audit trail. Keep a close track of all communications between your and your peers / supervisors. Make sure you can clearly identify whose responsibility a certain task is.
One way of doing this is to stop asking questions in person — even if you are uneasy about writing an email (because you might feel uncomfortable with your grammatical mistakes), put in the time it takes to write a concise email describing your specific situation, even if the person is sitting next to you – demand a reply back in email as well.
Here is the catch about documentation though: Make your activities public. If you really are so smart that you deserve to be recognized, then dont be afraid of highlighting them.
One of the best ways of doing this is to create daily status reports and send them to your managers. Daily status reports sounds like a nightmare, but hey if you really are so good that you should be recognized, then I’m sure you will have plenty to say.
5- Prepare for respect
Most people get completely paralyzed when they are suddenly put in the limelight, given a mic, and asked to sing in front of 3000 people.
I’ve tried running teams in democratic ways many times — instead of a command / control environment I tell everyone that they are the decision makers of their own individual areas. “You are the CEO of your job title”.
You know the results? Many people simply collapse and get completely paralyzed in their ability to do work. This is because they came from environments that were top down, where people told them what to do and how to do it every day, but suddenly they are put in a position where they make the decisions for their own area.
So dont collapse — if you are working on earning respect, and looking to get respect, and applying to the right companies, you will suddenly get it.
The company will throw 2-3 important aspects of their work on you, where you alone will be responsible for success in that area. This is because respect also results in greater responsibility / liability.
Dont drop the ball at the time. Prove that you’re worthy of respect by participating constructively in the decision making processes.
6- Finally, dont abuse respect
You will notice that by finding and working for smaller, focused, highly cohesive and vision driven teams, and becoming a key player in those teams, you will start to get a lot of immediate recognition.
Dont abuse this though: the common thing you get to hear from seniors in the industry is that “If you start bringing someone at an equal level to you in respect and kindness, people here abuse that gesture and start overbearing and challenging you”.
So there is a difference between having a democratic brainstorming process, and outright refusing to do a task you manager assigns with a casual “no, I dont think I want to do that right now”.
It is important to recognize the total set of prior experiences and insight that the managers (and everyone else) is basing their decisions on.
Humility is important, and you can read some of my previous thoughts here.
Beyond basic human rights, and general culture, ethical and moral norms, respect is a give-and-take process.
Before demanding respect, always look within yourself to ask what it is that you’re bringing to the team / table that makes you stand out and makes you deserving of this respect.
If you are sure there is something identifiable, then have the confidence of demanding respect. If your company still doesn’t recognize those contributions, then leave.
Secondly, and perhaps most importantly, get out of the mindset of seeking stability. There is no job stability in this world, not even in the biggest of companies.
So take some risks, and work for smaller firms and startups where you will have a much better chance of becoming a respectable member of the industry as a whole.