Seeking highly skilled Java Engineers (Downtown)

Join our highly successful and growing agile team to help build scalable feature-rich web applications customized to our clients' needs.

Are you...

  • agile - You are able to work in an environment where, rather than expecting a Big Design Up Front, you are constantly collaborating with business analysts and QA testers to refine our collective understanding of the clients' needs. We bite off small chunks of work, define them to the best of our ability, and constantly iterate with the client to refine our understanding of what they want. We are constantly refining our processes in order to achieve extremely ambitious delivery schedules.
  • highly analytical - You understand how a specification written in the plain language of the client/end-user should be broken down into well-engineered object-oriented code. You are able to search and read a large code-base to learn how to produce new features within the existing framework.
  • organized and detail oriented - You can keep track of several threads at once, without losing the details. You notice edge cases, documented or otherwise, and pro-actively address them. You are self-managing.
  • familiar with component architecture - You've used some kind of component-based architecture in a professional code-base.
  • a web programmer - You've got experience writing professional web applications. You understand web-based concepts such as HTTP, URL, HTML, CSS, JavaScript, cookies, sessions, AJAX, caching, authentication, and web services. You've worked with relational databases. You understand MVC architecture.
  • a java programmer - You're fluent in java programming idioms including servlets, dependency injection, unit testing, and object-relational mapping.
  • not a cowboy coder - You are able to articulate design decisions and defend them. You practice test driven development and continuous refactoring. You use a revision control system and engage in peer code review.
  • passionate about coding - You read software engineering blogs, articles, books, etc. to learn more about your craft. You want to improve your own skills and your team's engineering process. You try new approaches and tools when doing so will help the team improve its output.

And for optional bonus points, you are expert in...

  • hibernate - You've not only mapped an entity, but you've written your own HQL queries and used MetaModelGen to write type-safe queries.
  • wicket - You've used the Apache Wicket web application framework. Our entire application is built around Wicket.
  • scalability - You've developed applications that work well in a clustered environment. You know about read-only slave databases. You know the pros and cons of indexing tables, putting data in the session, how to use the second level cache, load balancing, and sticky sessions. You know how to perform load testing with profiling to identify hotspots.
  • maven - You've used the Apache Maven build system and understand how a POM works.
  • Atlassian - You've used tools from the Atlassian Suite such as JIRA, Fisheye, Crucible, Bamboo, Confluence, and/or Greenhopper.
  • Git - You've used the Git as a distributed source repository. You're well versed in branching and merging in this environment.
  • brain power - If you are smarter than us, we like you even more.

While we're prepared to train promising and talented engineers on these details of our framework, exceptional candidates for the "Senior Software Engineer" position will already have experience with the specific packages that we use. These optional qualifications are not required but they will bump you up in our hiring priority and will increase your salary potential.
You will...

  • work with business analysts at the earliest stages of requirements gathering to help them understand technical issues of new feature requests.
  • participate in planning and estimation.
  • implement new features in our existing applications.
  • pair with a tester during development to ensure maximum utility from our QA process.
  • be given slack time to explore new ideas and broaden your skills.

You may also optionally...

  • refactor/improve our build system.
  • contribute improvements to open source projects that we rely on.
  • create new tools that fundamentally improve the whole team's development capabilities.
  • mentor engineers.
  • optimize and refactor existing code.
  • build *R&D projects to expand the team's expertise.

These optional tasks will fall to our most senior and skilled engineers. As your skills with our code base increase, you will take on more of this kind of work.
We Are...

  • agile - Always adapting to the rapidly changing requirements of our industry and our clients.
  • distributed - We work together from our homes, we live in 9 different states in 4 different time zones.
  • experts - Members of our team have extensive experience in their fields, many have come to us from major players in the web world.
  • streamlined - We're constantly improving our process, our employees are trusted and empowered, we aren't bureaucratic.
  • learning - We know that our most valuable asset is our employees' skills, we strongly support ongoing professional development through conferences and internal peer-based training.
  • scalable - We're growing quickly and we're ready for it. Every year we output more features, hire more employees, and build more capabilities into our team.
  • relaxed - We honor the work/life balance, we work reasonable hours, we don't set arbitrary deadlines.

Our current work is focused on the creation of learning management systems in the field of online arts education.
Apply Now!
Send your resume to java_engineer_position@42lines.net.
We are recruiting for two roles: "Software Engineer" (requires training on our more advanced frameworks/subsystems) and "Senior Software Engineer" (ready to hit the ground running on all our technologies). Please let us know which role you are applying for. Please also let us know how you first heard about this position.

Have a look around our website to learn more about our team.
You must live within 2 timezones of US/Central time (GMT-0500) in order to make communication feasible.

  • Compensation: Compensation is commensurate with experience, but we do believe in paying our people well, as we want to retain excellent staff.
  • Telecommuting is ok.
  • Principals only. Recruiters, please don't contact this job poster.
  • Please, no phone calls about this job!
  • Please do not contact job poster about other services, products or commercial interests.