Position Summary:
The Senior Software Engineer will fill a typical senior
Java web application developer role, but will have above-average design and development skills. Primary duties will be to analyze, define, develop, implement,
test and enhance software information systems. The Senior Software Engineer has a strong background in current development practices and frameworks and can apply them in a legacy environment with an eye towards upcoming technology migration.
Essential Functions:
• Takes requirements from initial state to production
• Documents design and implementation
• Completes unit and integration testing
• Participates in design and code reviews
• Whiteboards and demonstrates implementations for stakeholders
• Provides support to stakeholders and QA
Required Skills:
• Working knowledge of Java web application stack (JSE,
JEE, XML,
Struts, EJB, Velocity/FreeMarker/JSP, JavaScript, jQuery, Spring, CSS, HTML, HTTP, etc.).
• Working knowledge of Database (Oracle or similar, PL/SQL, stored procedures, design and modeling, etc.).
• Working knowledge of the design and documentation process (UML, MS
Word, Visio, Rational, etc.).
• Excellent design skills, including UML experience.
• Ability to communicate effectively (i.e. oral and written).
• Ability to write clean, concise, and expressive code and the ability to refactor.
• Knowledge of design
patterns, or a language in which they're invisible.
• Strong intuitive problem-solving abilities.
• Ability to focus narrowly but still see the broad implications of design and implementation decisions.
• Ability to work independently with minimal supervision and direction.
• Excellent organizational and time management skills with a careful attention to detail.
• A strong TDD ethic and familiarity with TDD tools and processes.
• An OO mindset, but cognizant of its limitations.
• An understanding of why concerns should be separated and the skills to do so.
What Online Resources Offers:
• Competitive Compensation
• Health, Dental, Life, AD&D and Disability Insurance
• Paid Leave
• Stock Purchase Program
• Tuition Reimbursement
• Pet Insurance
• Free Home Banking
• Casual Dress Code
• Excellent Team Atmosphere
• Many additional benefits and perks!
My additions beyond the HR-sanitized version of my original job description:
• If you're a JavaRanch regular, I'll be reading your posts as part of the pre-interview process.
• If you're a JavaRanch regular, and don't like my style of posts, that'll be an issue, 'cuz I'll be your boss.
• If you *do*, you're in luck, because I'm a good resource, and have mentored people that have gone on to positions of great import, usually beyond their years of experience.
• I don't know what the "many additional benefits and perks" are--I'm sure there are some. We occasionally get free ice cream or a picnic or something. Meh.
• We are behind in technology, in the process of making decisions about upgrading--but you'll need to be current, with a foot in the past for existing infrastructure.
• If you make it past a phone screen, there's a almost-always-non-optional take-home test, unless I already know you or can convince me you're awesome.
• If I ask you your favorite programming language and you say Java, I'm already suspicious:
GAG's @ThisWouldBeOneLineIn annotation was invented just for me (I assume), and it's been said I won't be happy until everything is a single line. It's funny because it's true.
• If you're not current on internet memes some of the stuff I say will be meaningless to you.
• I may require a sample of your writing as well depending on various factors: the ability to communicate is of High Importance for us right now.
• Salary DOE, but we're pretty competitive in the area.
• We currently *not* entertaining H1-Bs -- don't ask, because I can neither explain nor defend the position. It's not about money, either, so don't offer to pay it yourself.
• NO THIRD-PARTIES. I'll get angry if that's not paid attention to. Yes, you, recruiters.
PM me here if you have additional questions/etc. and provide an email address. If I'm interested I'll contact you within a day or two. If I'm not, I may or may not depending on time constraints--I'll attempt to answer everyone, but some times it's just not realistic. It's nothing personal, honest. Probably.