Hello,
I’m Zach Davis, the majority partner at Cast Iron Coding, and we’re hiring.
Cast Iron Coding is a web development studio housed in the Olympic Mills building in Portland’s Industrial Eastside neighborhood. Our small, close-knit team of seven full-time developers, a part-time office manager, and a handful of part-timers and sub-contractors has been building websites (for mobile and desktop environments) and web applications for a great group of clients for the past nine years. We work with clients in many sectors, although we do tend toward nonprofits, foundations, educational institutions, and other organizations that touch on social responsibility and accountability.
CIC has been profitable since its inception, with year-over-year revenues rising by roughly 20%. From a business standpoint, CIC has never operated like most startups, having never relied on external investors or visions of a future cash-out. We do, however, subscribe to many development and cultural practices that are common at web startups. CIC is a company that values slow, stable growth. We are motivated by work that is in keeping with our team’s values and that contributes to our company’s long-term viability.
To this end, we carefully manage our projects such that our developers are able to work regular hours. This means we are almost always able to avoid overtime hours, a high-stress environment, and the last-minute pre-launch fire drills that are common at other agencies. Our mission is simple: work hard to foster a sane and collegial work environment that gives developers the freedom and support they need to deliver high-quality, reasonably priced, on-time solutions to our clients.
Our client roster continues to grow, and it’s once again time to find someone to join our team. We envision this role as primarily a back-end development role (which means writing PHP and/or Ruby), but as of late we’ve seen more and more convergence around the front-end, which means that this position could be a good fit for a Javascript developer as well.
TL;DR: we need another programmer.
Ok, sounds good, but what would it be like to work at Cast Iron Coding?
1. Everyone on CIC’s small management team is also a developer. This means that your bosses will understand how to read the code you write, and will be able to understand the challenges you face as a developer. I am proud to say that CIC is not an “enterprise” environment in which you will receive a list of features from management and be expected to implement them without discussion. Nor is it a small startup that's still figuring out its development process. Over the years, we have established developer-friendly processes that enable our small team to do good work.
2. You will not have a wall of internal project management between you and our clients. As a developer, you will often interface directly with clients, which means you will learn a lot about our clients’ problem domains. The clients you work with will range from clients who are experts in their domain, but understand very little about how the web works, to agency clients who have a strong grasp on UX best practices and fundamentals of web design. On the rare occasion when you have to deal with a demanding or challenging client, a senior team member will always be available to help you navigate the situation.
3. We provide the tools you need to do your job well. Unless you can make a very compelling argument for why you require a Windows or a Linux workstation, you’ll be provided with a new iMac or Macbook, depending on your preference, as well as a new iPad for mobile development and testing. We use Boxen (https://boxen.github.com/) to provision workstations. We spin up VMs for experimentation and testing on our small VMWare cluster. We rely heavily on Docker for setting up project infrastructure. We expect everyone to know or to quickly get up-to-speed on the Linux/OSX CLI. Most of the team work regularly in PHPStorm, RubyMine, SublimeText 2, and VI. If you need other software to do your job well, we'll get you a license.
4. You will work with a team of programmers who are technically competent and who, additionally, bring a strong background in the humanities to their work. I have a PhD in English and wrote my dissertation on John Milton’s poetry. English, linguistics, anthropology, Japanese, and computer science majors comprise our team, and everyone routinely brings the critical thinking and communications skills they learned studying the liberal arts and “soft” sciences to bear on their work at CIC. Team CIC includes a few musicians, illustrators, and closet poets.
5. You will work in an environment where everyone is expected to embrace new languages, new frameworks, and new development practices as a matter of course. To this end, employees are encouraged—-I’d say required, but nobody is really enforcing it-—to spend 10% of their time learning something new or working on a side project or a challenging internal project. Every couple of weeks we meet for lunch while a team member walks us through whatever he or she is working on. Past meetings have included presentations on Backbone.js, Sass, Meteor and Node, AWS, Rails apps, Chef, and Vagrant. While clients can be slow to embrace new trends, we believe we need to stay current so that we’re ready to bring newtechnologies to bear on our projects when the time is right. We started a book group recently (CIC buys the books) and we have lunch together on Friday afternoons to talk about the chapter we read. Currently, we're reading Sandy Metz's "Practical Object-Oriented Design in Ruby". Junior developer and Senior Developers participate, and we keep the conversations friendly and non-competitive.
6. You will be asked to fit into our loose implementation of agile development methodologies. We track stories carefully for our projects using Pivotal Tracker. We eschew top-down specs and explain to clients that scope is often fluid and hard to pin down. We take an iterative approach, in which work is generally organized into week-long sprints. We follow Continuous Integration (CI) practices as best we can, and rely heavily on Jenkins, Chef, AWS, and VMWare for our CI infrastructure. We deliver often and work hard to make sure that work can be deployed to production environments in minutes, not hours.
8. You will be given a reasonable salary, between 50k and 85k, depending on your experience—-this salary will almost certainly be less than what a startup flush with venture capital or a much larger company with considerably more corporate structures in place might offer. In return for making a little bit less money, we won't make you go to pointless meetings, and we won't expect you to give up your life outside of work to be successful at work. Moreover, if you stay at CIC for a while and prosper as a developer, your salary will increase each year and you may be invited to participate in a profit sharing plan, which we rolled out in 2012. In addition to your salary, you will get a winter bonus each year and you will be given top-notch health insurance, including dental and nontraditional medicine. CIC will pay 50% of your health insurance, as well as 50% of the insurance cost for your partner and, if you have them, your children. You will also receive paid vacation and sick days, and a modest SEP IRA matching contribution.
9. You will work primarily with Ruby, PHP, and Javascript. If you have another development skill that we don’t currently have, and we can find a market for it among our current and prospective clients, then we will branch out. In the past, we have done a lot of work with TYPO3 (a little-known but very powerful PHP content management framework with a built-in MVC framework); in the last few years we have branched out to include more work with Rails, Sinatra, Slim (a PHP micro framework), and FLOW3 (a young but interesting, PHP DDD framework) on the backend, and Backbone, JQuery Mobile, and PhoneGap on the frontend. We recently launched a Rails/Backbone assessment application for a major educational client, and have received funding for another round of development that will last for at least the next year.
Ok, I’m interested, but what will I have to give back to CIC?
If you’re still with me, it means you’re patient, which is good. We’ve covered what you can expect from us, now let’s quickly run through what we’ll expect from you:
1. We’ll expect you to really, really care about what you do. We expect to see commitment to the craft of development We'll be looking for this committment when we talk to you, and it can take a number of different forms. Sometimes, we recognize it in applicants genuine interest in programming and computing. Some people love working with computers and figuring out how to make them solve problems. Those people can almost always be taught the skills they lack. Sometimes we recognize this commitment in the pride we see developers take when they build something that works well and can scale.
2. For the most part, we have a great cadre of clients at Cast Iron Coding. However, as a small agency, we are always thinking about revenue, which sometimes means we end up working on legacy systems. Some, but not all, of your work will involve working with new frameworks and new platforms. Some, but not all, of your work will involve working on older frameworks and older CMSs, and sometimes you will be frustrated with those platforms. Capitalism compels us to work for reasons other than joy; we do the best we can to maximize joy while still making money.
3. We’ll expect you to have some background in development. We’re primarily looking for candidates that have background in either Ruby, PHP, or Javascript. We're more interested in applicants who are working with object oriented PHP than those who are writing procedural Wordpress plugins. We're more interested in applicants who are working with Javascript frameworks than those who are writing jQuery plugins. We welcome bonus skills (design, devOps, Coffeescript, Sass, Rails, Symfony, TYPO3, Python, Drupal, Wordpress, etc.), but for you to fit into the team, you will likely need some background in one or more of these three languages. We don’t have the internal bandwidth to train someone up from scratch, so you need to have built something we can look at in order to assess where you’re at. However, some of our best hires have been developers who were self-taught and who were at the very beginning of their career. If this is you, we will mentor you and guide you down the road to becoming a more professional, more senior developer. If you’re farther along in your career, we still want to hear from you. More senior developers who are efficient polyglots can often bring in substantial revenue and can be brought on to a number of different projects. If you fall into this latter category, we hope that you still love what you do, and that you’re on board with joining CIC for the long run and making a real investment in the growth and prosperity of the company.
4. We will expect you to already know how to use SCM in general and Git in particular. If you don’t know Git, that’s fine, but you’ll need to wrap your head around it quickly and get up to speed. Branching, rebasing, keeping history clean--all things you'll need to know or learn.
3. We’ll expect you to be reliable. Not everyone on our team shows up for work at 9:00, but people are expected to show up when they say they will. I’ll need to know that if I ask you to do something, you’ll do it or, if you can’t, you’ll communicate that to me or the project stakeholder.
4. We’ll expect you to be a life-long learner. Ideally, you would be a life-long student of web development in one form or another. If you don’t know how to do something, we hope you’ll be courageous enough to do the legwork and figure it out for yourself. If you’re working in the web and have made it this far through this post, then we’d bet dollars for doughnuts that you fit the bill.
Ok, I’m still here. What next?
First, if you think you fit the bill, I want to encourage you to apply. You might think that you’re too experienced or not experienced enough, but I hope you won’t let that stop you. If you like what you’ve read, we want to hear from you!
Click the "apply now" button at the bottom of this listing to send us your resume. The resume will tell me where you’ve worked and where you went to college (if you went to college; plenty of good developers didn’t). But it will tell me very little about whether or not you fit the various criteria I’ve outlined above. So write me a note introducing yourself and tell me why you think you’re a good fit for this position. I’d very much like to hear about how (and why) you came to web development as a profession, projects you've worked on, important lessons you've learned working in the field, etc.
I’d also like to see your code. It doesn’t have to be perfect. Hell, it doesn’t even have to be finished. If you don’t have code, show me something else you’ve made that you think is evidence of your creativity and artfulness. You’ll get big bonus points if what you show me is an open source project on Github, something that someone else has used, or a contribution to a larger project.
If you seem like a good fit, I will send you an email or give you a call. We’ll have you come check out our office, and you, me, and one or two other people from the team will head downstairs to Olympic Provisions and have a glass of something (beer/wine/soda/water) and a conversation.
This position is open now, and we are looking to fill it as soon as possible. We have projects lined up for the next 9-12 months for which we need additional developers.
I suspect it will do absolutely no good to say this, but if you are a recruiter, a robot, an outsourcing company, or a freelancer who is not looking to join us as a full-time salary employee, please please please refrain from contacting me. You will be wasting your time and mine.
Looking forward to meeting you.
Sincerely,
Zach Davis, Majority Partner at Cast Iron Coding
Women and people of color encouraged to apply.