How do I become a programmer?

How to become a framework programmer?

  • I'm a rails programmer,  familiar with different meta-programming techniques, design patterns, and can write small gems with simple DSLs, but for the most part, I'm an application developer, I am comfortable with adding new business features, but not comfortable  when I need to write a framework of something. so the question is : How to train myself to be capable writing a framework? The current approach I am taking is this . read open sourced frameworks(capybara, active admin), learn their styles, patterns and techniques . write  my own gem . read books about meta-programming, patterns and best practices( meta-programming for ruby, ruby best practices, pragmatic programmers, patterns of enterprise application architecture etc) However the progress has been slow.   This question is for those who have authored a framework/gem of some kind(not necessary rails; sinatra, backbone.js, ember.js, jquery etc) How did you become a framework programmer? What helped you the most? What book did you benefit from the most? How long did it take? Is there a mindset shift? How do you think differently when writing framework code(v.s. application code) and most importantly, what would you do if you were me? If you suggest me read/write more open source code,  which ones would you recommend? if you recommend books, what would you recommend? Thanks and really appreciated. Alex

  • Answer:

    If you want to be a framework programmer you must write your own framework. What you should actually do is to find a real-life problem you want to solve. Start a new project to fix this problem. On the way try to split implementation in two parts: one that other can use and another one that implements specific solution to your problem. Try not to over-design your framework and only implement parts necessary for solving your original problem. Make it open source from day one. Then throw it away and rewrite your project to use existing framework :)

Łukasz Piestrzeniewicz at Quora Visit the source

Was this solution helpful to you?

Other answers

I'd recommend starting from nothing on a new gem ("bundle gem myframework") or with a small-ish web framework like Camping or Ramaze and modifying from there.  Rack actually does a *lot* of the work for you, if you know how to use it. I wrote a book about this.  If you go to http://rebuilding-rails.com and put in your email address to sign up, you'll get the first couple of chapters free.  If you work through those, you'll have a small but functional web framework to start from and I explain all the steps as you go. That won't give you full best practices, but it'll give you a good start and a *great* place to start building from.

Noah Gibbs

Just some small steps possible. Select a gem you want to improve. Fork it on github. Make it prettier. Send a pull request to author. Author will approve it. Your changes will be included in git log.

Andrey Prihodko

Related Q & A:

Just Added Q & A:

Find solution

For every problem there is a solution! Proved by Solucija.

  • Got an issue and looking for advice?

  • Ask Solucija to search every corner of the Web for help.

  • Get workable solutions and helpful tips in a moment.

Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.