How can a Rails newbie find a job as a Rails developer? [closed] - ruby-on-rails

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I'm a Ruby on Rails newbie. I'm learning Rails in my spare time (my day job is C++ developer) and I like it. I would like to be paid to do Rails development full-time instead of C++.
How can I find a job in Rails when most job offering requires 2-5 years of Rails experience? What is the most effective strategy to get some credibility as a Rails Developer?
Thanks in advance for your answers.

I can't tell you how to get hired. I can give you the story of how I got hired, though. It may be helpful. Rather than putting the summary at the bottom, it's quite the long post:
Have a pet project
Learn all the time
TATFT: Test all the fucking time
Attend the local user groups
Share all the cool shiny things you come across
Contribute back to open source
Be active, helpful and constantly visible in the community
I got started with Ruby on Rails in September of 2006. My first project was not a blogging system like was cool at the time, but a forum system. I remember one of my first questions in the #rubyonrails channel was asking why I was getting an undefined method find on Thread, not knowing Thread was already a class.
In June 2007, I was hired at my first Rails job. I didn't know much then, perhaps a smidgeon more now. So as you can see, the process wasn't instant. Very few processes are.
What happened during this interval though was (aside from PHP contracting, being a checkout bitch and studying) that I continued asking questions in the #rubyonrails channel and refining the forum system until I got something I was happy with. In April 2007 the first official user group meeting of my home town begun and I attended that, mentioned I was doing PHP work whilst toying around with Ruby and was offered three business cards on the spot. I basically did cards.rand and picked a job that landed me an 8-month contract which I enjoyed.
I learned a huge amount during this job, as you should with any job. I applied what I learned to my forums, refining it using the techniques I was learning on the job. I've been refining it further and further since then and in its current incarnation it's probably my Open Source Magnum Opus.
After I left that job I was quickly picked up at another company where, again, I learned new things and applied what I had learned to my open source work. One of the greatest things to learn was automated testing. If you're not writing tests, you're at a huge disadvantage to those who are. I know of many prospective employers who are looking for people who can write good tests for their code.
Now that Github's about, I have a nice central location to share all my work where prospective employers can look. The only feature I crave from Github would be a list of all the projects I've ever contributed to, since this is what lures most employers. So far the "Big Three" in my mind would be: RSpec (better Hash diffing + other changes), Cucumber (That list of failing scenarios when Things Go Wrong(tm)) and Rails (documentation such as the Querying Guide and the in-progress Initialization Guide as well as bug fixes).
It also doesn't hurt to keep a blog of the technical (and not so technical) things you come across. If you provide useful information, you'll get noticed for that too. I got noticed enough that I was recruited to write a book.
I also attended the second Railscamp event in November 2007 where I met one of my future bosses and made a lot of "connections" with people in the Ruby community. I then went on to run a Railscamp in Adelaide (#4), and assisted with the ones following that in varying degrees.
I'm also very active in the community, helping out on of course here and the IRC channels on Freenode. Helping out is definitely one of the ways I've learned how to be a better Rails coder. You can witness other people making mistakes and suggest fixes, and also watch other people suggest fixes that you may not have thought of.
Currently, I'm teaching people Ruby on Rails and when there's nobody to teach I do development work. That's my day job. The night job is writing the book. I would advise you to only have one job, because over-work can lead to burn outs. That's what weekends are for, or so I'm told.

The best thing that you can do is have a live web application that is being used and is providing a useful service. Bring your laptop with the source code along on interviews and walk through it, demonstrating your mastery of and passion for the technology.

Contribute to open-source Ruby-on-Rails projects. You'll find lots of them on Github.

Related

How do you choose the right Ruby gem for your next project? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
Suppose you spent the last six months on a legacy system project, large corp obsolete web platform, integrating alien data structures.
Now you are finally off and you can go with a brand new startup project in Ruby.
The application will be built from scratch and is up to you to decide which gem you are going to use.
The question can be extended to the various aspects of building a brand new web application, but for semplicity, just suppose you need an authentication system.
Now, the last time you put in place that in Rails, was "authlogic" and it was so cool compared whith "authentication_fu", but while you where "in the cave" you just heard about several other way to authenticate, something like clearance, device, omniauth, warden, sorcery, twitter-auth, open_id_authentication and may others.
Even worst, suppose you can "just imagine" Ruby community is not sleeping and in six months, she was blowing up new ideas and paradigms about "authentication pattern" but you didn't find the time to be updated.
You just want to go outside there, having a look at what's going on, finding all the new gem arising and deciding what fill better your next project.
How do you do it ?
Thanks in advance
Luca G. Soave
UPDATE Sep 18 10:36
Ruby toolbox compares gems in the same category by the metrics described - by Andrew Grimm
UPDATE Sep 17 02:09
Several people tried to clarify the process to discover and choose the right Ruby gem for "the next brand new Ruby project". I'd like to summarize what I learned from everyone by listing what in my comprension are the main steps :
About the process of deciding between gems in the same field:
try a few of them yourself - by semperos
give them each a test drive, make sure there is heavy activity on github, watching last
commits - by ealdent
choose the the Loosely Coupled Gems vs Monolitic Frameworks, giving priority to agile and fast implementation and continuous refactoring - by Craig Stuntz
getting expert of a gem/domain field, in order to be able to decide between gems - by james_schorr
don’t choose “WOW-things and Cool Fresh releases” for your production client projects, but test it daily on minor and private testing projets - by mikhailov
About the process to discover & choose the right gem, the last one by jeremiahd, is a deep, clear and very useful description of the process :
search around for what seem like the most commonly installed libraries that cover my use case
take a look at their documentation, to see how complete and readable it seems
look at the activity in their community : updates - mailing lists - wiki -
IRC - commits - mood
look at their code : test suites - clean code - documents - useful comments -
use their code
quality of the community and code
do it as a learning process, get a better programmer and give back to your community
END UPDATE Sep 17 02:09
Feel free to add more, ... share your point of view.
What I do (when this problem rears it's head in any language) is I search around for what seem like the most commonly installed libraries that cover my use case. I then take a look at their documentation, to see how complete and readable it seems.
Next I look at the activity in their community -- are projects actively updated? Are there easily accessible mailing lists / a wiki/ IRC? How active are they? What's the general tone?
Next I look at their code. Are there test suites? Are they test suites that help me understand the library? Is the code clean? Documented? Commented usefully? Does it look like a ridiculous mess, or like it's had thought put into it at every point?
Next I use their code in a simplified, but similar, manner to how I actually need to use it. Did I run into any major stumbling blocks?
Screw flipping a coin and sticking with it. Sooner or later, whatever lib you're using isn't going to serve your needs, and you'll want to modify it's behavior. When that time comes, the quality of the community and the quality of the code are what make libraries stand out from one another.
This is, of course, a bit fuzzy. And it can be a challenging thing to do, but you'll be a better programmer for it, and assuming you do it enough, you'll probably be contributing back upstream to the libraries you use at some point, which is pretty awesome.
Pick one and run with it. The important point is not what you choose right now, but how hard it will be to change your mind six months down the road. In short, your efforts should not go into making one, permanent decision which will bind you for the lifetime of the project, but on isolating the dependencies on the authorization system to a single (as much as possible) small and easily swapped bit of code.
In my opinion, you should try a few of them yourself.
It seems that Devise has become somewhat of a de facto choice, with mechanisms to support a variety of authentication styles. That might be a nice place to start, but you should obviously try to make it do what you want, and if it doesn't work, try others of the gems you mention.
Rails does not have a "default" authentication mechanism pre-built because authentication tends to be specific to each project. Try several out, see which one fits your needs and programming style best.
I mostly agree with Craig Stuntz, you should just pick one and run with it (and build your app so that it can be swapped out, if possible).
I will suggest, however, that doing that means you give them each a test drive. Perhaps you don't do that in your main project, but really, until you actually use the thing, you will never know just how messed up it is. And no matter how much love the community is throwing at a gem today, you can be sure there are serious issues with it.
For relatively new gems, you also need to make sure there is heavy activity on github or whatever, so that the gem isn't going to stagnate any time soon. If I don't see a commit in the past few weeks, it makes me really uneasy about using a gem that isn't already mature.
I spent a lot of time looking at authentication gems and landed on Devise. It's been great. All of the above tips are great.
I wrote a blog post on this very question - How to pick the right Ruby Gem?
http://www.railstutors.com/blog/how-to-pick-the-right-ruby-gem
The main idea - First check if really need a gem to do what you want; Then some consideration on how to evaluate a Ruby gem. I also happened to use an Authentication as use case so you may find that interesting.
It is my daily choice, what is the way we go tomorrow to satisfy our clients needs. How to be on the edge and keep users happy with stable and reliable system?
First off, we do not accept WOW-things and Cool Fresh releases. We will use new things in 0.5 year, as a tesing period. Yes, we still on Rails 2.3.10. Upgrade to Rails 3 will be next month for us. We have codebase with Core covered by tests, Rspec do great job for us, there is about 94 tests.
But, we try modern gems during daily development and do small projects to see how they work. It's easy and free, take the time only. Railscasts satisfy interest in cool stuff too, it's important to see each of them.

What are some solo developer programming methodologies? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
What are some solo developer programming methodologies for smaller projects?
Just about any development methodology will work in a solo environment except for those that explicitly require a team (such as side-by-side programming). But even then you could get around that by just creating some imaginary friends/teammates or developing a multiple personality disorder.
Even as a solo developer you can use methodologies applied to large development teams.
Write a Spec.
Layout a UML.
Do pencil-and-paper UI design.
Hallway testing: If your expect a large crowd, ask Mom if it's easy to use.
Peer review: You can build ad-hoc review teams with other solo developers.
Keep an up to date schedule.
and so on...
I solo develop all the time, and these practices keep me in line with my own work and give my bosses a great resource to know what I've done and how far along I am. And they keep me on track, to boot!
The rubber duck methodology comes to mind:
http://lists.ethernal.org/oldarchives/cantlug-0211/msg00174.html
Many agile techniques work great solo:
User interviews and stories: If you don't know what your users want, why would your software be useful?
A simple spec: Or even just be a mission statement. "Let people broadcast short messages to their subscriber lists." "Use in-degree to sort internet search results." "Let people collaboratively answer programming questions." Whatever.
A strictly-ordered todo list: Helpful to keep you from drowning in thoughts.
Tangents log: A good to-do list has a "to-don't" component, so you don't obsess over things you aren't going to do (yet).
YAGNI: Stay on target. This is very important when working by yourself, because no one is there to tell you "No! Don't reinvent dynamic typing in Java! Get back to the project." To-don't lists help with this.
Test-driven development: Writing tests forces you to think about the end result, rather than getting bogged down in implementation details. You'll get bogged down enough anyway; no need to make it worse.
Frequent releases: Make yourself stick to deadlines. "We'll have a feature-complete version that includes user stories 1-4 by Friday. It won't connect to the network or save data to disk, but XYZ..."
User testing: Have your buddies look at what you're making on a decently frequent schedule -- maybe once a month, maybe every week, depending on how many friends you have and how much beer/pizza you want to feed them. Pay very close attention to what they say and do and think when using the software.
And other things that only seem like they make sense in big projects can help a lot:
Source control: Install git. It's bone simple. Use it. Don't obsess over it.
Off-site backups: Y'know. In case of house fires or floods.
A blog: But you're only allowed to write there when a release comes out. ;) Also helps you build an audience for your product before it even ships.
Hope this helps! Solo programming on a large project can be very daunting.
Follow what is laid out in this Stack Overflow question:
What Tools/Techniques can benefit a solo developer?
Also. Use Source Control. You wouldn't believe how many times I've been bitten by that on personal projects.
There's this:
http://en.wikipedia.org/wiki/Personal_Software_Process
It's probably overkill
The issue is more a question of what you are comfortable with and what problems you hope to solve. Most methodologies are used by a solo developer at some point (pair programming is a notable exception). The issue is are you actually alone, or just working by yourself? I have found that it is invaluable to have people I can bounce ideas off of. Furthermore having someone else to look at you code (peer review) is a great way to find issues that you just cannot "see". So to agree with Aiden Bell "Programming on your oen is uncool."
I would try and connect to a community (like SO) where you can bounce ideas off of others. Then you need to build your methodology in such a way as to allow for interruptions when you send an idea out.
Does that make sense? Why are you programming alone?
Pat O
Not really an official methodology, but I have done a lot of solo development (independent consultant and ISV), and here are the things I have found to be important:
Find an online organization (like
oisv.com) to share thoughts and
ideas
Make sure you take time to interact
with actual people in the real world
Set project goals, deadlines, and
milestones
Take time to do appropriate up-front
design and project planning
Set aside working hours are stick to
them
Don't work too much and burn yourself
out
Nothing is ever perfect, so strive
for good code that works, not
perfection
Get some non-programming hobbies
This is more of trick than a methodology. When you're debugging, explain the bugs out loud to yourself as though you were trying to explain it to a co-worker. It feels silly, but forcing yourself to articulate the problem out loud often reveals what the problem is.

What ever happened to Textmate 2? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
What ever happened to Textmate 2?
I was almost positive that there was a post to the mailing list within the last 4 months that strongly implied -- or outright stated -- that there'd at least be a beta by summer 2009, but I haven't been able to dig it up, so I'm not sure.
To be honest, I'm not really that concerned about TextMate. Sure, I'd love to see it, because new stuff is always cool; but in my opinion there are only 2 big features missing from TextMate -- split-pane viewing and better undo support -- and I've found I can live without those. TextMate 2 will probably be awesome, but the current TextMate is such a great editor that I'm not anxious for TM2 to come out.
Update: A public alpha is due out by Christmas 2011.
Update: A public alpha is now available
From the wiki:
Q: Is TextMate 2 still in development, or has it been abandoned?
TM2 is being actively developed. If this text is still here, that is still the case. (Last updated April 7, 2009. Allan stresses that no release is "around the corner" yet.)
The author, Allan Odgaard, has updated the TextMate blog with this post:
Working on It
Over the past two years, posts on this blog have slowed to just a trickle, and a number of TextMate users have asked about TextMate’s status, or publicly worried about its future. This blog post, the first I’ve written here in a long time, is an attempt to assuage those concerns and answer some of the most frequent questions.
In short, TextMate development is going strong: TextMate 2 isn’t done yet, but progress is steady, it is starting to take shape, and the end is in sight. The rewrite has been a slow and careful process, but the ideas behind it are exciting. I hope to publicly describe some new abstractions in the coming weeks and months. Moreover, the community continues to churn out new bundles and features for TextMate 1.5, and I’ve been building up a backlog of posts describing them. While I am not writing to announce a release date for TextMate 2, I do hope that this post will be the first in a series showing a bit more transparency.
The requests for TextMate 1 have mostly been incremental additions such as split views, chunked undo, and editing over SFTP. But TextMate 2 is about more than new surface features. Every part has been completely rewritten to take advantage of the lessons learned from the years of version 1. Not only are the low-level data structures chosen for increased flexibility, but the abstractions on which TextMate is built—snippets, scope-based language grammars, context-dependent settings—have been rethought and are more powerful than ever. In the coming months, I’ll try to describe some of these new abstractions, but for now, know that I am excited about the new ideas involved.
So where does development stand for 2.0? It feels to me like most of the modules are getting close, say 90%. But as they say, on the horizon, mountains look small. While I use 2.0 for my own work, day-to-day, and the basic infrastructure is pretty solid, much of the front-end still needs work, and for now it’s all lacking the spit and polish of a finished app. Hopefully an alpha version will be ready before too long, but I can’t make any promises about dates.
And why haven’t I been better about keeping the world informed? It is a combination of many things really, but the main issue is that I am not good at writing for a large audience. I am more into informal conversations, for instance over mailing lists or on IRC. So while I started a lot of posts, I end up unhappy with them halfway through, and they don’t get finished or published. I am taking measures: I have enlisted a technical writer to help bring this blog back to life, and I’ll try to communicate more of TextMate’s status and direction through him.
Bigger than either of those problems though, as I mentioned, is that TextMate 2 is no minor facelift. It’s a major undertaking with a long timeline and its final form isn’t fully settled. I don’t want to hype vaporware, and I don’t want to get anyone’s hopes up before I know I can meet their expectations.
Furthermore, I haven’t wanted to throw ideas onto the internet without having a chance to implement them myself. I’m humbled that TextMate has served as inspiration for many other products, and I hope that it continues to be a model for other developers in the future, but I want to see my ideas done my way first, before I feed them to the competition.
I am trying to slowly turn this boat. With this post, I hopefully am showing that a hand is at the wheel. I know I’ve been quiet too long about my plans. I can’t make up for that, but going forward, I aim to do better.
And Here's the official blog post, saying the public alpha version will be release before Christmas 2011.
http://blog.macromates.com/2011/whats-next/
Allan Odgaard (Oct 24, 2007):
[...] there is no ETA, and I won’t speak
about timing before I am certain I can
provide an (alpha/beta) release within
the next month – because really, the
more I say, the more people ask, and
having to answer the same questions
over and over again is (for me)
mentally exhausting. So put TM 2.0 up
there with Duke Nukem Forever and be
positively surprised the day it is
released :)
Last I heard, it was in private alpha. Just remember: patience is a virtue. :)
Here is a recent post on a mailing list from author Allan Odgaard. It sheds a little light on the current state of development.
In short, don't expect anything soon.
Well it's been 1 1/2 years since this question. And no update. And no news.
I'm moving on from textmate. Shame really, cause it was the best editor on Mac. But, hell, even dreamweaver has passed it up.
TextMate author was hired by MacRabbit (company behind the Espresso editor) so it could be that Espresso will be the next TextMate (it's a real shame..)
It doesn’t say that anywhere in the article. Besides, this is simply not true. MacRabbit is also a 1 person company like MacroMates. Textmate's developer lives in Denmark; MacRabbit's lives in Belgium.
Expresso is a different editor, not Textmate 2.
I can scarcely believe this is true, but I just read that it is scheduled for release at the end of October, 2010.
http://wiki.macromates.com/FAQ/TextMate2
not exactly a direct answer to this question, but since I just signed up for an account and don't have the rep points to comment on an answer (or as it turns out include more than one hyperlink), I'll leave my response here for Paul and Vasil:
You should definitely check out Ciarán's ReMate Update plugin for TextMate as it has been invaluable for me while working with NFS.
I also highly recommend Ciarán's other TextMate plugin, ProjectPlus (ciaranwal.sh/projectplus)
One last plug for Ciarán...most likely due to the fact that he has developed some great plugins for TM1, he has also been hired by Allan (wiki.macromates.com/FAQ/TextMate2) to work on TextMate 2
There's really no excuse in the world that could convince that textmate 2 isn't vaporware.
Even if he was secretly coding the editor to demolish all other editors, the amount of years that have passed and lack of any real evidence of anything solid whatsoever, point toward poor development practices and lack of experience producing a product.
Unfortunately it looks like textmate 1 was a fluke, and texmate 2 is the software worlds chinese democracy...
I think its sad that this question remains one of the top Google search items when looking for TextMate 2 information yet it is filled with rumors and insinuations.
They are working diligently on it and what they are trying to do is so very very hard. Give them a break. I even wrote an article on this: On TextMate 2
A new post today with title What's Next on MacroMates official blog states (bold emphasis by me):
There has been a lot of speculation and trepidation about the future of TextMate recently, mostly about whether there will be another major release. Work on 2.0 began and while we wish it could have been completed faster we are very pleased with how it is turning out. Development has reached a point finally where we can make an announcement:
There will be a public alpha release this year, before Christmas, for registered users.
I am predicting, right now, that he is going to surprise everyone and give us a gift on Christmas of this year.
How perfect of an opportunity would it be for him release a relatively polished non-beta on Christmas and watch everybody in the world go ape shit.
Mark my words. 10 days.
TextMate author was hired by MacRabbit (company behind the Espresso editor) so it could be that Espresso will be the next TextMate (it's a real shame..)

What is the best way to properly get to know the Rails framework? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I have been doing two projects on Rails which have worked out quite nicely but have in the process reinvented the wheel, running (and hot) water and painkillers which are as I have learned subsequently already present in the framework.
So basically, what is the best way to properly get know all the clever parts in the framework that will save time instead of building functionality yourself that has already been implemented? Reading the docs from page 1 onwards? Is there a particular sample app that exposes everything? A particular open source project? All the railcasts? Or something completely different?
A number of people have suggested a series of books, but I might not have made myself clear enough in what I was looking for. I already have a number of Rails (and one Ruby) books that to different degrees explain the Rails framework but that's not really what I'm looking for. Example:
I coded my own function to pretty print numbers as currencies (actually I extended Object to do that for me) because I had no idea that number_to_currency existed. Now that's not a big deal in terms of time but I am sure that I have done my own methods many times simply because I didn't know a similar rails function existed.
So again, how do I find out that number_to_currency (and the myriad of other functions) exist?
This is a bit subjective. But if you haven't read Agile Web Development With Rails, I'd definitely recommend that, with the prior understanding that quite a bit of new stuff has been added since then, and the 3rd edition will be coming out very soon to reflect this. Also, Ruby for Rails is great if you weren't already familiar with Ruby.
Other than that, definitely pick a Rails blog and follow it (maybe Railscasts); go back and read the archives.
Last but not least, before you start inventing something, thoroughly google it and/or post on the Rails forum to make sure it isn't already around.
I second the recommendation for Agile Web Development With Rails, I have the 3rd edition in beta/PDF and it really helped. You find also many guides on this site. Don't forget things like Bort and its fork like this one.
Time.
Really.
The previous answers pretty much cover the best there is in terms of resources to learn Rails. But my personal favourite is Ryan Bates' excellent series of Railscasts. Also, Peepcode has some excellent Rails screencasts
He covers pretty much every little thing one is going to need in any Rails project.
As far as books go, Simply Rails 2 was very helpful
look at Bort, Caboose sample app, some others, then write your own
http://jimneath.org/2008/09/09/bort-base-rails-application/
http://www.railsinside.com/elsewhere/100-7-barebones-rails-apps-to-kick-start-your-development-process.html
I would also look at post-tutorial books like Ediger: advanced Rails, Rappin: Professional Rails, "Art of Rails" (Wrox, can't remember author) Chak/oreilly : Enterprise Rails. Read reviews on Amazon, pick 1 or 2.
The first good way to get to know Rails is by actually making something in it -- anything really, even just a simple blog or something like that. Doing so will show you what you'll need to know and look up to build a good rails app.
I also have two books I've used to learn Rails: Agile Web Development with Rails by David Thomas and David Heinemeier Hansson, and Beginning Rails: From Novice to Professional by Jeffrey Allan Hardy and Cloves Carneiro Jr.
"Use the source, Luke." I was just reading an article on the desirability of reading the Rails source as a way to really understand what's going on. Of course I closed that tab before I saw this question....
I am not sure why the other poster is getting voted down. There is no substitute for actually writing code. Lots of it.
Having a sample project in mind is one of the best ways to start in my opinion. Pick something fun (not a huge idea that you've been dreaming of, but something small and intersting to you) and start working on it!
Some of the sample videos on the Ruby On Rails site along with the Agile Web Dev book really help getting the basics down. When you're trying to solve specific problems, things like Railscasts or Peepcode really really help.
Its sometimes difficult to get things "right" the first time when there are so many ways of doing something with rails. "The Rails Way" book is a good way to find out some of these, but Railscasts cover things the Rails way as well.
Rails is not trivial, a lot of the magic is hidden.
I'd recommend choosing a project that you're going to do. Do not pick "create a blog" or whatever, choose a real project that you want to see happen. Then read a book like Agile Web Dev with Rails and try to code following the examples and tutorials.
Do not hesitate to spend time to entirely refactor your code to improve what you did. You WILL find out that you did everything wrong and have to redo 50% of your code. It's impossible to get it totally right the first time.
My favorite way is to watch the Railscasts:
http://www.railscasts.com

Anyone soloing using fogbugz? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
Is there anyone working solo and using fogbugz out there? I'm interested in personal experience/overhead versus paper.
I am involved in several projects and get pretty hammered with lots of details to keep track of... Any experience welcome.
(Yes I know Mr. Joel is on the stackoverflow team... I still want good answers :)
I use it, especially since the hosted Version of FugBugz is free for up to 2 people. I found it a lot nicer than paper as I'm working on multiple projects, and my paper tends to get rather messy once you start making annotations or if you want to re-organize and shuffle tasks around, mark them as complete only to see that they are not complete after all...
Plus, the Visual Studio integration is really neat, something paper just cannot compete with. Also, if you lay the project to rest for 6 months and come back, all your tasks and notes are still there, whereas with paper you may need to search all the old documents and notes again, if you did not discard it.
But that is just the point of view from someone who is not really good at staying organized :-) If you are a really tidy and organized person, paper may work better for you than it does for me.
Bonus suggestion: Run Fogbugz on a second PC (or a small Laptop like the eeePC) so that you always have it at your fingertips. The main problem with Task tracking programs - be it FogBugz, Outlook, Excel or just notepad - is that they take up screen space, and my two monitors are usually full with Visual Studio, e-Mail, Web Browsers, some Notepads etc.
Go to http://www.fogbugz.com/ then at the bottom under "Try It", sign up.
under Settings => Your FogBugz Hosted Account, it should either already say "Payment Information: Using Student and Startup Edition." or there should be some option/link to turn on the Student and Startup Edition.
And yes, it's not only for Students and Startups, I asked their support :-)
Disclaimer: I'm not affiliated with FogCreek and Joel did not just deposit money in my account.
When I was working for myself doing my consulting business I signed up for a hosted account and honestly I couldn't have done without it.
What I liked most about it was it took 30 seconds to sign up for an account and I was then able to integrate source control using sourcegear vault (which is an excellent source control product and free for single developers) set up projects, clients, releases and versions and monitor my progress constantly.
One thing that totally blew me away was that I ended up completely abandoning outlook for all work related correspondence. I could manage all my client interactions from within fogbugz and it all just worked amazingly well.
In terms of overhead, one of the nice things you could do was turn anything into a case. Anything that came up in your mind while you were coding, you simply created a new email, sent it to fogbugz and it was instantly added as an item for review later.
I would strongly recommend you get yourself one of the hosted accounts and give it a whirl
In addition to the benefits already mentioned, another nice feature of using FogBugz is BugzScout, which you can use to report errors from your app and log them into FogBugz automatically. If you're a one person team, chances are there are some bugs in your code you've never seen during your own testing, so it's nice to have those bugs found "in the wild" automatically reported and logged for you.
I use it as well and quite frankly wouldn't want to work without it.
I've always had some kind of issue tracker available for the projects I work on and thus am quite used to updating it. With FB6 the process is now even better.
Since FB also integrates with Subversion, the source control tool I use for my projects, the process is really good and I have two-way links between the two systems now. I can click on a case number in the Subversion logs and go to the case in FB, or see the revisions bound to a case inside FB.
I think it's great that Joel et al. let people use FogBugs hosted for free on their own. It's a great business strategy, because the users become fans (it is great software after all), and then they recommend it to their businesses or customers.
Yea FogBugz is great for process-light, quick and easy task management. It seems especially well suited for soloing, where you don't need or want a lot of complexity in that area.
By the way, if you want to keep track of what you're doing at the computer all day, check out TimeSprite, which integrates with FogBugz. It's a Windows app that logs your active window and then categorizes your activity based on the window title / activity type mappings you define as you go. (You can also just tell it what you're working on.) And if you're a FogBugz user, you can associate your work with a FogBugz case, and it will upload your time intervals for that case. This makes accurate recording of elapsed time pretty painless and about as accurate as you can get, which in turn improves FogBugz predictive powers in its evidence-based scheduling. Also, when soloing, I find that such specific logging of my time keeps me on task, in the way a meandering manager otherwise might. (I'm not affiliated with TimeSprite in any way.)

Resources