Discussion:
[BangPypers] [XPost][Slightly OT] Could you share your experiences about Python Freelance programming, from a programmer's perspective
Vishal
2011-10-31 12:12:16 UTC
Permalink
Hello Everyone,

I have a friend, who's finished his education and looking for work. He
asked me about freelance programming and I had nothing to share with him.
Thought of getting to know this mode of professional programming.

I am trying to get a feel of how it is to do freelance programming...in
Python..in India ?

What are the (good) websites that a person in India can approach ?

What is the usual pay structure (as in you being in India, and the payment
happening in some international currency), share with website etc ?

How successful have you been at getting projects where Python is required ?
(You can say the truth here...its not going to be made public and its not
going to increase your competition :) )

Suggestions, pointers for nu-bee freelancers etc ?

Hope this would be an interesting topic to everyone :))
--
Thanks and best regards,
Vishal Sapre
Sidu Ponnappa
2011-10-31 13:12:26 UTC
Permalink
Post by Vishal
I have a friend, who's finished his education and looking for work.
I think the first thing a grad should be looking to do is to get
better. I can't comment on the Py freelancing scene, but I will say
that if he wants to make money he probably can, but that his software
engineering skills will almost certainly suffer.

His first priority should be to get into a situation where he has
superb people to learn from. This is most easily solved by getting a
job at an interesting place with interesting people. It could also be
solved by finding a small yet popular open source project that has a
lead that knows his/her stuff and where all his commits would receive
feedback.

Either way, his focus should remain on getting better at what he's
doing or his career will almost certainly be impacted in a few years
when his peers turn out to be better engineers than he is.

Good sources of freelance work: odesk.com and elance.com

Payments in non INR currencies can be taken via Paypal (with certain
limitations) or direct wire transfers. The websites I mentioned also
provide an escrow service that can be useful when dealing with
potentially flaky clients. The important thing to remember that
freelancing is a business, and should be run as such. At a minimum,
register a sole proprietorship and get a business account with SBI.
Mixing your personal and business finances is a good way to have all
sorts of accounting and taxation problems.

Best,
Sidu.
http://c42.in
http://rubymonk.com
Post by Vishal
I have a friend, who's finished his education and looking for work.
Umar Shah
2011-10-31 13:24:55 UTC
Permalink
Post by Sidu Ponnappa
Post by Vishal
I have a friend, who's finished his education and looking for work.
I think the first thing a grad should be looking to do is to get
better. I can't comment on the Py freelancing scene, but I will say
that if he wants to make money he probably can, but that his software
engineering skills will almost certainly suffer.
This is the best thing to do for a fresher. You need to start in a team
with some experienced people around to learn from.
Freelancing is an independent venture and would limit the growth if there
is no good experience to build on.

His first priority should be to get into a situation where he has
Post by Sidu Ponnappa
superb people to learn from. This is most easily solved by getting a
job at an interesting place with interesting people. It could also be
solved by finding a small yet popular open source project that has a
lead that knows his/her stuff and where all his commits would receive
feedback.
Either way, his focus should remain on getting better at what he's
doing or his career will almost certainly be impacted in a few years
when his peers turn out to be better engineers than he is.
Good sources of freelance work: odesk.com and elance.com
certainly best for freelancing, odesk has started wire transfers in INR
also.
paypal now requires registered PAN / Bank details to work in India.


Payments in non INR currencies can be taken via Paypal (with certain
Post by Sidu Ponnappa
limitations) or direct wire transfers. The websites I mentioned also
provide an escrow service that can be useful when dealing with
potentially flaky clients. The important thing to remember that
freelancing is a business, and should be run as such. At a minimum,
register a sole proprietorship and get a business account with SBI.
Mixing your personal and business finances is a good way to have all
sorts of accounting and taxation problems.
Best,
Sidu.
http://c42.in
http://rubymonk.com
Post by Vishal
I have a friend, who's finished his education and looking for work.
_______________________________________________
BangPypers mailing list
BangPypers at python.org
http://mail.python.org/mailman/listinfo/bangpypers
Gopalakrishnan Subramani
2011-10-31 13:57:15 UTC
Permalink
"I have a friend, who's finished his education and looking for work."

freelancing is stressful during startup days. It needs more discipline and
skill than someone works in a corporate team.
Until or unless he is extraordinary in taking business situation and
executing them, don't recommend any freelancing especially for someone who
needs money for survival and don't expect anything from parents situation.

"Suggestions, pointers for nu-bee freelancers etc ?"

It comes like how much time you need to generate money for your survival
and living your own lifestyle in freelancing. During that time, whether you
will be able to survive and managed to live a lifestyle you want for. If
you don't have it, don't look for freelancing. Look for regular job and
study and prepare well for interview. freelancing will distract at this
stage. Once you find the job you like, then you can do freelancing as a
side projects or hobby till it you get enough credit and reputations.In
this case, advise him to study well, get participate on stackoverflow or
usenet groups and put them in resume references. IT WORKS REALLY.

Sidu gave a good website references. Generally there are more work on PHP
than in Python on freelancing.

I talk freelancing in terms like crowd-source (programming in variances).
There are many skilled freelancers working for dedicated clients for long
term. Basically they can be referred as an independent consultant in other
words.
Post by Vishal
Hello Everyone,
I have a friend, who's finished his education and looking for work. He
asked me about freelance programming and I had nothing to share with him.
Thought of getting to know this mode of professional programming.
I am trying to get a feel of how it is to do freelance programming...in
Python..in India ?
What are the (good) websites that a person in India can approach ?
What is the usual pay structure (as in you being in India, and the payment
happening in some international currency), share with website etc ?
How successful have you been at getting projects where Python is required ?
(You can say the truth here...its not going to be made public and its not
going to increase your competition :) )
Suggestions, pointers for nu-bee freelancers etc ?
Hope this would be an interesting topic to everyone :))
--
Thanks and best regards,
Vishal Sapre
_______________________________________________
BangPypers mailing list
BangPypers at python.org
http://mail.python.org/mailman/listinfo/bangpypers
Noufal Ibrahim
2011-10-31 14:38:05 UTC
Permalink
Post by Vishal
Hello Everyone,
I have a friend, who's finished his education and looking for work. He
asked me about freelance programming and I had nothing to share with
him. Thought of getting to know this mode of professional
programming.
I wouldn't recommend it for a fresher. It's kind of harrowing and
there's a lot of "non programming" stuff necessary to do it full time.

I would recommend that she join a startup or a small company and get
some real work experience before jumping into this.

During my initial freelancing/moonlighting days, I spent time on odesk
and other sites but didn't really get very far. All the projects I've
really done came from contacts rather than websites.
Post by Vishal
I am trying to get a feel of how it is to do freelance
programming...in Python..in India ?
It's not *hard* but it's not easy either. You need a reputation which
you might have straight out of college but that's not very common. I'd
recommend some time working for a regular (though small) company to cut
your teeth before getting into this full time.


[...]
--
~noufal
http://nibrahim.net.in

Evil isn't all bad.
dexterous
2011-11-02 15:25:47 UTC
Permalink
Post by Noufal Ibrahim
I would recommend that she join a startup or a small company and get
some real work experience before jumping into this.
I'd go so far as to suggest that they join a mid-to-large sized company and
spend the first couple of years maintaining somebody else's crap code. It's
one hell of a learning experience.

- d
kracekumar ramaraju
2011-11-02 15:56:44 UTC
Permalink
I'd go so far as to suggest that they join a mid-to-large sized company and
Post by dexterous
spend the first couple of years maintaining somebody else's crap code. It's
one hell of a learning experience.
Don't join Big companies, you're learning is not in your hand, large
companies work on diverse areas, so chance of getting into the area which
interests you is less.
I personally feel joining small or little mid size companies can help you
learn much better.

In larger size companies it is process oriented and easy to pass the buck.
Post by dexterous
--
*
"Talk is cheap, show me the code" - Linus Torvalds
Winning Regards
KraceKumar.R
http://kracekumar.wordpress.com
+91-97906-58304
*
*+91-85530-29521*
*
*
Rajeev J Sebastian
2011-11-02 16:07:32 UTC
Permalink
I'm running a small company out of Technopark Trivandrum. We're always
on the lookout for good people (as is everyone else). I myself have a
history in development, and none in management. Never worked at a
company in my career.

So my question: how does one gauge aptitude in programming? In
particular, when we put out a job advertisement, we get a ton of
resumes from freshers. Most (if not all) do not have any significant
experience, knowledge or demonstrable skills. Most fail our written
test, which tests basic knowledge in programming, algorithms, etc.
Their resumes are full of bullshit, and in many cases, fraudulent.

Given that the fresher lacks knowledge in any given area, what kind of
testing should we use? Since we do development in Python and Django,
and so far no candidate has come to us with "Python" on their resume,
what do you suggest we do?

Regards
Rajeev J Sebastian
Senthil Kumaran
2011-11-02 16:31:46 UTC
Permalink
Post by Rajeev J Sebastian
Given that the fresher lacks knowledge in any given area, what kind of
testing should we use? Since we do development in Python and Django,
and so far no candidate has come to us with "Python" on their resume,
what do you suggest we do?
I can understand your situation. One possible suggestion is to pay
well and hire smart students based upon their academic and project
strengths and let them start new on whichever technologies you are
using.
--
Senthil
Noufal Ibrahim
2011-11-03 17:39:28 UTC
Permalink
Senthil Kumaran <senthil at uthcode.com> writes:


[...]
Post by Senthil Kumaran
I can understand your situation. One possible suggestion is to pay
well and hire smart students based upon their academic and project
strengths and let them start new on whichever technologies you are
using.
The problem is that most academic and offical projects are easy to
manipulate. I've met a large number of freshers with outstanding
academic credentials (IIT etc.) who couldn't code themselves out of a
paper bag. I've also met a lot of people from 3rd rate colleges with
mediocre credentials who were unbelievably awesome. YMMV but I don't
consider them reliable.

My favourite metrics to judge real ability are (in decreasing order of
usefulness).

1. Open source work. It's a good metric of what they've been doing and
how long they've been doing it. It's also a good metric of team work and
other such non technical things. It's also something with history
which they can't create in a week just to impress you.

2. Personal knowledge. If you've met the prospective employee at an
event which attracts good programmers, chances that they are one
are higher. Word of mouth or recommendations from someone you trust
work well too.

3. Programming problem. Give them a *hard* programming problem to crack
on their own time. Give them a week or so and ask them to send you
their solution. This should weed some people out.

4. General interests. This is not necessarily accurate but I've
generally found a good correlation. If the prospective candidate has
a wider range of interests, is well read and not just someone who can
write some programs, I've generally found that they're better to work
with.
--
~noufal
http://nibrahim.net.in

This report is filled with omissions.
Senthil Kumaran
2011-11-05 05:31:33 UTC
Permalink
Post by Noufal Ibrahim
My favourite metrics to judge real ability are (in decreasing order of
usefulness).
I agree with all. Those are indeed good indicators of developers. When
looking for freshers to hire for working Python, I indicated that just
don't think for Python in resume. I think, It is irrelevant.
--
Senthil
Sidu Ponnappa
2011-11-02 16:33:46 UTC
Permalink
Post by Rajeev J Sebastian
So my question: how does one gauge aptitude in programming?
Get them to write code. One common thread for us is that we have
everybody write code irrespective of experience. Half the code at
home, and if that passes muster, we have them come into the office and
pair with us on expanding their solution to complete the other half.
We don't care about degrees, academic scores or designations - if they
can't produce test driven, quality code, we don't pursue that
candidate beyond that point.

The other indicator we look for (especially when dealing with
freshers) is open source contributions - a github or bitbucket account
with actual code and actual contributions to open source is pretty
much mandatory. We're a small, highly profitable company with no
intentions of growing to 50 or 100 people, so being this selective
works well for us.

Finally - be the best paymaster, or at least try to get close. If you
pay crap salaries, you will attract crap people. If you pay well, word
gets around and the right kind of people will start talking to you.

Best,
Sidu.
http://c42.in
http://rubymonk.com

On Wed, Nov 2, 2011 at 9:37 PM, Rajeev J Sebastian
Post by Rajeev J Sebastian
I'm running a small company out of Technopark Trivandrum. We're always
on the lookout for good people (as is everyone else). I myself have a
history in development, and none in management. Never worked at a
company in my career.
So my question: how does one gauge aptitude in programming? In
particular, when we put out a job advertisement, we get a ton of
resumes from freshers. Most (if not all) do not have any significant
experience, knowledge or demonstrable skills. Most fail our written
test, which tests basic knowledge in programming, algorithms, etc.
Their resumes are full of bullshit, and in many cases, fraudulent.
Given that the fresher lacks knowledge in any given area, what kind of
testing should we use? Since we do development in Python and Django,
and so far no candidate has come to us with "Python" on their resume,
what do you suggest we do?
Regards
Rajeev J Sebastian
_______________________________________________
BangPypers mailing list
BangPypers at python.org
http://mail.python.org/mailman/listinfo/bangpypers
Rajeev J Sebastian
2011-11-02 17:17:06 UTC
Permalink
Thanks Sidu and Senthil for your recommendations, which were very
helpful. As you suggested, the most important change we can make is to
test directly with code.

Do you do your tests in Python, or whatever language the fresher
knows? So far, we have not received a single resume mentioning Python.

As for pay, we are willing to pay in return for exceptional work. We
outsource a LOT and pay well for absorbing the responsibility and
risk. But we have so far been unsuccessful in finding talented people,
to whom we could pay equivalent to what we outsource.

Question is, how much to pay? I guess this is not really an
"answerable" question. Looking around at the "sweat factories" that
surround us, we pay very well. There is also the tug of "Bangalore".
From the freshers point of view though, their friends making insane
salaries at MNCs always make them dissatisfied. Any recommendations?

Regards
Rajeev J Sebastian
kracekumar ramaraju
2011-11-02 17:26:20 UTC
Permalink
On Wed, Nov 2, 2011 at 10:47 PM, Rajeev J Sebastian <
Post by Rajeev J Sebastian
Do you do your tests in Python, or whatever language the fresher
knows? So far, we have not received a single resume mentioning Python.
I am a fresher, you won't believe I mention and promote python, though I am
advanced python novice.

http://github.com/kracekumar
Post by Rajeev J Sebastian
As for pay, we are willing to pay in return for exceptional work. We
outsource a LOT and pay well for absorbing the responsibility and
risk. But we have so far been unsuccessful in finding talented people,
to whom we could pay equivalent to what we outsource.
Question is, how much to pay? I guess this is not really an
"answerable" question. Looking around at the "sweat factories" that
surround us, we pay very well. There is also the tug of "Bangalore".
From the freshers point of view though, their friends making insane
salaries at MNCs always make them dissatisfied. Any recommendations?
It depends on people. There are two type of people who behind MNC and
Quality of work.

People who learn python are passionate about programming, others learn java
and c# to get a job.
--
*
"Talk is cheap, show me the code" - Linus Torvalds
Winning Regards
KraceKumar.R
http://kracekumar.wordpress.com
+91-97906-58304
*
*+91-85530-29521*
*
*
Saager Mhatre
2011-11-02 17:42:21 UTC
Permalink
On Wed, Nov 2, 2011 at 10:56 PM, kracekumar ramaraju <
I am advanced python novice.
There's an interesting tautology I can use, and...

People who learn python are passionate about programming, others learn
java and c# to get a job.
... there's a line that was uncalled for

- d
kracekumar ramaraju
2011-11-02 17:49:21 UTC
Permalink
Post by Saager Mhatre
I am advanced python novice.
There's an interesting tautology I can use, and...
Make sure you don't patent or trademark :)

So can i know your company name ?
--
*
"Talk is cheap, show me the code" - Linus Torvalds
Winning Regards
KraceKumar.R
http://kracekumar.wordpress.com
+91-97906-58304
*
*+91-85530-29521*
*
*
Sidu Ponnappa
2011-11-02 17:35:12 UTC
Permalink
Post by Rajeev J Sebastian
Do you do your tests in Python, or whatever language the fresher
knows? So far, we have not received a single resume mentioning Python.
Any object oriented language the candidate is comfortable with is fine
by us. Unit tests are, however, mandatory. TDD is a huge plus.
Post by Rajeev J Sebastian
Question is, how much to pay?
Figure out who your competition in the hiring space is (this could be
very very different from your business competitors). Find out how much
they pay. Then do your best to pay more. For us, this means companies
like ThoughtWorks, Amazon and co. We try to pay salaries that are
close to these firms (though matching Amazon is still slightly beyond
us for now).
Post by Rajeev J Sebastian
From the freshers point of view though, their friends making insane
salaries at MNCs always make them dissatisfied. Any recommendations?
Yes - pay more than the MNCs or at least get close and compensate for
the delta with a brilliant work environment. Unfortunately, I have no
better answer than this. Folks typically evaluate a prospective
employer on salary, work environment (including how awesome
prospective colleagues are, how much they can learn, and how
transparent and honest the organisations is) and the work itself.

There is no magic formula that allows you to hire better people while
paying significantly less than your competitors, but you can usually
swing it by being somewhere close on salary and doing better than them
on the last two parameters. Honestly, a small company that can't
trounce an MNC on work environment is doing something seriously wrong.
Post by Rajeev J Sebastian
There is also the tug of "Bangalore".
Identify why this is the case and look to plug the gaps. If the
attractiveness lies in the lifestyle, then you may wish to open up a
branch in Bangalore. I should warn you though that on the hiring
front, things are no better here :)

Best,
Sidu Ponnappa.
http://c42.in
http://rubymonk.com

On Wed, Nov 2, 2011 at 10:47 PM, Rajeev J Sebastian
Post by Rajeev J Sebastian
Thanks Sidu and Senthil for your recommendations, which were very
helpful. As you suggested, the most important change we can make is to
test directly with code.
Do you do your tests in Python, or whatever language the fresher
knows? So far, we have not received a single resume mentioning Python.
As for pay, we are willing to pay in return for exceptional work. We
outsource a LOT and pay well for absorbing the responsibility and
risk. But we have so far been unsuccessful in finding talented people,
to whom we could pay equivalent to what we outsource.
Question is, how much to pay? I guess this is not really an
"answerable" question. Looking around at the "sweat factories" that
surround us, we pay very well. There is also the tug of "Bangalore".
From the freshers point of view though, their friends making insane
salaries at MNCs always make them dissatisfied. Any recommendations?
Regards
Rajeev J Sebastian
_______________________________________________
BangPypers mailing list
BangPypers at python.org
http://mail.python.org/mailman/listinfo/bangpypers
Rajeev J Sebastian
2011-11-02 21:01:45 UTC
Permalink
Post by Sidu Ponnappa
Post by Rajeev J Sebastian
Do you do your tests in Python, or whatever language the fresher
knows? So far, we have not received a single resume mentioning Python.
Any object oriented language the candidate is comfortable with is fine
by us. Unit tests are, however, mandatory. TDD is a huge plus.
Post by Rajeev J Sebastian
Question is, how much to pay?
Figure out who your competition in the hiring space is (this could be
very very different from your business competitors). Find out how much
they pay. Then do your best to pay more. For us, this means companies
like ThoughtWorks, Amazon and co. We try to pay salaries that are
close to these firms (though matching Amazon is still slightly beyond
us for now).
Post by Rajeev J Sebastian
From the freshers point of view though, their friends making insane
salaries at MNCs always make them dissatisfied. Any recommendations?
Yes - pay more than the MNCs or at least get close and compensate for
the delta with a brilliant work environment. Unfortunately, I have no
better answer than this. Folks typically evaluate a prospective
employer on salary, work environment (including how awesome
prospective colleagues are, how much they can learn, and how
transparent and honest the organisations is) and the work itself.
There is no magic formula that allows you to hire better people while
paying significantly less than your competitors, but you can usually
swing it by being somewhere close on salary and doing better than them
on the last two parameters. Honestly, a small company that can't
trounce an MNC on work environment is doing something seriously wrong.
We have a rather good work environment. But trying to convince
freshers of this is close to impossible, as they have inflated ideas
about what the IT industry is really like.
Post by Sidu Ponnappa
Post by Rajeev J Sebastian
There is also the tug of "Bangalore".
Identify why this is the case and look to plug the gaps. If the
attractiveness lies in the lifestyle, then you may wish to open up a
branch in Bangalore. I should warn you though that on the hiring
front, things are no better here :)
Thanks Sidu. All of this is really good advice.

Regards
Rajeev J Sebastian
Sidu Ponnappa
2011-11-03 10:58:19 UTC
Permalink
Post by Rajeev J Sebastian
We have a rather good work environment. But trying to convince
freshers of this is close to impossible, as they have inflated ideas
about what the IT industry is really like.
This is one of the reasons we only hire proven hackers from among
freshers - they already value things we do to.

Otherwise, we prefer folks that have spent a year or two in Big IT and
are tired of the politics, back biting and overhead associated with
it. As importantly, they no longer find a big campus with 10k people
on it such a cool idea after having been stuck in one (and having
spent a couple of hours a day travelling to get there).

TL;DR - you may actually want to target folks around you at the IT
park rather than freshers. They'll be more amenable to what you're
pitching to them.

On Thu, Nov 3, 2011 at 2:31 AM, Rajeev J Sebastian
Post by Rajeev J Sebastian
Post by Sidu Ponnappa
Post by Rajeev J Sebastian
Do you do your tests in Python, or whatever language the fresher
knows? So far, we have not received a single resume mentioning Python.
Any object oriented language the candidate is comfortable with is fine
by us. Unit tests are, however, mandatory. TDD is a huge plus.
Post by Rajeev J Sebastian
Question is, how much to pay?
Figure out who your competition in the hiring space is (this could be
very very different from your business competitors). Find out how much
they pay. Then do your best to pay more. For us, this means companies
like ThoughtWorks, Amazon and co. We try to pay salaries that are
close to these firms (though matching Amazon is still slightly beyond
us for now).
Post by Rajeev J Sebastian
From the freshers point of view though, their friends making insane
salaries at MNCs always make them dissatisfied. Any recommendations?
Yes - pay more than the MNCs or at least get close and compensate for
the delta with a brilliant work environment. Unfortunately, I have no
better answer than this. Folks typically evaluate a prospective
employer on salary, work environment (including how awesome
prospective colleagues are, how much they can learn, and how
transparent and honest the organisations is) and the work itself.
There is no magic formula that allows you to hire better people while
paying significantly less than your competitors, but you can usually
swing it by being somewhere close on salary and doing better than them
on the last two parameters. Honestly, a small company that can't
trounce an MNC on work environment is doing something seriously wrong.
We have a rather good work environment. But trying to convince
freshers of this is close to impossible, as they have inflated ideas
about what the IT industry is really like.
Post by Sidu Ponnappa
Post by Rajeev J Sebastian
There is also the tug of "Bangalore".
Identify why this is the case and look to plug the gaps. If the
attractiveness lies in the lifestyle, then you may wish to open up a
branch in Bangalore. I should warn you though that on the hiring
front, things are no better here :)
Thanks Sidu. All of this is really good advice.
Regards
Rajeev J Sebastian
_______________________________________________
BangPypers mailing list
BangPypers at python.org
http://mail.python.org/mailman/listinfo/bangpypers
Saager Mhatre
2011-11-02 18:03:28 UTC
Permalink
On Wed, Nov 2, 2011 at 10:47 PM, Rajeev J Sebastian <
As you suggested, the most important change we can make is to test
directly with code.
+1 to Sidu's suggestion about having candidates write code before they come
in; have used that to much success.
Do you do your tests in Python, or whatever language the fresher knows? So
far, we have not received a single resume mentioning Python.
Let the candidate submit code in a language/platform of their choosing. You
want to give them the opportunity to put _their best foot_ forward. That
said, you should also list out languages/platforms that you prefer; these
would be the ones you've worked in and can evaluate the best in. They don't
necessarily have to be the primary tool you use at work every day, just a
common medium to trade insights into code.

- d
Saager Mhatre
2011-11-02 18:11:16 UTC
Permalink
Post by kracekumar ramaraju
On Wed, Nov 2, 2011 at 10:47 PM, Rajeev J Sebastian <
As you suggested, the most important change we can make is to test
directly with code.
+1 to Sidu's suggestion about having candidates write code before they
come in; have used that to much success.
Almost forgot about this- while we're talking about code submissions I'd
like to plug reliscore.com
It's like a market place for organizations to put up code assignments and
candidates/students to solve them and submit answers back.

Our own Navin Kabra is deeply involved with this initiative.

- d
Saager Mhatre
2011-11-02 16:47:29 UTC
Permalink
On Wed, Nov 2, 2011 at 9:26 PM, kracekumar ramaraju <
Post by dexterous
I'd go so far as to suggest that they join a mid-to-large sized company and
Post by dexterous
spend the first couple of years maintaining somebody else's crap code.
It's
Post by dexterous
one hell of a learning experience.
Don't join Big companies, you're learning is not in your hand, large
companies work on diverse areas, so chance of getting into the area which
interests you is less.
I personally feel joining small or little mid size companies can help you
learn much better.
In larger size companies it is process oriented and easy to pass the buck.
True... to some extent. Like just about anything else, you have to choose
wisely.
My four years at Kanbay (now CapGemini) taught me a lot of lessons in
organization, management as well as presentation.

Of course, like Sidu said earlier, none of these skills can substitute good
engineering chops.
And that, IMHO, is a decision that must come from within.

- d
kracekumar ramaraju
2011-11-02 17:01:48 UTC
Permalink
Post by Saager Mhatre
On Wed, Nov 2, 2011 at 9:26 PM, kracekumar ramaraju <
Post by dexterous
I'd go so far as to suggest that they join a mid-to-large sized company
and
Post by dexterous
Post by dexterous
spend the first couple of years maintaining somebody else's crap code.
It's
Post by dexterous
one hell of a learning experience.
Don't join Big companies, you're learning is not in your hand, large
companies work on diverse areas, so chance of getting into the area
which
Post by dexterous
Post by dexterous
interests you is less.
I personally feel joining small or little mid size companies can help you
learn much better.
In larger size companies it is process oriented and easy to pass the
buck.
True... to some extent. Like just about anything else, you have to choose
wisely.
My four years at Kanbay (now CapGemini) taught me a lot of lessons in
organization, management as well as presentation.
Well my question is how much did you learn about programming, api design,
Unit testing, algo design, agility, how to distinguish good programmer from
bad programmer.

Sorry If i am rude :)
Post by Saager Mhatre
Of course, like Sidu said earlier, none of these skills can substitute good
engineering chops.
And that, IMHO, is a decision that must come from within.
--
*
"Talk is cheap, show me the code" - Linus Torvalds
Winning Regards
KraceKumar.R
http://kracekumar.wordpress.com
+91-97906-58304
*
*+91-85530-29521*
*
*
Saager Mhatre
2011-11-02 17:37:43 UTC
Permalink
On Wed, Nov 2, 2011 at 10:31 PM, kracekumar ramaraju <
Post by kracekumar ramaraju
Post by Saager Mhatre
True... to some extent. Like just about anything else, you have to choose
wisely.
My four years at Kanbay (now CapGemini) taught me a lot of lessons in
organization, management as well as presentation.
Well my question is how much did you learn about programming, api
design, Unit testing, algo design
Don't get me wrong, I'm not discounting engineering skills; we're all on
the same side there. What I was hinting at above is that if you get lucky
and get good managers at a mid-to-large co, you have the opportunity to
learn how organization in the large works, and that's an important skill
too.

That said, I should clarify, when I say, 'spend the first couple of years
maintaining somebody else's crap code', I say that from personal
experience. Maintaining something you didn't build teaches you a lot about
the importance of building good readable, maintainable, malleable code. I
know I write good code because I don't want people who end up maintaining
it (myself included) to go through the agony I had to back then. That's
probably one the biggest takeaways I have from back there; and that was
what I was primarily pointing to.

It usually turns out to be a bit of a trial by fire and you have to fight
the urge to just get sh!t done. Not to mention the people around you who
churn out bad code on a regular basis. But if you can battle through it,
you'll have a better appreciation for these practices. I realize this is a
little backwards, but then again I know it worked for me. YMMV.

As for core engineering skills, programming, API design, algorithms, etc- I
learned most of that on my own and guess I would have no matter where I
was. But that's just me. We got a computer at home very early on, a trusty
386 way back in the early 90's and started off right then and never looked
back. Arguably, Kanbay didn't really ^help^ on that front, but I did end up
with a few good colleagues to bounce ideas off. But in my experience, this
usually is something that has to come from within. Once you've established
that the person has an innate need to better themselves there's a whole
slew of resources out there at your disposal. Of course, having totally
awesome programmers around you doesn't hurt (loosely translated from- helps
a whole whopping bunch!) :)

I'll concede the bit on testing here. I don't think I would ever have
appreciated testing if it wasn't for my time at ThoughtWorks.
Post by kracekumar ramaraju
, agility
Interestingly enough, I got my first lessons in agility from a client
director at one of the projects at Kanbay. Although, we didn't call it
agile or lean back then and he was quite the visionary, so I guess I got
lucky again. :)

how to distinguish good programmer from bad programmer.
There was a fairly simple heuristic some of us went with, a good programmer
is simply someone *you* would like to learn from. I liked that so much,
that I haven't really bothered to ponder that question much beyond that.

Sorry If i am rude :)


I promise to take offence ^only^ if you meant to be rude. ;)

- d
kracekumar ramaraju
2011-11-02 17:45:44 UTC
Permalink
Post by Saager Mhatre
Don't get me wrong, I'm not discounting engineering skills; we're all on
the same side there. What I was hinting at above is that if you get lucky
and get good managers at a mid-to-large co, you have the opportunity to
learn how organization in the large works, and that's an important skill
too.
Note: You reminded me of my favorite line "People don't leave organization
, they leave managers".
Post by Saager Mhatre
That said, I should clarify, when I say, 'spend the first couple of years
maintaining somebody else's crap code', I say that from personal
experience. Maintaining something you didn't build teaches you a lot about
the importance of building good readable, maintainable, malleable code. I
know I write good code because I don't want people who end up maintaining
it (myself included) to go through the agony I had to back then. That's
probably one the biggest takeaways I have from back there; and that was
what I was primarily pointing to.
In most support project you don't change code until there is a requirement
from client, else you end up supporting the tickets etc...
--
*
"Talk is cheap, show me the code" - Linus Torvalds
Winning Regards
KraceKumar.R
http://kracekumar.wordpress.com
+91-97906-58304
*
*+91-85530-29521*
*
*
Saager Mhatre
2011-11-02 17:52:51 UTC
Permalink
On Wed, Nov 2, 2011 at 11:15 PM, kracekumar ramaraju <
Post by kracekumar ramaraju
In most support project you don't change code until there is a requirement
from client, else you end up supporting the tickets etc...
They're not all support (as in keep the lights on) projects, there's
maintenance (as in make the lights brighter) and enhancements (as in put in
more/new lights) gigs out there too.

- d
Senthil Kumaran
2011-10-31 17:06:58 UTC
Permalink
Hi Vishal,
Post by Vishal
I am trying to get a feel of how it is to do freelance programming...in
Python..in India ?
I have some experience though not a good one, because I fared badly. I
was in much need of money, so I had to return to corporate world.
But, the brief time did give me some first hand experience. I feel, I
am better equipped if I want to try that again.

So, it would not be bad idea to try and learn for your friend. The
best way to start would be get project from a known person who can
trust you and deliver it.

Good luck!
Senthil
Sudheer Satyanarayana
2011-10-31 18:39:03 UTC
Permalink
Post by Vishal
Hello Everyone,
I have a friend, who's finished his education and looking for work. He
asked me about freelance programming and I had nothing to share with him.
Thought of getting to know this mode of professional programming.
Many people have already given good suggestions here. I agree with most
of them. I'll write my opinion here.

If the person is asking this question, it is best to not get into full
time freelancing.
Post by Vishal
Since India is cons
I am trying to get a feel of how it is to do freelance programming...in
Python..in India ?
By and large, geographical region doesn't matter. Freelance programmers
from almost every country get enough opportunities.
Post by Vishal
What are the (good) websites that a person in India can approach ?
There are many - <http://www.scriptlance.com/>,
<http://www.vworker.com/>, <https://www.odesk.com/>. Although, I didn't
earn a great deal of money directly from bidding, I acquired lot of
customers from these websites. I started freelancing part time and
eventually built a business that used these _freelancing_ websites to
win contracts.
Post by Vishal
What is the usual pay structure (as in you being in India, and the payment
happening in some international currency), share with website etc ?
These websites can send payments to your PayPal account or a cheque
after a certain minimum amount is reached. The commission is around 15%
usually.
Post by Vishal
How successful have you been at getting projects where Python is required ?
When I was using those freelance websites, I was coding only in PHP.
From time to time, I used to see bids requiring Django skills. I'm sure
there are many python programming opportunities as well.
Post by Vishal
Suggestions, pointers for nu-bee freelancers etc ?
Jump into freelancing if you enjoy risk taking. The higher the risk, the
larger the reward tends to be. Freelance programming is not just about
programming. In addition to learning programming, you also have to learn
other things like sales, customer service, book keeping etc. There are
many websites dedicated to providing freelancing 'gyan'. From what I've
seen, a tiny percentage of people who jump in, see the light at the end
of the tunnel. This mostly because people give up too early. To measure
your success, you have to pursue it for a few years. At least a couple.
I have heard umpteen number of stories about a new freelancer calling it
quits in six months. Six months is too short for this kind of venture,
to measure success. In these two years, there will be lot of ups and
downs. Don't expect smooth sailing all the way.

Like others have noted, there's a steep learning curve ahead. It will
require reading tons of articles on the Internet, books and many other
learning activities. It also requires motivation and perseverance.

You should be ready to scale this learning curve. Working in a company
is not a requirement per say. A good mentor can possibly replace that
requirement.

Learning to work in a team is an important factor which you can easily
overlook at this point. If you want to take the solo freelancing route,
participating in open source software communities helps.

A few words of advise:
* Get involved in communities
* Start a blog and continue blogging
* Invest in improving communication skills
* Don't give up soon
* Learn to be productive early on. The right kind of habits go a long way.
* Starting a new activity is easy. Finishing an already open task is
difficult. Put your energies in finishing things. This applies to many
things - projects, reading a book, learning a new technology, etc.
Post by Vishal
Hope this would be an interesting topic to everyone :))
I hope so too.
--
With warm regards,
Sudheer. S
Personal home page - http://www.sudheer.net/about
Tech Chorus - http://www.techchorus.net
Loading...