4 ms·
Ask HN: How to hire freelancers specialized in continuous deployment?
Hi I am trying my hand in writing a SaaS application.
I have been reading blogs by Eric Ries and others. I am reading through Web Operations book by John Allspaw and I am determined to make sure I have Continuous Deployment for my SaaS.
Right now, I have a AWS EC2 instance running.
My SaaS application is 50% ready.
I use Git for Version Control and Capistrano to deploy though frankly I don't really grok the Capistrano script.
I hired a Linux expert from UK via elance to help me with installing multiple SSL certificates on a single AWS EC2 instance.
However, he is not that familiar with Capistrano and continuous deployment tools like Hudson, etc and he is unavailable for the next 2 weeks.
Searching through elance and oDesk using keywords like Hudson, Buildbot, Capistrano, Selenium, etc leads me nowhere.
Most providers on those websites specialized in software programming and not continuous deployment.
How do I hire a freelancer to help me in this area?
Note: I am based in Asia if that makes any difference.
- gexla 16y agoFirst off, I wouldn't try to deal with a problem that you don't have. Right now you have an app that is 50% ready and it seems that you are putting a lot of effort into something that is far less important than your primary issue - that is, finishing your app. Also, in the hunt to figure out one problem, you have discovered another problem. How can you rely on freelancers for this particular part of your application? You can continue that line of thinking to - what do I do if something breaks in this process that my freelance developer setup and I can't get anyone to fix it right away? You might just be screwed at that point. So, you are better off learning this stuff yourself, not bothering with it, or getting someone with full devotion to the project who can do this stuff for you. For right now, work on that 50%. ;)
- Zeu5 16y agoI thought having a proper continuous deployment helps with development? I want to shorten my learning curve and honestly I have my hands full. Other people created startups by hiring freelancers to do their coding, so your argument about being exposed to the risks of not being able to fix the very thing that the hires created also applies to them. I am quite sure they were not stopped by that. I do acknowledge that risk you are talking about hence I am also requesting for documentation and a proper handover. Basically, I would like someone to a) implement the setup for me once b) show it to me how it is done c) undo everything and let me do it once. If not possible to do all a, b, c), i dont mind hiring someone to at least do a) and b). Thank you for your reply.
- gexla 16y agoDevelopment and deployment are two different things. Just as development and system administration are two different things. Deployment is actually more in the realm of administration than development. So, I'm not sure you can say deployment helps with development, though it's good for a developer to know about the administration side also. To say "Other people created startups by hiring freelancers to do their coding" is too much of a blanket statement. This is something that has to be carefully considered on a case by case basis. Outsourcing works in some cases and it's a disaster in other cases. You mention that you need someone to hand over the documentation, but that's not the sorts of problems I'm referring to. What happens if the server hits a hardware failure and you have to work outside the documentation to recover? I run into crazy stuff with Administration all the time, it's never so tidy that I can work any sort of documentation people could hand to me. If you don't have a basic working understanding of what you are working with and nobody on staff who can do the same, then you are at the mercy of the same issues you are running into now. I guess what I'm getting at is that you need a process which you can run yourself even when things go very wrong. If you start relying on processes that you can't handle in house (you) then those processes become liabilities rather than assets.
- Zeu5 16y ago>I guess what I'm getting at is that you need a process which you can run yourself even when things go very wrong. Okay. So now the question is how do I go about getting that?
- gexla 16y agoFinish the app first. Once you get to a point where you are at least closer, maybe almost to beta then you will see how deployment issues are a problem. I would then start working on your deployment process. At that point, it's all reading and Googling. ;)
- Zeu5 16y agoI understand what you mean. You are telling me not to put the cart before the horse. I am thinking of deployment in the sense that, when i do a push of the repo code to the staging, the unit tests are executed and if all tests are passed, the code is then deployed on the staging proper. Else it will be rolled back. I do not have a) staging b) unit tests c) a hook to run the unit tests when code is deployed to staging I guess the above are important to development yes? Helps to discover bugs easier right?
- SpikeGronim 16y agoWhy does continuous deployment help? It helps by pushing many small updates instead of a few large ones. For a large code base with many developers this is a big benefit. To use it you need excellent automated test coverage and a reliable deployment tool. For a small team, it is probably a waste of time to setup. I recommend focusing on only the most important tasks for making your product "something people want" (to quote pg). If you're spending a lot of time wrestling with deployment, automate it. If it is a few minutes a day, focus on other things. I'd also make sure to think carefully about which components you do and do not learn deeply. If Capistrano is important to your product and you're spending time with it, learn it yourself. If you're spending more time on frontend website app development, learn a web dev framework instead. This is a judgement call.
- Zeu5 16y agoHi Spike, >If you're spending a lot of time wrestling with deployment, automate it. Yes I want to reduce time wrestling with deployment. I also want to make it easier for the freelancers that i hired to help me certain modules of the code to test their work on my staging (which is currently non-existent). I just do not have sufficient knowledge about sys admin in general. I really want to reduce time spent on my non-core areas and focus on making my product "something people want" >If Capistrano is important to your product and you're spending time with it, learn it yourself. I had a very good experience hiring this Linux expert from UK who not only installed multiple SSL certs for me on AWS and explained why in great detail. That is why I am also seeking someone not only to implement solutions but also to teach me the hows and whys of automating deployment. I am sorry if my intention was not clear from the outset. English is not my native language. Do you know someone who possibly fits the bill? Thank you for taking time out to answer the question here. I really appreciate it.