2

I have been asked to interview as a software developer at an e-commerce company. As I am very interested in test automation and continuous integration / continuous delivery I have set systems up for this at both my current and previous company, with partial success.

The new company doesn't currently have any test automation, which is something of a red flag to me. However in the initial phone interview I was assured that this is something that the company would wanted and it wouldn't be a problem for me to act as a strong advocate for CI/CD and XP technical practices if I was to be offered and take the job.

This question is about how I could protect myself from the risk of having to work in software team without these thing, where there never quite seems to the the time to set them up. During the interview, would it be a good idea to ask the management to make a written statement like the following and circulate it within the company as a condition of me taking the job:

Company **** recognises the importance of test automation as part of a continuous integration / continuous delivery process to get software features to market in a timely and reliable manner.

We also recognise that it is a problem that our software is not currently able to test itself.

Therefore, we encourage each in house developer to work on building and improving test automation and software delivery systems, to the extent that they feel their doing such work is in the interest of the company. The company undertakes not restrict the time any developer may spend on such work to less than 20% of their working hours in each week between now and April 2019.

This applies to current developers and any who join the company during this period.

3 Answers 3

8

There's a big difference between "we're OK with you being an advocate for CI/CD", and "we're hiring you to implement CI/CD for us".

I don't think your proposed statement bridges that gap. It's just another memo, easily ignored in a month or two as other issues take priority.

Perhaps a better idea would be to ask management what explicit steps they have taken or have planned and budgeted to take in the next 3 months to make this happen.

Actions speak louder than words.

2
  • 3
    Also "Demand" wont go down well Mar 23, 2018 at 23:35
  • This is the answer. Lots of companies talk about implementing CI/CD practices (it's a buzzword these days) but relatively few (in my experience) actually make the necessary changes to get it going. Better to ask them what they've actually done and gauge your interest in joining them based on that, rather than issue decrees of "making sure it gets done" only to be disappointed a few months later by the general inertia within the team.
    – Steve-O
    Mar 25, 2018 at 13:59
4

Writing tests, like writing and maintaining any code, costs money. Allocation of resources is a business decision informed by technical considerations.

I was assured that this is something that the company would wanted and it wouldn't be a problem for me to act as a strong advocate for CI/CD

Translation: they have heard that not having automated tests is bad, but they have so far been unable to get buy-in to allocate developer time as part of regular feature development.

Building that case to management will be your job if you're hired.

It is not an invitation to dictate company policy as a condition of your employment.

(Note that I certainly think having automated tests is a good thing.)

3
  • I can't dictate company policy, but I can certainly decide that the policy will dictate whether I want the job. If I would have to build that case after being hired and I couldn't be sure that I would be successful I don't think I would want to take the job.
    – user85292
    Mar 23, 2018 at 22:54
  • Are you interviewing to be a developer or CTO?
    – Affe
    Mar 23, 2018 at 22:58
  • 1
    Developer. If I was interviewing to be CTO I wouldn't need to have a condition like this, since I'd be in a position to set the policy once I was in the job. Since I'm not I need to know whether I would have conditions that I would want to work in.
    – user85292
    Mar 23, 2018 at 22:59
2

You likely won't have any leverage to demand these things, or force commitment from the management, unless you are going to be technical lead, some kind of manager or executive. And even then it could be a long shot. Changing processes is often a strategic decision and the company likely want to hire a developer instead of somebody to oversee process change.

However you might have a opportunity to influence things. If the company is serious about wanting automated tests and CI/CD, you could work out a plan with your future boss.

Start by identifying the most critical parts of the solution which would benefit the most from automated tests. Identify those parts in deployment process which could be improved significantly by using CI/CD.

The goal eventually could be to have 100% coverage, but realistically speaking that is extremely rarely achieved. But if you can show that the company would save money, have fewer bugs, improve customer satisfaction, free up resources etc by taking even these smalls steps, your personal interest would align with business interests of the company.

If this is well received, you could try to agree on some x hours per week/month you could dedicate for this cause.

1
  • I get that I don't have significant leverage to demand or force commitment. My ideal outcome from demanding commitment would be that management agrees because its what they already want. If it turns out not to be what they already want then I'd probably be better staying away.
    – user85292
    Mar 24, 2018 at 1:09

Not the answer you're looking for? Browse other questions tagged .