Mid-level Software Developer
Candidate will work with lead developer to provide software development support and maintenance of applications covering such areas as GIS, web-mapping, and visualization applications. The ideal candidate will currently be able to develop web-mapping applications featuring map data products using proprietary OGC-compliant KML/KMZ reference materials as well as other OGC-compliant web-mapping services. Duties will include maintenance of existing codes, extending functionality, and development of proprietary software used to generate and/or analyze KML/KMZ data sets for use in a real-time collaboration environment.
- A BS degree from an accredited university in a quantitative discipline, e.g., applied mathematics, physics, computer science, or engineering.
- 5+ years experience working with Java development using J2EE development tools or equivalent. Google Earth/ESRI ArcGIS/Adobe Flex development experience is preferred in the development of web mapping technology components, ideally using common object-oriented libraries provided by Google/Flex/ESRI/Adobe.
- Demonstrated ability to develop code/test/integrate software modules and work with other developers to build applications. Must have experience working a rapid development cycle; must be able to diagnose and solve coding problems as well as provide viable solutions with little or no supervision.
- Ability to follow instructions and listen to customer feedback. Must be able to quantitatively explain chosen approach and coding practices, e.g., giving a complexity analysis or arguments for correctness.
- Demonstrated experience conducting software unit testing. Typical metrics are correctness within floating point round off error, computing efficiency, and preservation of existing functionality.
- Several projects worth of experience using a compiled language. Some, if not all, projects should have used basic Object Orientated Design practices. Version control software should also have been used for some of these projects.
- Experience using high level scripting languages such as Python, Scheme, or UNIX shell either in the form of entire projects or the use of scripting languages for simple utilities.
- Significant experience developing projects in a UNIX/Linux environment.
- 5+ years C/C++ and/or Java experience. Projects should have included use of typical object-oriented concepts such as encapsulation, polymorphism, operator overloading, etc. Experience in common Java development issues such as build management. An understanding of configuration control methods, ideally using common tools such as Subversion or Git.
- Experience deploying Java code into J2EE environment on Unix/Linux platforms.
- 5+ years experience doing object-oriented programming with a strong emphasis on finding elegant, non-naive solutions. Includes understanding the complete life cycle; model, implementation, and results.
- 5+ years experience using a high level scripting language such as Python or Ruby. Projects could have ranged from building simple utilities for larger projects to being complete solutions.
- 5+ years development experience in a UNIX/Linux environment using standard tools such as Emacs, GDB, bash, tcsh, sed, etc.
- Familiarity with Java software development IDE tools such as NetBeans and Eclipse.
Send resume with cover letter identifying position title to firstname.lastname@example.org.