And so am writing my first article ever that is dev-related. The main reason that I'm doing it is because I haven't contributed anything on the web yet and I don't want to remain silent while leeching from actual contributing colleagues.
I am currently employed as a fullstack developer, building applications in the financial/banking industry. In my few years as a software developer I went through many job interviews and applications, and I decided to share my findings.
I have distinguished a set of factors that I find worth sharing, and worth considering when contemplating job offers.
Is the company viable/profitable? I have worked at an employer that had not made a single euro profit from it's first days up until the day I left.
It can really feel like playing for a losing team at times, let alone the fact that whether your job will exist in a years time is uncertain. There is nothing wrong with asking the one interviewing you about the company's viability.
An acquaintance of mine got offered a job for a huge amount of money. But the company that made the offer made no efforts to ensure proper testing or code reviewing.
As developers we all know how pesky it can be if bugs occur on production, breaking your workflow. Believe it or not: code reviews and proper testing are not a universal given.
This one is obvious. However, it would be a mistake to assume that salary is the most important factor. In our previous example, we discussed an employer that basically leaves both testing and code reviewing to a single developer, while any sensible programmer knows that there should be three individual colleagues taking on these tasks to ensure code quality.
So it's not hard to pay high salaries being a company that cuts corners in essential area's like testing. Personally speaking, I have rejected job offers regardless of their high monetary value, because I felt that all things considered I would be better off at company paying less, but offering a better working atmosphere and more reasonable conditions.
A former senior colleague of mine used to sneer at everybody that disagreed with him and this created a very toxic environment. Yet at my current employer, all developers are equal and the managing partners sure that there is no senior privilege whatsoever.
Do not underestimate this factor. You will be spending a lot of time in at the office, so you'd better make sure you feel good and comfortable.
Choosing a company means choosing a career path within a company. Let's take two extremes here. One is a startup with two people but a monthly growth of 20% (it's an intended exaggeration).
This would, almost by definition, mean you would face huge career potential if you would become one of the first employees. Obviously if the company keeps growing, the early employees will be the most eligible for jobs with more responsibility/salary/etc.
At the same time joining a company with a long existing, proven business model would be an entirely different scenario.
Does your employer pay for extracurricular education? Do they support you growing as a professional and make investments in you as a developer accordingly? My current employer, under certain circumstances, even pays for us to get a bachelor's degree which is awesome.
I hope my list can be of use to those of you seeking jobs, and if you have any suggestions or additions please leave a comment :)