Although late to the party, Windows finally entered the IoT world. But better late than never, right?
After some struggle i got Windows 10 core running on my Raspberry Pi 2. Expect more details shortly……
I feel that a lot of people (including me) sometimes underestimate the choice of company to work for when that moment comes to pick one. We usually spend 1/3 of our time working and if the match is not close to perfect, dissatisfaction looms quite fast.
So i decided to share some personal impressions on what to be looking for:
Service or product company?
If you work in a service oriented company, you will probably see many projects in short time span which is good as you gather experience fast. You will practice your communication and team skills intensely. However, chances are that the domain will be very similar from project to project – usually companies are specialized in some area or they have repeat customers that require 90% the same stuff as before. Product companies use much larger toolset of technologies, especially if the product is big – you may be doing web, mobile, desktop etc., while in the service company you may be doing only one of the above most of the time. Product companies are also not that tight on deadlines and quality is much higher (they do their own software!). They are usually more stable and rich. Sometimes you will face , however, the five screens problem – you will watch 5 screens for years but that is not that scary as sounds. So in the beginning of your career, service companies are good as you gather experience and confidence fast but if you want to become good software engineer, you should aim at product companies in the long term.
User or enterprise market?
If you want job security, more structured process and probably more money – go with enterprise. That comes with legacy technology, however. Most big companies are reluctant to switch technologies. There are many corporations that use only IE 6-7 so if you work in web, you will have to target those browsers which is a nightmare.
On the other side, if you are in a user oriented company, chances are that you will use latest and greatest. You will have more freedom to experiment, but you will also have to chase trends like crazy. Lagging behind means “death”. So working in that kind of atmosphere may be strenuous, chaotic, unstructured sometimes.
This one is more of a personal preference so i cannot recommend any of the above here.
Big or small?
This one is also matter of preference – but i would suggest you to stick with small companies – up to 50 people. There are some exceptions of course. In a small company, you will see much more of the whole process. You will realize that software companies are not all about writing code. In fact, that is less than 50% of the business process. You will have a chance to communicate with decision makers, managers etc in a direct way which is also a great experience. In a big company, you will probably be part of a team which doesn’t decide much but execute strategies from above.
How to spot good/bad companies?
You can gather great amount of info during the interview with the HR. There you go some signs to watch for and some questions to ask: