0

Over the past year or two I've set up a postgres product database for a small-medium sized business that I work for from scratch (and with no previous experience). On top of this, I've streamlined several very manual and time consuming jobs, originally in VBA but now more in Python. As I've progressed I've become increasingly anxious about the fact that I'm the only one who knows how our systems work, and given that I plan to leave the company within the next 5 years, that I'm carving out job requirements that will render my replacement too expensive for the company. How common are roles within the industry that require skills like SQL and Python (plus a bit of PL/pgSQL and VBA) that pay something like £30000-40000 a year? And what are some best practices or considerations that I can put in place to future-proof my job role for after I've left?

To provide a bit more detail for my responsibilities, I have set up and I maintain a database full of our product data. This database is mostly queried for different formats of product data and pricing to share with customers. I'm also currently working on a Python project to maintain product-file associations and aid in managing product files (keeping directories clean, making sure naming conventions are followed, etc.). I would like to implement some further systems to maintain data quality across different platforms (eCommerce, finance systems, stock control systems, etc.). I would also like to make editing our product data easy for non-technical staff, as currently all updates are done through me using pgadmin. Lastly I would like to document how all of our systems interact as a whole, as currently everything is divided between our IT supplier, an in-house IT guy, external contractors who code systems for us, and me. Everything is currently glued together in a very ad-hoc fashion.

I've taught myself all the skills I've used above as I've gone, but I'm still very inexperienced and so would really appreciate any guidance as to what kinds of technologies, practices and skills are appropriate for small-medium sized businesses, as well as if there is any standard procedure I should follow to identify business needs and communicate these to future employees, as I really don't want to leave an expensive mess behind that only I know how to operate.

2
  • 2
    Sounds like you are a good employee, and on the right track. Mar 6 at 20:44
  • 1
    You can't. All you can do is to make sure that what you leave behind is understandable by someone. I have seen companies let someone go and keep running the programs for years. They will not let the machines be upgraded in order to keep the programs running. They are able to operate without hiring someone. Companies will do what they need to.
    – David R
    Mar 7 at 15:02

3 Answers 3

4

I'm going to give a Harsh, but Frame-challenge answer:

Unless you are the business owner, your concern is not your concern and not your problem

What do I mean by that? Well, Let's start with some principles of running a business:

Who's responsibility is it to make sure that there is sufficient documentation?

Whilst it may be an SME (Subject Matter Expert) or other individual who actually writes the documentation - it is ultimately Management who has the responsibility to make sure that said documentation exists. Furthermore it is ultimately the Business owner who has the responsibility to ensure that the management team beneath them have their respective business units sufficiently documented.

You are thinking about it in terms of 'I've built this thing, who will look after it when I voluntarily leave?' - I'm not knocking the nobility of this sentiment - hell, at one company I gave an additional 2 weeks notice (for a total of 4 weeks) because that's how much time I estimated it would take to document all my work functions - so I get it...

At the same time though, you need to consider that tomorrow the Business needs might change and you are made redundant or fired or any N number of things where you would no longer be associated with the Business in a sudden manner - If that happens - what responsibility would you have? None.

There's any number of N threads on R/Maliciouscompliance of people talking about this type of scenario where Management had failed to ensure critical tools were properly documented, slighted the person who knew about them - then had to pay the consequence.

Now - that doesn't mean you shouldn't write some documentation off of your own accord - but ultimately it is the responsibility of Management and the Business owner to ensure these things exist and are up-to-standard and not yours.

2
  • 1
    "sufficient documentation" - for most businesses, it is frankly a fantasy to imagine that a paid and experienced member of staff can be replaced with documentation. In the largest corporations with extremely rational ideas and stable concepts, and with academics and technical writers on staff (for example, if you're an investment bank), perhaps, but not in businesses where it's all about one guy leaving. Most businesses that try this just waste staff time.
    – Steve
    Mar 6 at 21:30
  • Very true, something that's been mentioned elsewhere as well. Hopefully the sense of what is and isn't my problem gets better over time!
    – Durin
    Mar 8 at 18:18
3

I really don't want to leave an expensive mess behind that only I know how to operate.

Unfortunately, machines need minders, and ideas need inductees.

The "mess" you've made is almost certainly not an expensive one but quite a profitable one for the business that employs you. How they will continue to make profits in the absence of a manager of your calibre, is really a problem for the business owner.

As well as the potential that the business is quite profitable and can well afford to hire your replacement at a much larger salary (or bring them into the business as a shareholding partner, as key people often are), the other possibility is that the business isn't very profitable at all but you and your skill have kept it going and out of bankruptcy for many more years than it otherwise deserved.

So that's one part of the answer, which is that it isn't your problem how the business financially affords your replacement.

The other part of the answer is that very often with computers, there is a hardcore of very valuable and profitable work which is automated by the computer, and then there is a large amount of cruft that would cost the business little or nothing (or even improve profit) if it was swept away and no longer had to be looked after by the staff who manage the machinery.

This cruft can often accumulate either because the staff are bored and look for marginal things to do. Or, because higher management think that every additional task the computer can be made to do is completely cost-free (especially if the developer is on salary), without thinking about what it will cost later for someone to take over the supervision.

So keeping control of what is automated, and restricting automated activity to what is really important and valuable (and proportionate to the budget for staff who oversee it all), is one aspect of ensuring that your successor is not overwhelmed with complexity.

Keeping all artefacts associated with software development and configuration as clear as possible, well-organised, navigable, and with a few pages of documentation, is another aspect -although these techniques are often easier to mention than to successfully apply.

And a third aspect is ensuring that everything is automated in a sufficiently robust and resilient way, that most things keep running for a long time even when left alone, and that there is an adequate amount of obviousness about what is going on when you look under the covers. Some things are unfortunately developed in so shaky and complicated a way, that they require almost constant supervision by a developer.

But finally, if a business really wants to sustain then it has to invest in reproduction of its workforce. It has to reproduce the skills, the methods, and the ideas it develops as part of operating.

If a business devises bespoke computer applications to help run its operations, then it has to have more than one person on staff involved in the development. If it has a main developer in their early 20s, then the business should also have an understudy of school age on the payroll, studying under the main developer and ready to take over the reins at a full salary when the older developer leaves.

The age difference is necessary to ensure the older staffer has some clear authority and advantage in technical skill, whereas the apprentice has something to learn.

The alternative is to economise on the costs of reproduction and boost profits in the short term, but then of course the business does not necessarily sustain. But for many small businesses, that is exactly why they are profitable, and it is their business model to operate in a way that will not necessarily sustain but makes the owner reasonably rich during their lifetime. Later, another business sparks up in the market, employing a different smart young developer to devise a computer automation completely from scratch again.

You may just have to accept that pattern, if it is the one in play.

1
  • 1
    A lot of good things to think about here - thanks! Your point about having someone work under me to take over is definitely something I'll keep in mind, and you're right about putting systems in place that don't break down - I'll definitely make sure I keep putting the effort into keeping things robust.
    – Durin
    Mar 8 at 18:14
1

The job market operates on the market principle. Markets can be local, regional or global. Job security is thereof achieved by providing unique skills and abilities in a demand-driven market.

To achieve job security a person would have to develop and provide unique skills and abilities that are steadily and highly sought after in a specified market.

Long running job openings can give an indication. As well as magazines and literature.

3
  • An interesting and new perspective that's not covered by the other answers which are more focused on responsibilities of roles regarding the OP'S current situation within their workplace. A bit general to the OP's circumstances but still valid advice!
    – iLuvLogix
    Mar 7 at 16:23
  • It is the answer to the generalised form of the question articulated in the title.
    – Sascha
    Mar 7 at 16:45
  • 1
    Hence the upvote and 'valid advice!'.. ;)
    – iLuvLogix
    Mar 7 at 16:49

You must log in to answer this question.

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