

Ask HN: How do I beat the solo development blues? - edb

I'm currently working solo doing client work in my own company, which I set up after my computer engineering degree. It's great experience and I've learned ALOT about business and development, but I feel there's a big gap in my knowledge as far as working in a large dev team is concerned.<p>I figure I have 2 options:<p>1) Join a big company on a large project.<p>2) Develop in the open source community.<p>Option 1 would go against my entrepreneurial/hacker spirit.<p>Option 2 would be nice, but I code in cakePHP and there's no interesting or active cakePHP open source projects to contribute to (Except maybe the core code.. which is a little out of context for me).<p>What is one to do?<p>My idea was to wrangle up some cakePHP developpers and start building a library of plugins and components for common things that I've coded (multiple file uploads, authentication, user management, site news, photo album, forum, etc..). I figure I'd share my code with people and we'd collaboratively work towards the best solutions towards all these problems. Kind of like a cpan for cakephp.<p>Is this a good idea? Does anybody want to join me? Does anybody have any other ideas?
======
randy
Adventure time!

> Do you actually want to work in a large dev team?
    
    
      -- Yes
    
        >> Why ?
    
          --- Want to gain knowledge about 'working in a large dev team'
    
             >>> Why?
    
                ---- Because... it might be useful?
    
                    >>>> You're stupid.
    
                ---- Don't know.
    
                    >>>> You're stupid.
    
                ---- Some actually valid reason.
    
                    >>>> Wonderful! Please state it next time.
    
          --- Want to learn about [insert hard thing here].
    
             >>> What's stopping you?
    
                ---- Nothing.
    
                    >>>> Damn strait!
    
                ---- Not motivated enough to learn it by myself.
    
                    >>>> Join a start-up dealing with [insert hard thing here].
    
                        ----- But... but... it's against my entrepreneurial spirit. (Which, by the way, please don't lump together with the hacker spirit, you insensitive clod!)
    
                             >>>>> Wipe off your wah-wah tears?
    
          --- Want to be around people.
    
             >>> Hint: The open source community doesn't hit up bars after work.
    
          --- Need large team experience to tackle cool problem X.
    
             >>> Are other people tackling cool problem X?
    
                ---- Yes.
    
                    >>>> Join them.
    
                ---- No.
    
                    >>>> You don't need large team experience. Take your passion and just get to work.
    
          --- Don't know.
    
             >>> Read 'Getting things Done'. Also: You're stupid.
    
      -- No
    
        >> Then why did you post this?
    
          --- Because you're silly.

------
natrius
Working on an open source project is extremely different from working on a
large corporate software project. For example, there are few consequences for
missing deadlines (if there are any deadlines), there is little to no
management structure, and there are no perpetually changing requirements that
you have to meet. There are plenty of things you can learn from working in a
large company from both positive and negative examples, and it sounds like you
want to learn those things.

I don't see how working for a big company would be more against your
entrepreneurial/hacker spirit than school was. You're going there to learn
something. It won't always be pleasant, but it's a means to an end.

Also, as an entrepreneur, you'll eventually have to manage people. I assume it
would be much harder to do a good job of managing people if you've never had a
boss before.

------
sosueme
You could work with/for me.

Seriously.

I am one of those "non coding" founders. I come from the entertainment biz and
know first hand that there is a need for web app suite that would help about
1.5 E+3 people each to do what I did for the last 5 years.

The tools that exist for what I want to have developed either are no tools at
all, something like a business process checklist, or do 30% of what is needed
or required for the final outcome and does it poorly because the company that
provides the tools does not want to give too much control to the user over the
process.

I have personal seed money (not a ton, about 10k usd) to develop a demo with
someone, and would rather have someone interested in startups than a dbase
programmer off Craigslist.

I did some interface diagrams/sketches and wrote quite a bit on needed
features. The 1.5 e+3 entertainment professionals (like me) in question work
together twice a year to do about 3 e+9 euros worth of business each time.

If done properly the web app would be self enlarging/viral within this
community.

~~~
psyklic
1.5 e+3 = 1500 people. Is this large enough of a market? It seems like it may
not have much growth potential ...

~~~
anamax
It depends on how much those folks will spend to reduce their pain. And then
there's the wannabees who you might get to pay for junior versions.

------
TFrancis
4) learn a framework other than CakePHP.

~~~
edb
The problem is that CakePHP is so easily deployable, so I need it for client
work. (Alot of my clients won't switch hosts, so cakePHP has been a key tool
for me).

I'm also not interested in learning yet ANOTHER language/framework now. I'd
like to work on something in a larger group that will overlap at least a
little with my current work.

~~~
ComputerGuru
Then you might as well join a big company, because the entrepreneurial/hacker
spirit dictates that you _must_ be willing to learn something new every day.

~~~
edb
To my credit, I also tend to recognize that I fall into the trap of learning
new things because I like to learn new things and never use them. This is the
same trap that catches you always starting projects and never finishing them.

Learning a new language to me would be just that; starting a NEW project.
Instead, I'd like to take something I know well and learn to do _even more_
with it. That to me would be an educational effort well spent.

In that vein I feel that working with other devs who code at my level on a
collaborative goal would be something I have yet to experience and that I
think I could learn alot from.

------
lux
Use Cake to build an app that you can sell online as a service. If the service
takes off, there's all kinds of opportunity for learning as it grows and
technical requirements change (scalability, security, etc).

I've been doing client work in my one company for years (7 to be exact) and
while it's an okay model for making a living, the revenue is connected with
the hours you put in, which to be honest sucks. It means you can grow by
adding people or becoming a bit more efficient, but neither of those allows
for exponential growth. As such, it's not the right model for startups.

Instead, you want something where you make residual income every month off
something like subscriptions. With that type of model, you make steady income
(if you can sell it) and there's the potential for exponential growth without
exponentially increasing the number of people involved.

As for ideas, most software you can write that you install on your own server
(Cake type stuff) can be made as an on-demand service as well. And most jobs
that are done in a consultancy can also benefit from software to make those
jobs more efficient. I say pick one and go for it!

------
richesh
Option 1 - seems like an easy way out, and would probably negate your
experience so far since "big companies" might not value your skills.

Option 2 - is very hard to do unless you have an idea that the community
really really needs.

In my opinion you two other options: Option 3 - try to expand your company by
getting project contracts and not hourly contracts and get a decent size
project to hire a partner, then go from their hire as you find more projects.
(this is harder than I make it sound here, but worth it).

Option 4 - Come up with 10 ideas that you think you can develop within 40-80
hours (2 weeks) using cakePHP, this is the 6 month road. If any one of these
generate enough ads revenue to allow you to not do client work all the time
then it will give you time to think about what to do "next". You can then try
to hire more employees, grow your business, go back to school, or even join a
big company.

------
vikram
If cakePHP works for you then use that. I'd look to build something that uses
something that PHP and cakePHP is good at.

For a while I've been thinking about a wikipedia for apps. Where people
contribute code rather than text and help others build applications out of it,
by using a plug-n-play sort of functionality.

From the 10 minutes I spent thinking about PHP, it seems to me that the one
thing it has going to it is that it makes it easy for your users to upload
code onto the site to modify it. E.g. Ning and Jotspot.

So maybe instead of a cpan for cakephp. A cpan for web apps. Where I can go to
create a basic application, by choosing modules and plugging then together or
adding applications that others have built to my stack.

------
JimEngland
You could try expanding your current company with additional developers and
tackling more complex client work. If you add on cakePHP developers, perhaps a
more collaborative environment will spawn a unique idea to develop into a web
application.

------
danw
I'm in a similar position to you. Since going solo I've missed working with
other people and have found that I'm learning new skills slower without
regular code reviews, pair programming, etc. Here are some solutions I've been
looking at:

1) Join a small company, such as a startup or web dev studio. The small size
will ensure you have a chance to have a varied role and to do lots of
different things.

2) Team up with other local developers to form a cooperative or studio of your
own.

------
noodle
option 3) build and grow your own business, if there are enough opportunities
and the money is good.

i know that i'd be willing to jump into something like this if the pay was
good, with a small group of consultants.

and i wouldn't mind joining, either, though i use codeigniter. ;) would have
to learn cake. also, have the experience in large corporate development.

------
wenbert
I rented a cheap room. Got an internet connection and then invited my friends
over. We hack a few hours every night after work. We each have our own
projects (outsourced ones or pet projects).

The good thing about this is that we never get bored. and we share our ideas.

------
Harkins
You do web dev, you could also consider getting into a JS library.

And I recommend everyone who works in a team read <http://producingoss.com/>
\-- its insights aren't just good for open source code.

------
thorax
Isn't addons.mozilla.org written in CakePHP? They might need open source
helpers.

If you did the same sort of thing for the Code Igniter framewor, then we'd be
willing to help/donate a tad bit in that endeavor.

