Recent Craftsmanship Academy News
This is not an introductory bootcamp but rather an entry into the journey of Software Craftsmanship. We are highly selective, taking only 2-4 from applicants who have gone through software related degree programs, bootcamps, and have some basic programming experience on small projects. We prepare you to build significant software systems under our world-class software craftsman at RoleModel Software.
- Available for the most promising candidates.
- Minimum Skill Level
- Applicants should have completed a Coding Bootcamp. (We recommend a free online one if you have not.)
- Placement Test
- Prep Work
- Will be assigned based on the assessed needs of the accepted applicant.
0 reviews sorted by:
- Only Applicants, Students, and Graduates are permitted to leave reviews on Course Report.
- Post clear, valuable, and honest information that will be useful and informative to future coding bootcampers. Think about what your bootcamp excelled at and what might have been better.
- Be nice to others; don't attack others.
- Use good grammar and check your spelling.
- Don't post reviews on behalf of other students or impersonate any person, or falsely state or otherwise misrepresent your affiliation with a person or entity.
- Don't spam or post fake reviews intended to boost or lower ratings.
- Don't post or link to content that is sexually explicit.
- Don't post or link to content that is abusive or hateful or threatens or harasses others.
- Please do not submit duplicate or multiple reviews. These will be deleted. Email moderators to revise a review or click the link in the email you receive when submitting a review.
- Please note that we reserve the right to review and remove commentary that violates our policies.
* These outcomes are not audited by Course Report. In some cases, data is audited by a third party.
Craftsmanship Academy has an acceptance rate of 38%, of which 100% of accepted students enroll in a course. Of the students who enroll at Craftsmanship Academy, 100% graduate. 100% are hired in technical roles within 120 days and report an average income of n/a.
Job Seeking Graduates Placed:
After 120 days
Notes & Caveats:
Our latest on Craftsmanship Academy
How do you get a job after coding bootcamp if you have no relevant, real-world work experience? Only 1.4% of bootcampers have worked as developers in the past, but most career-changers have little – if any– client experience when they start looking for a developer job. Some bootcamps help students overcome this hurdle by offering opportunities to work for the bootcamp itself, or with real clients through projects, internships, and apprenticeships. These opportunities can give students substantial experience to add to their portfolios and resumes, and kickstart the job hunt.Continue Reading →
"Code Review not only improves the code, it improves the developer."
That’s what a client said recently when I told him how few people raised their hand when I was speaking at TriAgile and asked how many had ever pair programmed or regularly have their code reviewed. Less than 5 hands went up out of a room of about 100 people, most of whom had identified themselves as developers and claiming they were doing agile software development. Sadly, there aren't many out there that really desire to be software craftsman, they just want a job as a programmer.
My talk was entitled, “Software Craftsmanship: Agile is Not Enough." One of my main points in the talk is that “Agile Software Development” is all about feedback and software developers need to make sure they are getting feedback, preferably from experts, on the code that goes into the products that they are building. Having a Scrum meeting every two weeks with a Certified Scrum Master only means they are doing Scrums, not that they are building good software.
Feedback, and knowing what to do with it to be continually improving, is the presupposition of Agile Software Development and Software Craftsmanship.
You need feedback to improve:
* Understanding of requirements
* Project planning
* User experience
* ... and much more
So, what does this have to do with programming bootcamps?
Well, I am not completely sure, because I do not run a bootcamp. I run RoleModel Software Craftsmanship Academy. In fact, in 2011, I announced the Craftsmanship Academy. It was the first of it's kind, and I was hoping others would duplicate it. I met with Neal Sales-Griffin and Mike McGee, the founders of the only well-known "Programming Bootcamp" at the time, Code Academy, now The Starter League, to discuss the differences of what I was doing and what they were doing. They recognized that what I was doing was well-beyond what they did, and we wondered together if people who graduated from their program would be good candidates for mine.
But that was then, and this is now. Many "bootcamps" don't seem to want to make the distinction, and those looking to go into the field don't necessarily know enough to ask.
Before going any further, I want to say that I am very excited about the number of "programming bootcamps" or "hacker schools" that have sprung up over the last few years. Having been a leader in Software Craftsmanship for many years, and a pioneer in Software Development Apprenticeship, I had pointed out on many occasions how the universities were doing such a poor job of preparing people to be software developers and that it needed to be learned in a more immersive setting. Although I have never attended any of them, and have met only a few who have, I am confident that the vast majority of them are better preparing the majority of their participants for software development than the vast majority of universities.
But, they are not what I envisioned, and I feel they are far short of what most people need to become software craftsmen. From what I understand of most of the best coding bootcamps, they provide some pre-work for people with little or no programming experience, participants get in a class with others and work through a project (typically a web application) wth a single technology stack (often Ruby on Rails), they are led by a talented instructor (perhaps one instructor per 12 students), they have access to the "classroom" pretty much whenever they want and encourage each other, working together as they like with little distractions from immersing themselves on developing software, and they may have a mentor they get to work with every so often, and may get one-on-one time (office hours) with the instructor
All these things are things missing from a college education and extremely helpful in learning to be a software developer. We do a lot of them in the immersion phase of our Academy, but we do a few things differently. First of all, we make sure that everyone who comes has already had some form of introduction to programming and knows the basics: conditional branching, loops, variable assignments, etc. Last year I put together an interactive test that I screened each applicant with face to face to see not only what they already knew, but how they handled stuff being thrown at them. They were allowed to ask questions about the questions. I got to see how they interacted; how they thought. Would they give up when presented a problem they didn't know off the top of their head or would they try to figure it out? (This is something professional software developers have to do every day). This was very helpful in determining whether they were ready for the Academy.
We take no more than 6, won't take anyone we don't think is ready, and have very strict evaluation criteria at two weeks, four weeks, and twelve weeks to determine whether the participant can continue. (The goal is that all do, but no one is given a free ride if they just do not appear to have what it takes to become a software craftsman).
In the immersion phase, we go through a variety of technologies, giving them projects to work on in each. But they are told that they need to follow "best practices" which they are constantly taught. This includes test-driven design and short feedback loops on their code. Every few hours, the question is asked by me, "Who would like to offer up a sacrifice of code?" We put someone's code up on the screen, and I offer a large amount of constructive criticism, which they are expected to act on. Not only does the individual offering the sacrifice learn a lot, but so does everyone else watching and listening. You'd be amazed how good their code gets in a few weeks, as well as the habits they form.
Once they are done the immersion phase (which takes 3.5 intense months), those ready to move on become apprentices, being assigned to one of our Craftsman who will oversee their further development by giving them assignments, watching what they do, pair programming, and many other things. They do Situated Learning for many more months. If they stay on at RoleModel, this will go on for years because our culture demands collaboration and two sets of eyes on all production code. Each apprenticeship/residency is different depending on a lot of things, but one thing remains the same, they have an active, very real, and very experienced mentor for quite a while. The difference versus someone who learned to program through traditional routes and/or just picked stuff up on the streets is remarkable. Several of RoleModel's clients say they would love to have us train all of their developers because of the difference they see. The problem is, they want the results, but don't want to make the investment it takes to get there.
This, in a nutshell, is the most significant difference between learning to be a Software Craftsman and going to a "programming bootcamp." There are only a few of these programs around and they each have the personality of the company that puts them together. Each of us would argue that ours is the best, but we'd be united in pointing out that what we do is significantly different and much deeper than a "programming bootcamp."
Most craftsman are busy crafting software and don't ever take on apprentices. Currently, we only offer new entry into our Academy about every 1.5 years and limit the number of openings. There are only a handful of places that do something similar. I wish there were more, and your situation might mean that, even if you really want to be a software craftsman, you might have to settle for just a bootcamp, for now.
Everyone does not necessarily want to become a software craftsman. If you just want to "learn to code", most of the bootcamps are a great way to do it. But, if you want to really become a software craftsman, bootcamp is not enough. If someone wants to become a software craftsman, they need to be around and be mentored by real software craftsman... someone passionate about their craft, and willing to invest in others that are also passionate about their craft.
Remember, it takes a lot of refining to become or produce a software craftsman. Look for feedback as much as you can and offer constructive criticism to those who are not as far along the journey when ever possible. Be passionate, relentless in your pursuit of feedback, tender-hearted and thick-skinned.
About the Author
Ken Auer is the founder and master craftsman of RoleModel Software. He is the author of Extreme Programming Applied and a variety of early software patterns works. Ken learned Smalltalk and Objective-C in the mid-80s and was introduced as “the father of Software Craftsmanship” as the opening keynote speaker at the first Software Craftsmanship North America conference. Though he occasionally speaks in various venues, he is most at home in his custom designed facility outside of Holly Springs, NC (designed and built using Christopher Alexander’s architectural design patterns). There he focuses on working with his agile, high-performance, multi-disciplinary team to turn others’ innovative ideas into well-crafted software and raising up generations of software craftsmen through the Software Craftsmanship Academy and RoleModel Software. You can occasionally find him on twitter (@kauerrolemodel), or read about his quest for an integrated life at http://kenauer.com.