Ask HN: Are junior developers entitled to work machines?

15 points by thowawaying ↗ HN
I'm starting a junior position at a company where I have interned at for the last year. I've requested for a work-machine, but was offered an older, weaker alternative than my personal MacBook (base model, 2015).

As a result, I've moved my development to a cloud environment so that it would lift some computing load. This, however, is not possible for graphical demanding programs such as Figma.

In the past year, I repeatedly had to work from home to compensate for my machine's shortcomings with my desktop. The company has now warned me not to work from home again.

* What is the proper way to ask for a work-machine? * What is the best course of action if the request is rejected again? * Does it make sense to take out a loan to buy one myself?

43 comments

[ 2.4 ms ] story [ 87.7 ms ] thread
Work slower on the older machine. If management asks why you work slow, show them the speed of your machine.
This. This is the answer.

Bring it up in every review. Mention it in every one on one. Document it in emails or cards whatever you use.

I believe that this would have a negative impact on my reputation, especially given my junior status.
Asking for what you need to do your job is an important skill. If you have options other than this place of employment, it might be worth practicing.

Because working slowly will also look poorly on you.

It’s important to fully believe you’re hot shit and companies pulling stuff like this are getting in the way of your professional growth.
To put it bluntly, you are screwed where you're currently working. If they can't prioritize a decent machine for you to work on, then they really don't value your work as a developer. (Most likely, they don't value any developer's work.)

Things are very unlikely to get better there.

I'm not sure I understand.

If you work as a software developer, as an employee, for a company, then your employer will provide everything: computer, infrastructure, software you need.

Now, depending on the company, what they provide may not ne great (not to say old rubbish) but that's the way it is.

Not every company provides a computer, some have BYOD
OP's question would be moot, then, wouldn't it?
I was replying to your statement, not OP's

> If you work as a software developer, as an employee, for a company, then your employer will provide everything: computer, infrastructure, software you need.

This blanket statement is not accurate

I'm sorry, I should have added that in the post; the company doesn't enforce BYOD. They do provide work machines to its employees. In my case, they offered an even weaker machine than mine.

I am unsure of the appropriate way to raise this matter with the employer, or if I am in a position to make such a request.

From what I've seen with colleagues, the company doesn't hesitate on handing out (brand-new!) machines. The company has roughly 30 employees, and we work closely with other departments (design, management, etc.).
OK... so my guess is that for whatever reason they don't want to purchase a new machine (a bit of a red flag) and they handed some old machine they still had to the new, junior, guy. Not a great sign but it happens. Did you do your internship on your own computer? (Really a red flag if you did)

The constructive way to go at it is to present a "business case", i.e. to explain how a better machine would make you more productive and help the company. But if that's simply the way they operate I would not push too much.

You should probably send CVs around.

Yeah, I did the entire internship using my own laptop, It was an extremely frustrating year. The laptop was fine for most university projects, but it is hard to keep up with the large scale of the company's projects.
The "business case" idea is the best advice, I believe.

Estimate how many hours of productivity you lose per day. Even a half hour is a lot. If it's reasonably more, then your case is even better.

For instance, measure how long it takes to compile your projects /start up/whatever. Have things you can objectively point to. Compare that to your target machine.

Multiply the lost hours per day by your hourly rate (the bookkeeping rate, which will be higher than your actual salary, or use your salary+benefits if you cannot find it. Ask your producer, PM or boss). This will give the daily loss in dollars (or euros, pounds, rupees, whatever) per day. Divide this amount into the cost of a new box. That will be the number of days it will take for them to recoup the costs of a new machine over keeping the old machine.

Show those numbers to whomever does procurement. Understanding the business case is the way to move anything in a corporation.

e.g. if you're losing $20 a day and a new box is $2000, it will take 100 work days for them to see a return on it versus not doing it. That half a working year is probably worth it, since you'll probably be there at least another year.

Also, point out that productivity gains are exponential, i.e. productivity builds on previous success, and slow initial productivity leads to lower rate of productive gains later on.

Also, say something like "I am afraid that my reputation with my colleagues might be suffering, because the machine crawls so badly". This will directly address any grumbling about your productivity so far.

Under no circumstances get your own machine.

As for your for working from home, I'm not sure if you received documented permission to work on your own machine. If you did, you can tell them you have been working from home because your home box is more efficient. If you did not, then do not bring it up.

Have you asked them straight up why other employees receive new machines and you don't?
> They do provide work machines to its employees. In my case, they offered an even weaker machine than mine. I am unsure of the appropriate way to raise this matter with the employer, or if I am in a position to make such a request.

Sounds like no. OP, just ask. Ignore all the advice in here to be unruly and complain a lot lol.

Do what is possible and mention the constraints in your Daily standup. And relax during the downtime. There is nothing much that can be done.
My honest advice: If possible, start looking for a new job.

Not sure where you live but my expectation is that the employer should provide the developers with good computers.

Similar sentiment, or become a contractor that charges appropriately for using your own equipment.

Like others said, first talk about the differences and frustrations calmly with the group. It seems like the differences make you feel like you're less a part of the team, despite already going through a phase of interning.

Also, I dont think the author ahould be blamed for mixing in his personal machine. Been in a number of situations where large employers have been horrible at getting a good quality computer to employees. Sometimes its due to management idiocy, bizarre chasms between the IT cost management department (even when your manager approves a top-line machine for you), and our world of supply chain shortages delaying things by months paired with the added complexity of working remotely.

It's a crappy company that can't business expense 2k on employees work station...

In case you are in shit part of the world (everything except USA and west EU) complete couple of years to put something on your CV then get the hell outta there, otherwise start looking for a new job right away

An argument I like to make in cases like this is the relatively low cost of a good machine, both in relation to salaries and to cheaper machines (the base cost is already more than 50%). This is a classic argument of focusing the cost savings on moving costs, where your employer clearly does the opposite thing here.
> Does it make sense to take out a loan to buy one myself?

Definitely not.

Ask for a better machine via the formal channels (meeting, your manager, support ticket, etc). At the same time, be aware that those channels are probably not very effective, so also "beg, borrow or steal" if you see some hardware around, perhaps from somebody leaving, etc.

Likely the company simply does not find value in your work (I don't say this to disparage you). The general rule of thumb is companies spend money where they find value.

Look around, find who gets the money and support. Decide if you can move there, accept it, or find a new company.

Don't get down on yourself or try to fix it. Neither is worthy of your time.

This has not been mentioned yet, but if you're ever tempted - do not use your personal computer for work. Whatever else happens, this is not worth potential legal issues that could come your way.

This applies to buying your own device for work as well. I know it's unlikely to actually happen, but unless you're ready for your personal laptop to be taken as evidence for unspecified time - don't!

You make a good point, I hadn't considered the legal aspect yet. My contract has an IP clause, and using my personal hardware violates it.
I've never worked anywhere that would even allow me to use my own machine, at any level. I wish they would allow me to purchase a machine specifically for that purpose just so I can have the setup that I want and even that isn't really something their cool with at my current company.
why did you bring your home computer into the mix to begin with? future advice, never do that. For a lot of different reasons.

Why do you think it would look bad on you if a slow computer does computer things slowly? This is an opportunity for you to demonstrate your knowledge of exactly why a slow computer is a bottleneck.

I would say be specific. Do not say "I am slow because my computer is slow". Have a coworker send you benchmarks from their machine for some processes you use often. Run the same benchmarks on your machine. Talk about it with your manager. Ask him what you need to do to get a better machine.

Managers need details.

100% look for a new job if the current employer is not willing to enable your success. It's completely reasonable as a developer to expect a work computer that allows you to do your job effectively. If they gave you an older model that doesn't perform well, make sure you document on the performance and detail how its limitations are holding up your work. You don't need to request some supercomputer but a reasonable alternative to what you have now. If they refuse without giving any reasonable explanation, then move on.
I'd echo the "don't use your own device" advice.

Assuming you're working for quite a small company: refuse to use your own machine. Make it clear that using it is not something you are comfortable with. Use the crappier machine but complain loudly every time you're suffering an issue with it. "Oh this runs out of memory when I try to do this", "this takes too long to load"... Etc. in your chats as it happens. Don't wait until a convenient meeting to talk about it either, post screenshots etc. In your chat if you can, get your team lead on a face to face chat or call to "help" you it. If you can get more senior eyes to see that it's a real problem for you then they're likely to push to get it fixed as well. Ultimately your success is their success, so use that. Nobody in their right mind will blame you if it really is a problem with your equipment.

Never use personal equipment for FTE work. This is your employer’s responsibility.
For me, it depends on the IP/NDA asks. The heavier the burden, then you need a machine managed by some enterprise IT controls.

Smalls shops that are contract based or with no IP assignment, then I'd prefer to use my own hardware. This is how I intend to run my company as I intend to no IP beyond open source contributor agreement.

I would say bring this up this as high up the ladder you can with a straight face, probably a bit higher.

Then you go down from there. Also ask the computer guys directly.

Obviously look for a job meanwhile

Owners buy the tools. Independent contractors bring their own tools. If you're not an owner and not an independent contractor, then no, you don't supply the machine.

If they're unhappy about the speed at which you get work done, well, they made the bottleneck by giving you a junk machine. That's on them, not on you. (Yes, it's frustrating for you...)

This comment is way too far down. You work at the soeed you work, and you take the responsibility you have, and no more. I'm a contractor, I use my own machine. I can take a loan and upgrade if it would make sense, and I see the investment gains and tax benefits. If I was to move to an "employee" agreement, I'd expect them to send me a machine.

That said, when I started 10 years ago, the company was super cheap and didn't buy me anything. I used my own and invested in myself by sending myself to conferences and what not. They later laid me off. That's what you get for trying too hard.

Did you try asking for a better computer?
(comment deleted)
I was in this position. I had my manager sit with me for a code review. Did some things. Compiled some code etc. They got frustrated with the speed. I said nothing.

Next week I had a new PC.

I agree with the other commenters: do not use anything personal for work. Why should they benefit from your equipment? This doesn't stop you from researching on your stuff but don't put work code or materials on personal equipment. Its a really bad habit.

I'm quite blunt myself. I'd just tell it how it is: "I'm not trying to be funny, nor create any friction, but this machine simply isn't fast enough for my work. My own 7 year old laptop is faster — that's why I used it in the past, only to then get into trouble, for which I totally understand the reasons why. I'm so concerned about this problem, moving forwards, that I've even considered getting a loan to buy a better work machine, which is clearly daft, but that's how concerned I am. I'm even so concerned that I have posted anonymously on a website with many IT pros on it, asking for advice on the situation. Some of the folk simply suggested looking for work elsewhere, which I'd honestly prefer not to do. So instead I'm trying to talk to you about the problem, in the hope that you'll remedy it."

Is there a proper way? Sure, if there is some internal company process for hardware acquisition. Otherwise, I think the proper way is simply to ask: be direct, clear and polite, and explain your concerns.

In the past, I've worked at (UK) companies that have had the right mentality: that hardware is cheap compared to developer/engineer's time.

Some places I've worked actually leased decent workstations for employees, instead of purchasing them. It works out cheap monthly, is good for cashflow and tax, hardware faults are someone else's problem, and upgrades are cheap/easy.

Obviously, these latter points don't answer your primary questions at all, and might not be of much- if any- assistance.

But if the company you work at is fairly small (edit: maybe company size doesn't matter), perhaps you can somehow put these points forward in conversation, for their consideration.

Maybe consider looking for another job if they don't remedy the problem. Not providing adequate tooling for a given job, even if you are junior, is a pretty big oversight on their part, and might be an indicator that they're not great employers.

Use the computer you've been given for the tasks you need to do, but track the time it takes.

Then do some back-of-the-napkin maths and figure out how much less time it would take with a more modern machine.

Then calculate [yearly needless processing time in hours] x [the cost to employ you per hour] = [wasted company money].

Give this to your manager/employer and tell them this is the cost of you having a useless computer. Unless they are terrible at business and accounting this will get their attention.

Challenging the premise of the question: Is it possible that you could do what the company is asking with the machine they’ve given you, but it is just slower and more frustrating than you’re used to? One problem with developers (particularly web developers) always having the fastest laptops is that they can develop websites and features that perform poorly for the average user without realising.

Accepting the premise: I would try having a really gentle and discreet private chat with my line manager.

Mention that you’re a bit worried because the machine you have is not fit for purpose and ask them what it means. Does it mean the company is in financial trouble? Or is it a hint that they don’t value your work/expect much from you?

This reframes the question from being seen as “we have a junior developer who is entitled” to “our attempts to reduce costs are making us look bad as a company”.

My worry from your question is that the relationship has a mismatch of expectations - you are working from home because you believe it enables you to work more effectively, but your boss (presumably?) sees it differently. They wouldn’t ask you to stop working from home if you were seen as “getting the job done”.

However the advantage of working in an office is that you can bug your coworkers to use their machines for the bits your machine isn’t up to - like loading figma. Again the importance of doing this nicely is key - moaning gets old quickly and is then seen as a reflection of the person moaning rather than their circumstances. But if you’re “sorry to bug you, but it just won’t work on my machine, so if you could just screen shot all the relevant bits in figma and share them via Slack that’d be awesome because I’m currently blocked” then you’ve made it someone else’s problem. And in a way that expects the company to pay the price, while allowing you to remain positive and focused on getting the job done.