On further note, before i started the contract i was asked to bring my own laptop as work computer, i didn’t necessarily agree (for all the obvious reasons as security and business/personal risk) but he was being pushy about i said i could take my laptop (at least to get started) and i was expecting to get a working computer. I never did. Management recently purchased brand new macbook pros and iphonex for themselves (which they are in their full right to do).
So i didn’t even dare to criticize them regarding the interns. I already got myself in boiling water by criticizing management in that the way projects and tasks were being managed was highly unprofessional and my only wish is if i could leave a warning sign for interns (and devs) to keep clear of this company (or think really hard on how much they need the job)
Edit: which is unfortunate given that the projects there are interesting in my opinion
They seem to be scamming the shareholders diverting money from productive investment into their self worth. It's not your problem, but it's not in their full right to do either.
It is also almost certainly not the employees (unless it's a cooperative).
I told them they could pay me a compensation (for using/bringing my own tools) but that is quite expensive since most deductions don't count for this. Even more expensive than buying a proper laptop. Quite quickly I got a proper company laptop after finances improved to resolve the issue.
On another note:
In my experience the term 'middle management' is a synonym for corrupt, useless idiots so getting rid of them saves huge amounts of money since they add no value to any product or to the company as a whole. Unfortunately there is no way to even moderately grow within most companies around here except for a management track which is idiotic since specialists are way more valuable to the gross product of the company.
and: Never underestimate the value of skilled workers and how to keep them or train them. In software they are your main business. Everything else is easily replaceable.
In the US at least, any work you do for an employer and get paid for is covered under what are called work-for-hire laws which assign the copyright to the company, unless you have a written contract stating otherwise. This is true regardless of what equipment you use, and there’s absolutely zero legal barrier to a company asking you to use your own equipment in the course of a job without any compensation. The fact that your ultimatum wasn’t met with a “lol no” from Legal is pure luck.
That's the norm in some professions. Welders and mechanics often have their own tools, which can cost a lot more than a laptop.
I already got myself in boiling water by criticizing
management in that the way projects and tasks were being
managed was highly unprofessional...
Communicating with managers is a bit of an art. I think a large part of what makes a developer "senior" is their ability to do this effectively.I'm not making any comments on your personal situation, but as a general rule it's important to talk in terms of solutions and not problems. So don't say, "we have a problem and here is my recommendation to solve it". Say instead, "I think we can improve our productivity by...", or "I think we can save some money by...".
Do some calculations to help sell your case. You want to spend time optimising the build process? Record how long it takes to build the code currently. Maybe it takes 5 minutes. Maybe you build the software no fewer than 12 times a day. That's an hour of productivity wasted per developer. Do the maths, convert it into dollars. Then say, "we can save X dollars a week by optimising the build process. We spend a week working on this, we will have made our money back within a month (or whatever it is)."
Your manager will be quite happy to go to the board to tell them that he's improved efficiency by a factor of X.
Highlighting existing problems, even whilst providing solutions can put a manager on the defensive when you really need him to be your ally.
Obviously I'm not saying never highlight problems. Sometimes you have to highlight problems, but it requires delicacy and if you don't need to, then don't. You probably don't need to a lot more than you think. We developers tend to put the problem first and the solution afterwards and it's quite hard to put aside that mindset when talking to stakeholders. Even Elon Musk finds this hard to do when talking to the press. It's quite funny to hear him talking about all of a Tesla's inefficiencies while trying to sell it!
Also be patient. Your manager actually needs to be convinced of what you're saying; he can't just take your word for it. So if you see an example of how your solution would have prevented a problem that just had to be dealt with, point it out. Take him on a journey, to use an old cliché.
I'm not suggesting you shouldn't do anything without getting permission first, but for the things you do need permission for, the above advice might help.
You have to watch out that a "go getter" attitude doesn't result in you just getting overburdened.