I have so much work coming my way from many directions that it is damn
near impossible to keep up with it all.
This is an awesome problem to have in this awful economy. To resolve it,
instead of turning it away and leaving perfectly good projects dangling,
I'm looking for apprentices. Here's generally how it works.
I'll give you hands-on assignments, which are usually small bits of work
indirectly related to some client work happening at that moment.
If you prove proficiency and do well on the small assignments, they get
bigger, and they become more relevant to the client's project.
As they get bigger, you start to get paid to do them. As you learn and
get better, you make more money.
If you're persistent and serious about this, you'll either become a
permanent fixture on one of the projects for which you worked, and you
can start to scout out your own Python contract work and take off on
Your commitment level must be in check. You must know that this is like
a job, a class, anything else that requires you to regularly do work, be
present, and respond. Just like in a job, in class, or anywhere else, if
you're not committed, you're out.
I don't turn away people who do not have formal CS degrees or formal
education. I have mentored before, and I find that musicians often make
the best software developers, and can learn the formal training on their
own from good texts and hard work. Plus, they already have the
self-discipline required for focusing on something for hours on end.
When I did this before, I realized that people come at this from many
different perspectives. If you're new to software development
completely, I'm going to send you off to study data structures, general
algorithms, flow control, etc. mostly in Python (some in the bash shell)
before you get
If you're an experienced software developer looking to learn python,
you'll get less intro work and more client-related mini assignments at
To sum it up, your requirements are:
You must be free to meet with me once a week, and available to answer
emails/pings throughout the week regarding work.
You must be free for at least 20 hours a week, I don't care when those
20 hours happen to be. You could do marathon all-day study/work one day
a week, if that suits your fancy. As long as you make progress, all is good.
Your goal should be to build your skills as well and as fast as
possible, so you can become a true contributor to an existing project,
and start to get paid as a contractor on that project.
Once you are ready to start contributing to a project, the client will
often ask you to review and sign an NDA. You have to be willing to do this.
You have to have the self-discipline and ability to read things I'll
hand you, do assignments I'll give you, and ask for help when you are
You must be really honest about your commitment level. If you have any
doubts, don't do this. You'll do nothing but waste time.
My commitment to you is as follows:
I'll do my best to help you discover what you need to learn, give you
applicable assignments and texts/examples to study, and asnwer your
I will NOT nag or chase a person down. I silently drop you and just end
all communication with you if your communication and/or work flow is
irregular, or if you're not focused and dedicated.
This is NOT an altruistic effort on my part. I have an ulterior motive
of training people to do software design and development like I do, so I
can hand off work, and pull in help when I need it (which is pretty
constant these days).
Most of the clients and employers I've had over my 20 year work history
really like my work, and call me back for more work. I get most of my
work through word-of-mouth. I am interested in training good, dedicated
people, and giving them some of these outstanding opportunities, instead
of letting them be done in some bad and broken framework by mediocre
developers who don't know their theory and want to make a quick buck.
These project vary in size, shape and form. Some are long-term, low pay,
great training projects, perfect for someone who has a job, has 20+
hours free, and is bored out of their minds. Some are short-term, quick
ramp-up, expert level, get it done in several months type of projects,
which tend to pay well. These projects are prefect for the experienced
software developer who is unemployed or underemployed, and has a small
cash cushion to get by for a bit, while they retrain themselves. other
projects involve doing research on the best tools to do X and reporting
your findings, or typing technical proposals for not-so-technical people
filing for grant money. It's vast and varied as you can see.
If you've read this far and you feel that you're interested, please send
me a resume. I'll talk to you and send you my resume, all of my article
links and online code examples and projects, etc. (I write
professionally under a pseudonym) and if it feels like a good fit, we'll
I am looking for three apprentices right now. Please respond within the
next week if you are serious.