

Ask HN: How to grow after 6 years of work? - mtayseer

I started my professional career more than 6 years ago. I started at a small company (less than
10 people). We were mainly a mobile development shop. I was known as 'polyglot guy' and 'Moving 
MSDN' working with the various technologies (C++, C#, Python, Java) on various platforms
(Symbian, Windows CE, Windows, Java ME).<p>Then the company met a lot of management and financial problems. The manager made a lot of mistakes
and later closed the company. This was very hard for me considering that I'm responsible for my 
mom &#38; younger sisters after my father died. I worked there for 1.5 years.<p>Then I moved to another small company, working on ASP.net. I was able to learn it very fast &#38; become 
productive with it, performing very well at the beginning &#38; used my good points (learning fast &#38; using 
various technologies well) but I met some problems when I was responsible for a whole project for 
the first time. We ran very late &#38; the quality was very low. Adding to this that the company was
really bad when it comes to collecting their money, it was financially unstable. I had to leave
after 1.5 years, though I liked this company very much.<p>For the next 1.5 years I worked in 3 small companies, 6 months in each one. This was really a 
horrible period of my life. We were always overloaded with work, project scope was rapidly 
increasing with the same cost. We were working for 16 hours a day. We were treated badly. 
Everything I tried to do was not enough to save any company.<p>I didn't try to fight till the last possible moment. I had enough of small failing companies. I was
convinced that to create a successful software project I should focus on management, not the 
technical side<p>I went to work in a large software company, not as a senior programmer (as I used to be) but 
outsourced to another big company as a technical project manager. I accepted this position for 3 
reasons<p><pre><code>    1. It is financially stable
    2. To enhance my communication &#38; management skills
    3. This was the only way to grow
</code></pre>
Contrary to my previous positions, I had manage many small interdependent tasks. I wasn't good
at doing this. I slipped the deadline most of the time. I have to ask everyone at each step multiple
times to do anything. All the time. I'm always blamed because I'm responsible. What makes me angry
is that it's late because of somebody else. The only parts that went well were the parts that I made 
myself, or any tool that I made to automate a manual process. I'm much slower than any other 
colleage in my team &#38; the whole company, even people who are much younger than me<p>After sometime I knew that I'm not good at this. I asked my mother company to return to their HQ
and work on a more technical position, but they said there isn't a vacant place for me. Later I
asked for a communication skills many times, which I got finally.<p>I don't know how to grow in my career. I don't want to work on management, but I alsp want to feel 
that my work is valuable &#38; affecting the company positively. Here in Egypt the only way to grow is to
go the management path.<p>I also want to work with Python. All the companies here either use C#, Java, C++ or PHP.
======
samikc
Halfway in your writing I was thinking this guy must be from India. But no you
are from Egypt. Okay its the same story there also. Let me share my story
here. I am at the same level of experience as you are 6 and half years into
software.

I started in a big software service shop in India. Worked for amazing clients
(I cannot name them here). Some of the technology that I have worked on -
Java, Lisp (yep got paid for working in common lisp), C/C++, Hadoop,
JavaScript, etc. After working for 4 years I decided to move on. But I got Job
in one of the news companies. Worked there for more that 1.5 years in (C# and
Java). Now working in a banking product based company.

After all these years (not that much though), I have come to the conclusion
that - you need to be a techie to survive software industry. I have defined
growth as: learn a new language every 6 months. Do something extra like open
source. I know, I may not get hefty pay packets like the managers in India but
I have chosen this path. I am happy with that.

For you I believe you have identified your areas for improvement. You just
need to think deep why the schedule failed? Find and read some books Mythical
Man Month and Peopleware. Chances are that people have already been there and
done that - so learn from them and try to adapt and apply in your case.

Moreover, _before you do anything else_ just ask yourself what do you really
want to be - a manager or a techie. Once you have the answer get going with
that flow.

~~~
addhen
I agree. First identify what you really want to be and go on that route. Being
technically inclined, will definitely make you earn more money and respect
than management. Me think :-)

You can't do both, trust me.

------
amorphid
It sounds like you have a grasp of the big picture and are finding it
difficult fit into corporate life. One option is to build your own pyramid,
er, company.

