0

I work as a software engineer at a small/medium sized company. I work alone as a software engineer. There are two other people in the building that know programming, but one is the head of the engineering department and the other is an engineer (biomedical engineering). My question, is hiring a single software engineer common in the industry? I have no real complaints about the job but, working on my own, I have no one else in the company I can go to for help with major problems if I encounter any. The deadlines and expectations are reasonable currently but my fear is that this might change in the future. Is it reasonable for a company to expect one software engineer to function independently like this? How can I best handle this situation?

5
  • 1
    This problem is a natural side effect of this situation.
    – enderland
    Aug 16 '13 at 18:18
  • @enderland That's an amazing post. I'll have to read it over in its entirety later on. Thanks so much. Aug 16 '13 at 20:29
  • 1
    Working as a 1 man team can be a really great experience, you really have to learn a lot more of entire systems giving you a good big picture view. However, you normally cannot move up a ladder if one does not exist.
    – Quinma
    Aug 16 '13 at 20:30
  • 1
    Common and reasonable are not synonymous
    – itsbruce
    Aug 16 '13 at 22:19
  • @JoeStrazzere He means the software development industry.
    – zzzzz
    Aug 20 '13 at 13:41
3

As another lone programmer, I can tell you it is very common and a lot of software gets written this way.

To get help, you have to reach outside your office. Join local or online user groups. Stackoverflow has been a big help for specific programming questions. You could argue you may get better answers faster there than from your own team members who are too busy. For domain specific questions, you should have other resources there, but they may not be programming-savvy which may require more time to get on the same page.

With one programmer it's easier to see what you are capable of and you should get more fluent as you improve your skills and understand the business needs. Less productive developers could have an advantage of getting lost in the team. Time-off can be difficult because you're the only person to put out all the fires. A supportive supervisor may be better than having others pick up the slack in the long run.

1
  • This is all true. Having a supportive supervisor has been extremely helpful and crucial. The job would be impossible if the expectations were outside the scope of such singular manpower. I've learned a lot and it's been a great experience so far. It just demands extreme independence and organization which, again, is possible as my employer, thankfully, recognizes the scope and capabilities of a lone software developer. Aug 16 '13 at 16:44
2

I worked at a small company as single developer so I would say it is not unusual. Two are more developers are always better since there is always the danger of you getting serious ill and there will be no one the carry on with your work. Maybe you will even go on vacation from time to time. But additional people always mean additional expenses for the company.

Even if you work alone you still can (and should) communicate with other developers. The internet is a great place. I guess you already use Stackoverflow and the related sites. The most important and helpful people for your job may be working on the other side of the planet.

1

A small company can be compared to a small project. For some companies/projects having one employee with skill set X is fine, for others it is not.

It will depend on the product being produced by the company/project. Is function X critical to the survival of the company/project? If yes then you want to avoid a low bus number. If it is not critical then it might be able to survive while you find a replacement.

It will also depend on the workload needed to complete the tasks. They can't just have two of everything just in case of disaster, or to provide way for an employee to grow.

1

Yes this is reasonable. Small companies on average have small budgets. A software engineer is an expensive position to fill. Having two would be doubling that cost from a budget perspective, and probably offer minimal gains in productivity. My best advice for you would be to spend 3-5 hours a week maintaining documentation for getting another developer up to speed quickly. Then, if you get hit with a major project and have to hire a contactor, or developer, you won't spend a month getting them up to snuff with your evnironment. This will also help your replacement if you get hit by a bus.

4
  • That's the problem, there was no version control or documentation before I came. I'm trying to get my own systems set out and one major thing (to me) is version control. I'd like to use something like Github, which I have experience with, but they're rather hesitant towards it as the idea of storing private code online is, understandably, seen as a risk. Currently my only documentation is what I myself produce in source code comments. Aug 16 '13 at 20:17
  • I've never done singular, independent developing before in a professional environment so I'm still spending time getting my own systems in order (I've only been here for two or three months). Currently it's difficult to stay organized for myself, let alone other individuals. Aug 16 '13 at 20:19
  • It might be reasonable if the budget is tiny. It is rarely wise in anything but the short term - single point of failure, no shared knowledge. I think you are also quite wrong about the productivity.
    – itsbruce
    Aug 16 '13 at 22:21
  • It is easy to install a svn server or git server on any server or desktop computer. Look into Turnkey Linux VMs. Just document what you've done as you go, and that is better than not documenting anyting. Just take a set amout of time per day to organize and plan.
    – aglassman
    Aug 19 '13 at 14:10

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