Last year, I tried something new. One of my friends, a Mathematician, and the smartest guy I know, was working at the library. I told him he should get into programming, and hired him as my "Apprentice".<p>I was mentoring him directly. He was working right next to me. He was learning a lot, I was enjoying the teaching, but I could also hand him boring stuff (CSS) and he would love to do it. I paid him peanuts ($12/hr) at first, then I got him a job for a company making around $60k after about 8 months.<p>This is how apprentices used to work: the master (mentor is a better word :) would find the work because of his reputation, would handle the most interesting and difficult work, and the apprentice would do the routine stuff and slowly get more and more competent.<p>Has anyone else tried this? I think it would be cool to try it at larger scale, with a whole team of skilled senior devs adopting apprentices to help them with their work.
Excellent how this problem is continuously attempted to be solved.<p>As a wannabe programmer, one thing I always lacked from these sites was the ability to somehow see my code live. I.e. it's fun to write html and css on codecademy or python from LPTHW or whatever but how on earth do I get it on the web or assembled into .app? In actuality, the complexity that surrounds DNS providers, server apps (or whatever you call filezilla etc), server providers (here i mean heroku, AWS, Cloudflare etc), those weird githubs and repos that people chat about etc etc, is way more deterring than actually learning what a "class" is.<p>Learning is fun; endless googling is not.
As someone who has taught himself how to program - badly at times - I applaud these kinds of efforts, but I wonder if they're subverting the actual problem.<p>See, companies - I think - need more technology people. And the pool of technology people is limited. The laws of supply and demand say that limited supply and increased demand will drive up the cost.<p>This is great for individuals, but a losing proposition for companies unless they have limitless resources.<p>The one thing that Starter League, Code Academy and every other site is that they teach individuals the real rudimentary elements of programming. And while vital, these are not a substitute for battle hardened experiences of crappy code, terrible mistakes or the ability to work as an apprentice.<p>I think it's more incumbent on organizations to figure out how to build talent from within which is really a more holistic and basically an amalgamation of everything.<p>- Find motivated individuals.
- Validate that they have the skills to be an apprentice.
- Accept that they're a beginner and commit to training them.
- Learn their strengths and weaknesses and tailor a development plan for them.
- Promote the shit out of them and make them your next generation of software, test and system engineers.
- When they eventually leave - say to yourself 'Mission Accomplished' and hopefully rely on a talent pipeline.<p>I don't know if this is a teaching hospital methodology or developmental leagues in sports. It's probably somewhere in-between.<p>So these sites are great. The organizations are great. But transforming people into functional experts in the field can only come about with BOTH training and experience. I feel like Exercism only deals with the training aspect, not the experience aspect.<p>My $.02.
Without a reason to attract (relative) experts beyond philanthropy I think there's a risk that a ballooning amateur/expert ratio could soon cripple this, as happened to the way Matasano Crypto Challenges used to be run.<p>I hate to be critical as I like the idea, and obviously there's <i>some</i> utility in it for experts as it is but it's much, much less so than for amateurs, and there's no reason to think that this imbalance won't manifest itself sooner or later. I feel this stands a much better chance of solving (or contributing to solving) the education problem <i>and</i> getting good traction if it was positioned to solve a much more general problem - like snippet management - in a really, really good way, and tacked these features on the side.
The landing page for this site could stand to be improved, especially if it's target is absolute beginners.<p>* The instructions provided are very Unix specific and assume a reasonable level of familiarity with the command line. Lots of beginners are probably on Windows and not used to using the shell. Much as devs shun them, installable GUI clients have their advantages in this area.<p>* The language used on the first page is still fairly technical, "test suite" for example.<p>* How it works is not made clear, "practice problems" is only mentioned once at the top of the page in a hard to read colour and small font.
<i>She admits that the site is a bit lack in the usability department. “It’s hard to tell what it is just by looking at it,” she says. “It’s remarkable to me that people have figured out how to use it.”</i><p>This. I love the fact that people have come to use her site despite its usability problems. To me, it shows there's a real need out there.<p>Admittedly, I also believe having a great UI from the start can be a differentiator (especially in a young market), but products that get used despite a poor UI mean current alternatives were even worse (or non-existent) for these users.<p>I hope she's able to turn this into something to works out for her.
I wonder if a new position will emerge to help with freshly trained programmers out of programs / curriculum like this. For instance, if a company is willing to pay 100k for an experienced programmer with years of training and experience, what is a fair rate for fresh grads out of a coding boot camp? The trouble, to me, seems that freshly boot camp trained folks apply to the same jobs and it just doesn't make sense. However, if there was an established route, like, coding apprentice that paid 60k and had strong upside at perhaps 10-20k raises per year as they reach the equivalent of junior programmer, that could really open up the market on both sides merely by clarifying expectations.<p>Say a lawyer wants to become a programmer, and he/she goes through a program at The Flatiron School <a href="http://flatironschool.com" rel="nofollow">http://flatironschool.com</a> - and the flat iron school can go out to companies to help get them placed, <i>but</i> instead of trying to get them placed at the same jobs / salaries fit for 4 year university grads or programmers with years of experience, it's into positions like I described above - I just think it'd be a much more honest path on both sides.
Great site even with the lack of polish. Conceptually I like it. It makes you think more about the full process of writing code than most similar sites. I think what this does well is try to get folks to think about writing something that QA will then test. That is good for me as I come from an operations background and this part of programming is not natural to me. For me it is crank out Bash or Python and keep trying until something works... This is different it is more like "look at this framework, build the piece that is missing"<p>As I am a sysadmin I tend to write tools that only I would look at. Writing something fro a test suite is a great idea. A howto page detailing testing process and a testing 'hello world' would be a good addition.<p>I was surprised that the install didn't involve a github repo install, ie that the install script would not be part of a repo that you clone and then chmod X+ and then install. The benefit of this is that I can keep track of the cli repo and update when needed by watching the repo.
It's a nice site and everything, but who is this aimed at?<p>It doesn't seem to be non-coders as far as I can tell.<p>1. You need to already have a github account<p>2. The setup assumes you have CLI experience<p>3. The setup assumes you use linux or a mac (because all non-programmers do that)<p>So has wired misunderstood the target audience, or is the site comically anti-n00b?
After spending a few minutes checking out the site, I thought I'd bookmark it for later, only to realize I'd already bookmarked it in the past. I don't remember ever seeing the site before.<p>Sigh. I clearly need to spend less time on HN proper, and more on the sites it promotes :).
Article title: "Out in the Open: The Site That Teaches You to Code Well Enough to Get a Job"<p>It's a good thing the site's originator didn't make this claim. Even a first-rate site with an enviable effect on students wouldn't want to say this.<p>Maybe there should be a rating system for article titles, one that measures how far the title deviates from the article itself. In many cases such a title hurts the credibility of the article. In this case, it's obviously a well-intentioned and likely effective teaching method, one that shouldn't have to live down its hyped title.
I find it interesting that the list of supported languages doesn't include Java, which is one of the most, if not the most, requested language - at least in the enterprise space.
We're actually conducting a survey aimed at measuring the effectiveness of code bootcamps (as far as job placement rates, average salary, etc.)<p>If you're recently graduated from a code bootcamp, take the survey and share your experiences: <a href="http://www.codejobs.io/surveys/codebootcamp/student" rel="nofollow">http://www.codejobs.io/surveys/codebootcamp/student</a>
Interesting idea - and great that so many are helping in contributing exercises.<p><pre><code> To solve the problem, she created a site last year that presents the
practice problems and prevents students from being able to move on to the
next ones without submitting a solution to the previous problem.
</code></pre>
I think that Project Euler, <a href="https://projecteuler.net/" rel="nofollow">https://projecteuler.net/</a>, has a better implementation of this. All problems are available, but they become harder and harder (at least in the beginning - they might level out now). That already is a stimulus to solve the problems in the intended order, in addition to the 'level degrees' awarded after solving a batch of problems.<p>Additionally, the Project Euler forum in which solutions are shared and discussed is only available once you've submitted the correct solution.<p>OK, back to Euler. I'm close to a next level award...
Moving on to the next topic in a class before an individual masters a more fundamental one is a core structural problem with traditional classroom-based instruction. Individual, self-paced computer assisted instruction makes that go away by verifying that foundational skills and knowledge are gained before moving to the next level. This is not limited in any way to programming or any particular skill or knowledge area.<p>Having a mentor or tutor adds another level of enhancement. But don't undervalue the ability of a computer to objectively measure an individuals performance and tailor the learning material to their own pace.
I like the concept, but the very first Javascript problem statement starts this way:<p><pre><code> Bob is a lackadaisical teenager. In conversation, his responses are very limited.
Bob answers 'Sure.' if you ask him a question.
He answers 'Woah, chill out!' if you yell at him.
He says 'Fine. Be that way!' if you address him without actually saying anything.
</code></pre>
I'm sure this is my personal biases (and possibly age) showing, but this caused me to walk away shaking my head.
In that case, then maybe people who are refused jobs in this industry due to some superficial reason like age can simply take the course and instantly get a job, right?
<a href="https://github.com/exercism/cli/releases/tag/v1.7.1" rel="nofollow">https://github.com/exercism/cli/releases/tag/v1.7.1</a><p>Looks like there <i>is</i> a Command Prompt executable for windows, but man, it is not easy to find or use for beginners. Hell, I'm still a little confused about how to actually interface with it, (although I am far from an expert on anything).
I've had fun doing the haskell challenges. I really like the peer review aspect of it and the git style terminal submissions. But these are just small practice problems and are not geared towards "Teaching you to code well enough to get a job". It's just one of many helpful ways to learn the ins and outs of a particular language.
I myself am in a position where I'm treated like an apprentice, and it's great. I've only been programming for a couple of years and the rate at which I'm learning, and the broad swath of knowledge I feel like I'm getting from the senior developers is great.
" Exercises consisting of a test suite and a README are available in Clojure, CoffeeScript, C#, C++, Elixir, Erlang, F#, Go, Haskell, JavaScript, Lua, Objective-C, OCaml, Perl5, Python, Ruby, Scala, and Swift."<p>I wonder why no plain C?
I maintain a list of resources that also can help programmers get a job: <a href="https://github.com/andreis/interview" rel="nofollow">https://github.com/andreis/interview</a>
Reminds me of <a href="http://rosalind.info" rel="nofollow">http://rosalind.info</a>, although that is for bioinformatics (but including a basic python introduction part).
I'm actually having a decent bit of fun with this. The problems aren't challenging by a long shot (at least not yet), but I'm enjoying myself.
Major fail to me. I've been working on a similar project for 2 years and this may work in a classroom but going through the exercises it's tremendously underdone for the general public. I don't think this is going to go anywhere which is disheartening because I was so excited when I saw the title of the post and read the article. The actual program is a huge let down.