- Why are manhole covers round?
- What is the difference between a mutex and a semaphore? Which one would you use to protect access to an increment operation?
- A man pushed his car to a hotel and lost his fortune. What happened? Continue reading
Listen First and Never Stop Listening
Listening is the single-most important skill in professional and personal relationships. Ernest Hemingway said, “When people talk, listen completely. Most people never listen.” It’s sad, but true: Most people have their own agenda and are too busy talking (or waiting to talk) to listen to you. So here’s the paradox: If you, unlike most people, can truly listen with empathy, then people will like you–and eventually help you get what you want. Continue reading
When you think about joining a new company or changing your current job, you obviously have several questions on your mind.
- What kind of company should I join?
- Is it better to join a larger corporation or a small company?
- Which company has better benefits and job security?
- Retirement plan?
- Health benefits?
- Which company has more opportunities to grow?
- And many more.
Sometimes you ask your friends, co-workers and sometimes you do your own research and determine information about a company using an online website such as GlassDoors.
So, what type of company should be your next home? What makes a company good for you? How can you be sure that the next company you’re going to join will do justice to you and more over you will be happy in your next venture.
Let’s think about work for a moment.
You spend more than one-third of your life at your work. So, the first thing you want to ensure is that you’ll be happy at work. If you’re not happy at work then you will end up spending one-third of your life being miserable. This is a very important factor. Now happiness is different for everyone. For some, money is happiness. For some, good work excites them. For some, work culture and people surrounding them are happiness. Of course you want all of them but chances are very slim. Some company will have good benefits but work may not be exciting and vice versa. So, you need to ask yourself this one question. What is your happiness?
“You must be happy at work”
I liked this post so I copied entire post. Here is the LINK.
I have observed various posts, discussions and mentalities about life at Multinational Corporations (MNCs) and Small Companies (SCs). Some feel that MNCs are best, some say that Small Companies are the best. These Conflicting thoughts will mislead new comers. I would like to show some light from my own experience of 6 years in small companies and 6 years in MNCs. Believe me, I intend to say the truth as per my experience.
What is MNC?
Multinational Corporations are companies with a brand value and with locations in many countries. For example Infosys, CTS, TCS, HP etcetera. The brand value gives them an advantage in attracting talents and customers.
In short, most of the MNCs were small companies at one time that gained experience and grew to a huge size.
Advantages of MNC
The following are advantages of MNCs that I have observed:
|Higher Salary||On average, MNCs pay higher salaries than the small companies. SCs are struggling to pay competing salaries of MNCs. Exceptionally, I have seen a SC where the MD sells his LIC amount and pays a high salary to employees. Surely this is not the way to compete with MNC on salary.|
|Salary on Time||Whatever is the case, you will get the payment received SMS on the first of every month or 2 days before that. In the case of small companies, the date may vary to up to the fifth of the month and might receive in installments throughout the month.|
|Brand Recognition||MNCs have a Brand Value associated with them. It is really proud to say that you are from Infosys, Cognizant etcetera. It is a hidden truth that some of the SC employees experience a bit of an Inferiority Complex in front of MNC employees. the whenever I see such people I would say “MNC is not birth opportunity”, you can work hard and attain it!|
|High Quality Working Standards||MNCs tend to have top players like DJ and Karthikeyan. So you can expect high quality coding standards. You can expect the solid guru’s around and strong methodologies for providing deployment, maintenance etcetera. In the case of small companies, these are less professional areas.|
|Better Choice and Growth||Working in MNCs, I had more exposures to the Certifications and MVP arena. There I met passionate people who made me grow breadth and width wise in technology and standards. In the case of SCs, I would say they are mostly amateur and provide fewer chances to grow. Most of the SC clients are thin pocketed and they do not expect high quality and long term advantages.|
|Value for Career||You can ask your small company itself. You have a MNC guy with 5 years experience and a small company guy with 5 years experience. Whom will you take? The boss will obviously take
the MNC guy since he is also eager about growth, he gives an MNC exposure guy more value. (But to you he will say small companies are good, to retain you, business yaar.)
|Trust Factor||In the case of an experience certificate of the SC, the Trust Factor is very low. People can immediately create a new company web site, buy a mobile phone and add NAKLI experience. So an MNC guy will be more trustworthy in the market. Usually MNCs prefer MNC experienced candidates due to the reduced overhead of background checks and the quality of experience. (From a small company you have only 1/5 th chance to get into a MNC, but from a MNC you have 4/5 chance to get into a SC.)|
|Stop Loss Factor||The Stop Loss (a trading term) factor plays a role during recessions. Imagine an MNC guy and a Small Company guy that have lost their job, both have the same potential and experience. The MNC guy can easily get an advantage from the immediate low level company. There are more people to catch the MNC guy. So more job security on Job Loss too for the MNC guy.|
|Marriage Market||This point is a little weird, but It is a 100% true that the Ladki waala will prefer the MNC guy over the SC guy. This is because they wanted to see their daughter is secured in alliance to an Infosys guy, Wipro guy instead of the XYZ company in the ZYX street. I know many of my friends, who played around in SC companies and switched to MNC during their marriage times. Their parents pressured them for the change. There are dowry advantages too, but I am against dowry. For each problem, in the other side there could be an advantage! If you think from the girl in MNC, she will be valued high in the market and this reduces the dowry burden.|
|Credibility Market||Do you know that the MNC guy and SC guy are treated differently in the loan market? There are various scales for MNC, Medium and Small companies. The loan approval and loan interest amount varies from 7% to 13% for the scale. You can check with a personal loan company. Some of my MNC friends take 7% loan and place in the bond market and enjoy the difference in interest as profit.|
|On-site Opportunities||The chance of getting on-site opportunities are very high with MNCs. Most of their clients will be from United States, UK, Europe etcetera. The advantages of onsite are obviously money, visiting new countries and in most cases a pleasant experience. Usually the on-site opportunities may vary from 3 months to 3 years. A 6 month on-site assignment can fetch you the Principal Amount for buying a Flat! In the case of Small Companies, the on-site assignments are SIRF-NAAM-KE, the average on-site will be no on-site or 15 days.|
|Training & Certifications||If you intend to grow in a particular technology and attaining certifications, MNCs support you more with Internal Training and Providing Reimbursements of certification exams. Certifications and Specializations add value for the company in front of their clients and they encourage it. In the case of a SC, they keep an eagle eye on the employee if he gets certification. Unless he/she is a core employee to their heart, they treat the Empowerment Movement as the potential loss of the employee.|
|Travel, Food and Perks||The “Perks” of MNCs will be an Employee Cab, Bus and other commuting facilities at a reduced cost or no-cost. Plus the availability of good food and refreshments within the campus are specialties of MNCs. Everything is relative. In the case of a SC, I remember parking my bike in the narrow edge of a canal and arguing with the security guard.|
|Happier People||Observing MNCs with SCs, I have seen people in MNCs are happier and more confident. Most of them have a feeling of self-actualization and guts to overcome problems. I admit that some of MNC people think they achieved the top of their career in life and have become lazy.|
|Employee Stock Options||Free Stock Option is one Future Financial Advantage offered by MNCs. This makes the employees positively motivated to work more since the future gains are exponential like a few thousand valued stocks can become cores. This is seen less with SCs.|
|Flexibility of saying No||In the case of MNCs we often deal with managers, clients and colleagues. If there is a difference opinion then we can say No and switch to another project in the same company and survive. But in the case of a SC, we often deal with the Company Owner and thus we have less opportunity for a different scenario.|
Advantages of Small Companies
If you protest my support of MNCs, please wait!! I wanted to say the good things about small companies.
The primary point I would say is end-to-end work experience. Usually in the small companies, we will be involved in nearly all activities like:
- Discussions with the client
- Requirements Gathering
- Creating new project in Visual Studio
- Database Design
- Deployment to Server
- Support & Maintenance
This will definitely add value for you for the first few years.
Again, I said only a few years, not for your entire lifetime. If you are a growth minded person, then you will get quite bored with the repeated end-to-end activities after a few years.
Exceptionally, some SCs have High Quality techies who were once MNC employees. Their presence could fetch some good amount of values to the SC employees.
Comparison of work in MNCs
I have worked in MNCs where we needed to do all these activities from end-to-end. Plus other MNCs where there is a specific Job Design like:
- Business Analysts that capture Client Requirements
- Database Designer that creates a database
- UI developer that creates the front end
- Backend developer the creates the backend wrapping code & services
- Tester that tests the product
- Deployment team that does the deployment
- Support team that works with the customer problems
This makes one thing that the SC employee is mightier than the MNC employee! Obviously this dialogue comes from your SC boss or manager. I had a different thought here.
First of all, the MNC Job Design focuses on increasing efficiency, aligning talents to technology and reducing employee turnover. Not all software engineers are experts in UI and Database. They might have different aspirations like one guy likes UI, the other guy likes database. In this way they can concentrate on their respective arena and probably do certifications and blog to build power over their core area.
So concentration on Core Technology is possible with MNCs. (Again, there is no guarantee that all MNC supports the same, but I can assure you that on average more MNCs support this than SCs.)
This is the reason we can see Database Administrator specialists, .Net specialists and Java specialists in larger companies. Plus MNCs can provide more exposure for these guys in different projects. Thus their core skills remain activated and explored.
So I suggest you concentrate on a specific technology depending on your passion. Concentration increases your value in the market plus more enjoyment at work up to a saturation level.
Standards and Methodologies
Obviously MNCs have better standards and methodologies. This is one of the reasons the MNC experience guy is given more weight age even in small companies.
For example, when i was a Delphi Programmer in year 2002 with a SC, I was using plain vanilla kind of development. It was something like writing SQL statements within the Windows Form events. I was not exposed to the Object Oriented way of development since my boss and Team Leads around were grown up in the same small company; they did not know the outside high quality standards and thus we were not able to gain a solid value in the market, even after years of experience.
But, working with good MNCs I gained a solid exposure to Object Oriented Programming, Design Patterns, Scrum, TDD, Agile Methodology, Continuous Integration etcetera. I can blindly say that a mere 2 year experience in such MNC is equivalent to the 10 year experience in a SC. (Exception: things will be the opposite if you land up in a support project in MNC.)
Myths about MNCs
While I was in small companies, I used to hear the following.
In MNCs we must work 12 hours: This is true and false in MNC and SC. I had worked 12 hours, Saturday and Sunday too for a 20 employee SC, plus in a MNC too. It depends on the project situation and the greedy manager you get. In reality wherever people are working for 12 hours, in the long run, they produce only 6 hours of productivity. There will be bugs and improper decisions that will deplete the extra effort low-quality hours spent.
My strategy as a manager was to focus 60% on development work and 40% on training and mentoring team members, plus identifying reusable components. This strategy reduced future development time through reuse of components and a happier, satisfied team.
In a MNC, there is no value for family life: This is again a true and false statement. This can happen both with SC and MNC. If you encounter such a problem in any company, then you can quit the job for a better work-life balanced job. Chances are better that you will get a better job if you quit the MNC!
In a MNC, there is a lot of politics: This is also true and false. In my career of 6 years with a SC and 6 years with a MNC, I saw cheap politics in both companies. There were spies who wanted to dominate others or gain an extra penny from management, they used to betray us; they exist in both SC and MNC. But the good news with a MNC is that “even the cheap guys will have a minimum standard”. 🙂
In a MNC, A job is secured: This is partially false. The MNCs are answerable to the investors. During recessions, employees with more bench times are terminated to cut cost. During those times, the so called sleeping-employees will feel the heat and start learning new technologies to allocate themselves in projects. But MNCs provide higher Job Security since the employee can find a new project within the company itself, in the case of the SC the employee will need to leave the company and search in the open job market. MNCs are certainly larger ships! The MNCs have highly experienced and strategic Financial Officers and Economy Predictors to strategically position themselves during tough times. This is the core reason that even after multiple recessions the MNCs remain, but small companies bail out.
In a MNC, there is no growth: A Senior TCS friend of mine said this to me. In MNCs, they make sure you are not growing! When I closely examined the matter, the so-called sufferings occured due to support projects where learning opportunity is reduced. Usually, these projects are handled by less aggressive Software Engineers who are unwilling to learn. I would say things are again in the engineer’s hand, they can use their spare time in learning and getting certifications, update their internal resume with new skills, then request their manager to change their project, get interviewed for another client and change. Nobody can stop you from progressing.
Problems with MNC
Since our friends indicated, the Bad Back Reference Kick out would be a big problem with MNC. So in order to get in, you need to have a clear past company, at least the immediate past one. The MNCs check for your past employer existence, your salary, your behavior. As I said already, they “Validate an employee from a non-validated source”. What is the proof that your past employer is a truthfu? To get through such problems, people used to purchase employment histories and references from other small companies. A proper solution I have is to work for another small company, gain 6 month experience and apply to a MNC, here the immediate past company is a clear one and thus the problem is solved. (Checking the previous 10 year character of a person is of no use, the person might have changed in present :), so the immediate past is important)
I appreciate Shivanand’s input “Nurturing a Laziness Culture in MNC”. The MNCs have Bench time and many support projects, that provide very less opportunity for learning. In most cases the engineer ends up with a rusted set of neurons. It is true but depends on the person as well. I have seen people who feel secure enough in a MNC that spend their bench time on other non-career activities.
A deviation of thought would be: “The MNC did not force anybody to sit idle, the employee has a choice to use his free time” Very fewer people (< 5%) who are motivated about their career use their bench time in blogging, learning and contributing towards forums or at least moving up in life. According to them, the bench time provides ample opportunity for exercising their neurons and growing. (Helping is growth if you play in an uncharted area.)
In my case, my 6 months was idle waiting for VISA approval. I would say I utilized the time very well. I created 3 books in Design Patterns, Azure, SharePoint, wrote 200+ articles, gained 5000+ points over MSDN, gained a solid career in SharePoint, attained 3 MVP Awards as the result of the whole. To me, the 6 months provided the value of 5 years of my regular career.
Providing the qualities of a good company, whether small/big I would add:
- Positive Work Environment
- Good Learning Opportunities
- Good Salary
- Promising Future
- Self Actualization Possibility
In short, if you are happy with your company whether SC or MNC, then continue there. If you have strong aspirations in Career Growth then you should choose your core technology area and focus on the paths ahead through MNCs.
Always see the source of advice. If you are being advised by your SC boss, chances are greater that he will draw a hectic picture about MNCs, because without you he is going to be troubled ahead. You can ask your boss: If there are more clients coming in then will you make this small company an MNC or not? Obviously they also want to grow. 🙂 For growth, they will also introduce MNC standards into their small company.
Not all Small Companies are bad, not all MNCs are bad. But on average, MNCs are better than Small Companies. (KFC chicken can have trouble once in a blue moon, but food poison chances are higher in small hotels :))
MNCs are more financially secured and career-rewarding compared with your SCs unless your SC boss has many family-associated properties.
Most of the small companies have a passion to grow high, otherwise there is a chance that they might fail in the future due to big MNCs taking their chunk of the meat. So as a person seeking growth, your small company is also seeking growth, chances are high that if it succeeds, your small company can become an MNC.
Beginners: If you can do an MNC as part of a campus interview then that would be really great since you can leave the SC problems behind. If you landed up in a small company, then learning more and switching to a MNC would be a good idea.
In short, life is about service, the more service we do the more our soul is satisfied. If your existing company cannot provide a good platform for servicing or meritocracy fails then you should find the next best platform to service better.
Ultimately, I would say we should practice our core passion of life. It is only possible if we have Financial Freedom to do so. I would recommend, we should convert every problem to opportunities to grow further and attain financial freedom. At the point we can chase our passion or help back society.
First rule in coding is to make it work. Once you’ve done that, clean up your code
and make it neat, understandable and simpler if you can.
Cleaning up code is a good habit, but so is aiming for clean code in the first place.
You’ll still need to clean things up even if you plan ahead, but you won’t have quite
as much of a mess to start with.
The best coders and average coders usually have similar code, the difference is
how long it takes them to do it. If you take the time to plan ahead and solve the
problem before you start coding it will help you become one of the best coders.
Obviously you won’t be able to foresee every problem so you will have to make
the little things work and that can get pretty messy so what you are doing is called
refactoring the code (and this is a good practice). The best thing to do is first solve
the algorithm on paper and figure out how you are going to accomplish the task.
Then code it and get it to work, then refactor to clean up, make more readable
and optimize. Look at how long it is taking you to solve/code/debug and of those
three the debugging should take the least time, then coding a little more and solving
the problem the most time. Hope that helps out.