58

I work as a solo developer in a small company. There's more than enough work, but the same does not apply for money. Thus, I won't be seeing any new colleagues in the near future.

I am responsible for absolutely everything that has do to with IT operations. This involves development and maintenance of software used in-house, development and maintenance of various websites which our clients use, website infrastructure, local network infrastructure including maintenance of several servers and in-house support to mention the most immediate things.

I really enjoy 95% of what I do, and I've got a high degree of flexibility in my work. I get to decide what do when, and no one really tells me what do to except that I now and then sit down with my colleagues to create a roadmap for what I need to get done. I do consider myself to have a high work ethic and being above average focused on what I do, so things get done.

However, I've come to the point where I really miss having other people around me who work with the same. Even though I need to get familiar with a wide range of technologies as I am a solo developer, I have the feeling that I am missing out one the "knowledge sharing" which other "like minded" people who work in bigger companies are taking part in. I don't really have anyone to discuss programming obstacles and design decisions with - and I am starting to miss that. Also, I'm worried about what future employers might think of this "hermit" who has been working on his own for too long to ever be able to take part in a team.

However, on the other side, I'm thinking that I won't get my current degree of flexibility in a larger company. I'll be seeing a lot more strict deadlines, late hours and specialized areas of work. Also; I'm not sure if this idea of "knowledge sharing" will ever take take place?

Has anyone else been in this situation? Is it a good idea seen from a career perspective and a personal development perspective? Should I consider moving on to a bigger place to (maybe) become a part of a larger group of developers and "like minded" people? In other words, will the grass be greener on the other side?

11
  • 24
    shhhhhhhh.... there are thousands of developers stuck in dead end corporate jobs that will send your boss their resume.
    – Reactgular
    Jun 3, 2013 at 23:29
  • 2
    I'd just like to add that there is nothing that teaches you problem solving like being totally responsible for an aspect of a software company. Having to get stuff that isn't considered very viable to work. Jun 3, 2013 at 23:55
  • 44
    My experience going from a solo developer to working on a team is that it can be shocking how many developers have no clue about any of the principles you might have gotten the impression all developers are striving toward (like SOLID). And of those that have heard of them, only a relatively small fraction care. Be prepared to encounter this, and decide in advance what you will do if it is of concern to you. Jun 4, 2013 at 2:05
  • 6
    @Amy is right on the money. This is my situation and I've had to adjust to mostly-spaghetti code and lack of principles. Other than that, I am enjoying the daily chatter with other developers.. makes it all worth the change. Jun 4, 2013 at 4:08
  • 1
    IMO - If you're able to do everything in your current job by yourself, then you're not doing anything complex enough to keep a career progressing forward. If that is a concern, then you need to find a job using your skill set in a team. Even free electrons can't build the kinds of projects that will continue to push you forward. If you're happy with what you do (95%?), and you can guarantee you'll be able to do that until retirement, by all means stay. If not, then at the 3-5 year mark you probably need to move along. Jun 4, 2013 at 16:07

7 Answers 7

55

If you are enjoying your work and only missing knowledge sharing, consider joining an open source project instead of changing the job. Unless you already know the people you will be working with, you have no idea whether the grass will be greener on the other side.

5
  • 10
    Other options include mailing lists, hanging out in SO chat, local developer groups (if any still exist), and so on. But the central idea is the same: Find an extra-curricular avenue for knowledge sharing
    – Bobson
    Jun 3, 2013 at 22:00
  • 3
    That's all better than nothing, but the net will never replace real flesh people. Your keyboard and monitor will never love you back.
    – Balog Pal
    Jun 3, 2013 at 23:04
  • This is a great suggestion, as a developer who works in a position where I get a lot of autonomy on technologies I use, I find participating in group discussions like the chat in SO, FOSS projects and sites very productive. Jun 3, 2013 at 23:47
  • @Nemanja : good suggestion (though as Balog mentions; it'll never replace real people)!
    – sbrattla
    Jun 4, 2013 at 4:56
  • @BalogPal - That's why I suggested local developer groups... but I'm sure they're much rarer than they used to be.
    – Bobson
    Jun 4, 2013 at 13:57
12

This aligns with my saying: "Programming is like sex. You can do it alone, but it is way less fun that way. And turns you nuts if you do it that way for too long."

Yes, it's convenient to be quite your own boss and lone master of department. Also it's scary to leave the established shell. Not to mention to face the hostile world outside. And start from the bottom again. Parting is even harder if you are not kicked out, and/or you feel bad about abandoning the company that needs you and maybe got pretty much locked in.

I've been there. Worked some 12 years at a company as a 1-man army. Last years it was like many would call the Kanaan, worked mostly sitting home, just getting a note "X client wants something check it out", then few days later mailed that contract can be signed for X amount and Y deadline, then a month later sent another mail that invoice can be sent. And worked maybe 1 hour/day averaged -- for the full time money. And everyone was content boss and clients likewise.

but it grew on me, and despite having all the time, it was mostly just wasted.

I eventually posted an ultimatum to rearrange work so I can work in team, or I'm out. Boss probably thought it a bluff. Bottom line, I left for good. Thought will have job next day. Yeah, sure. ;-)

Faced a series of uber-WTF interviews and companies, but after a few months got a job. At a company that turned out bigtime sucker, but the local teams really rocked. At least when I joined, a year after that massive leaving started, obviously with the best poeple. Got about the same money but 8+ hours work in the office + commotion. In a project that had a ton of serious problems. And remote bosses guarded all the bugs.

but overall, I felt alive again, and happy to do relevant work. in a team that struggled for the same, and was happy that we finally started making progress against all the wind and hostile weather. In my count the switch was well worth it. The only thing to be sorry about that I didn't leave 4-5 years earlier.

The follow up is not really relevant (actually I left eventually, this time only 1 year later than optimal, made a home project, then joined another company that was promising, while our team made incredible progress the company turned south, and this time I finally left exactly on the zenit -- and after a calculated summer vacation landed where I work now with no plans to leave.) the point is life works out, never the way you expect, but for the better in the long run.

The bottom line is, if you no longer see the Sun, you better close the false hopes. It just will not get better. You can either force your way or look for actually fertile ground.

1
  • 1
    Thanks for your comment! I hope you had a large garden to spend the 6.5 hours remaining after the "[...] maybe 1 hour/day averaged [...]" of daily work :-). Anyway; thanks for sharing your own experience; I do see myself in what you describe from start.
    – sbrattla
    Jun 4, 2013 at 5:05
7

Just because you move to a situation with more than one developer doesn't mean you'll be locked into strict deadlines, late hours, and specialized areas of work. Yes, there are corporations that do that, but there are also SMBs out there that need developers too, and some of them are very similar to your current work environment, just with more than one developer.

I suppose it depends on where your career goals lie. If you are content with your current situation, but want more developer interaction, I would suggest looking for a small company that has a team of 5-10 developers that you can join. This will allow you to have a lot of flexibility but still have others to ping ideas off of.

From a hiring perspective, when I've reviewed potential developers I have never asked if they were a hermit. However, examples of working within a team are incredibly important when bringing somebody on board to be part of a team. How does a person deal with other individuals with differing opinions? What have they done in the past to ensure that the whole group gains the best outcome? These don't have to do with other developers, this is about working with people (which you said you already do).

If you are looking to go into a senior technical leadership role, you will definitely need to move to a position with a few other developers where you have the opportunity to become a team lead. It is very hard to explain that you have the expertise to run a development team if you don't have experience working on a development team.

1
  • looking at it from a long term perspective, it probably makes sense to shift more towards more "abstract" positions with age. When I turn 60 (in 30 years) i probably will not have a chance in competition with newly educated developers...so it might make sense at some point to shift towards something like a technical leadership role. And; that would be where team experience comes in...
    – sbrattla
    Jun 4, 2013 at 5:03
6

I'm in a very similar situation to what you have described. My main issue is the money, since you have mentioned it. Sometimes I think I'm too lonely and crave for more action and knowledge sharing, however looking back at my previous companies I know this wouldn't probably be the case ( bad code, ego clashes, pointless red tape, etc) whereas now I spend my time in learning the technologies I want to learn, read books, and use the tools of my choice. It is boring sometimes, scary others, lack motivation at times, but overall quite satisfying as you solve challenges as a full stack developer.

To keep up to date and get new ideas I usually browse this website, programmers SE. Another thing I have done in the past is small gigs in odesk: you can work for other programmers on their projects and benefit from learning their techniques. Don't do it for the money though, unless you live in a country with very low wages.

One final word of advice: if you don't have several years of experiences already I would go back to a team of developers. All the different techniques and knowledge I have picked up over the years I don't think I would have been able to do it by myself, even with google and SO. A part of it is simply irreplaceable. At that point, I would say, you can make the most of being a solo developer and have fun.

1
  • Money is not really a big part of my concern. It is more about learning and developing personal skills. I've never worked in a team, only as a lone developer, so I see your point about getting into a team.
    – sbrattla
    Jun 4, 2013 at 5:00
4

I think you should convince your company to look for at least one other developer. Maybe a junior that you would train on-site to become familiar with the system. That way you would have an on-going, purposeful stream of conversation.

Point your company to the Bus Factor to convince them. Only having one developer responsible for everything is a very high risk. No one should keep all their eggs in only one basket.

3

As an extension to the "Join an OpenSource-project"-idea from @NemanjaTrifunovic I can suggest going to conferences or do professional trainings.

Getting out of the daily routine by seeing how others fix problems you had/have, or to see how new technologies may help to change your view, or to learn a new technology which has nothing to do with your current job can be a great motivation boost.

Why not presenting your solutions on a conference yourself?

Your boss, if he is clever, will be happy to pay you all the (travel/trainings-)costs, because he (should) knows that things like that motivate a lot.

And in addition to that you might build up a network which in the future will help you find a job.

3

There are no guarantees in life, so you could move to a larger company and trade a set of problems for a different and possibly larger set. Many have recommended joining local tech groups to take care of interacting with like minded people, but they're not going to be able to get into a lot of the little decisions you're making on your own.

My suggestion would be to keep your current job, but get involved and network inside the local tech community. Be on the lookout for individuals and possibly companies you would like to work with. Every large company does not offer what you are looking for. If a better opportunity comes up (and you should have first-hand knowledge that it is better), look into it.

Most of us have not found the perfect job that is offers the type of work we ultimately want. You're not getting experience working with a team, but that is not by choice. You took a job that has other things you prefer. I don't think it would be too difficult to get this point across in a personal interview.

Not the answer you're looking for? Browse other questions tagged or ask your own question.