Senior Java Developer

Guy Fraser's picture

We require a quick learning, agile Java developer

Job Description

You'll have a passion for learning languages and specifically Java frameworks, APIs, features, patterns and best practices. You'll be dreaming up code and working on open source projects, learning from a desire for betterment.

You must be able to pick up and learn new APIs rapidly, keeping at a usable distance behind the bleeding edge to focus on Getting Things Done.

Ideally you will have a background in modern J2EE development, preferably understanding Hibernate & JPA / Spring / WebWork & Struts2 / JSP & Velocity / Lucene.

Concepts such as Domain Driven Design, Test Driven Development, Service Orientated Architecture, Unit Testing, Continuous Integration, Subversion/Source Control, Agile Development, Extreme Programming will be known to you.

You'll be willing to lead from the front, comfortable being part of a team but able to work with autonomy.

What you get

+ Work with talented people and the latest hardware (some Unix skills required)
+ Work on unique and challenging problems, influence the solutions created and make a hugely beneficial impact for customers. This includes a variety of small and larger projects ranging from standalone applications and libraries to Atlassian plugins
+ Visit (and if you want, speak at) various Java and Atlassian conferences around the world
+ Work from home and avoid the morning commute and evening rush-hour
+ Enjoy truly flexible working. Working hours focussed on completing tasks and exceeding expectations over when the hours are worked.
+ Meet co-workers at meetings, developer days and activities such as karting, rock climbing and eating out
+ A competitive salary, negotiable depending on skills and experience.
+ Full-time employees get all the usual benefits including health care, computers, etc. We reward people based on them excelling within their position.
+ Room for growth within the company is extensive and we can offer you a future that you will be able to mould to fit your passion. From internal system architecture, to consultancy and travel opportunities as a specialist - take your pick. We want to see all our employees expand their capabilities year on year, and we will expect you to be constantly learning.

You should be

+ Familiar with using issue tracking software and wiki authoring
+ Experienced in working directly with customers, colleagues and other stakeholders over email, issue tracker, wiki, and phone
+ Able to mentor junior developers in both technical knowledge and good coding styles, as well as perform activities such as code reviews and pair-programming
+ A continious learner - writing and reading technical blogs, learning new frameworks, tool, and languages
+ Able to maintain and extend existing projects as well as developer greenfield projects
+ Experienced with formal software design methodologies, e.g. Waterfall, RUP, Agile, XP, etc
+ Able to reason/defend/argue technical decisions and other opinions
+ Able to work with 3rd party libraries using source code when only poor documentation exists
+ Experienced in automated testing and build systems
+ Familiar with some of the following areas:
- Java 5 Language Features
- Struts 2 (or WebWork 2)
- Spring 2.5
- JPA (or Hibernate 3)
- Maven 2
- OSGi
+ However, a good grasp of web development and the ability to learn is more important than your knowledge of these specific areas.
+ Interested in:
- Agile practices, such as Scrum
- Testing practices, such as TDD
- Application architecture
+ Happy to give your opinion on any aspect of the business, and it will always be welcome and viewed in context.
+ Looking for a permanent position, however we may be interested in the right skilled person for a placement or contract if you have experience in developing around Atlassian products.
+ You are expected to have an internet connection and a suitable place to work from (a home office).