|
|
TMG’s Software Engineer is responsible for developing and maintaining the company’s proprietary information systems platform as a member of its in-house software development team. TMG’s information systems provide an integrated suite of decision support, workflow, collaboration, and transaction tools that enables the company’s process driven business units to work in a highly efficient and interdependent manner. These tools are comprised of a blend of in-house developed applications as well as customized open source and commercial software. The Software Engineer reports to TMG’s ICS Manager who acts as the lead developer on TMG’s development projects.
- B.S. degree in Computer Science or related field
- Two to fours years experience developing enterprise web applications
- Highly proficient with the Java programming language and J2EE development
- Proficient working in a mixed Linux / Unix / Windows environment
- The ability to effectively communicate both in the English written and spoken word
- Develop enterprise class business software based on requirements provided by TMG stake holders
- Work with the lead developer to establish standard architecture and coding practices. Assist in the development of a common enterprise application framework.
- Participate in the requirements gathering and design analysis phases of development to include user interviews, use case development, and documentation
- Create development artifacts such as user stories, mock-ups, requirements specifications, E-R diagrams, class diagrams, and other design documents
- Create integration components as needed to integrate commercial software packages with internal custom software platforms
- Help maintain SCM environment and tools. Create build scripts for new projects.
- Develop bug-fix and maintenance code for existing systems as needed.
- Document change requests, bug reports, and feature requests in TMG’s SDLC system (JIRA)
- Create scripts and tools as needed to automate repetitive tasks
- Setup and configure test and development environments as needed
- Handle system and network administration tasks to back-fill when the lead is either unavailable or over-loaded
- Provide technical database / SQL assistance to business users needing help with complex reporting or data mining
- Research, review, and test open source and commercial source software for applicability and usability in future development projects
Technologies
Minimum:
- Experience developing Java based web applications
- Experience working with modern web user interfaces, specifically the use of AJAX based interfaces and component frameworks
- Comfortable working with all the major web technologies including HTML, JavaScript, and CSS
- Experience building applications utilizing J2EE components
- Solid understanding of MVC paradigms
- Exposure to common open source frameworks and tools such as Struts, JBoss, Tomcat, Axis, etc
- Experience building and consuming web services for the purposes of integrating applications
- Ability to perform basic DBA functions
Nice To Have:
- Experience working with ExtJS and/or YUI frameworks
- Experience with Atlassian products including Confluence and Crowd
- Experience with PHP and/or Perl programming languages
- Experience with Groovy / Grails
- Experience with graphic design in support of creating web page layouts.
Development Expertise
- Experience with full life-cycle development including requirements analysis, design, coding, testing, configuration and build management, release, and production support
- Capable of producing development documentation as needed (use cases, mock-ups, and various design artifacts)
- Capable of working in a small team using Agile based processes
- Familiarity with common SCM and build management tools (Ant, Maven, CVS, etc)
- Produce professional code and products based on industry best practices
- Ability to integrate disparate platforms by utilizing vendor supplied APIs
- Create relational data models for new systems
- Ability to analyze existing databases and build new functionality based on the existing data structures.
Systems
- Experience developing and working in Linux / Unix (Solaris)
- Experience working with PostgreSQL, MySQL, and Microsoft SQL Server RDBMS systems
- Knowledge of common networking protocols such as HTTP, SMTP, and DNS
Critical Thinking Skills
- Posses natural problem solving skills and enjoy developing creative solutions to both simple and complex tasks
- Strive to develop the simplest solution to solve any given problem
- Strong math skills
- Ability to learn new technologies and methods by studying documentation and code samples
- Ability to reverse engineer systems in order to build interfaces that expose functionality within the system not provided by an existing API
Interpersonal Skills
- Strong team player
- Self-starter capable of working with minimal direction
- Goal oriented
- Ability to communicate technical subjects with non-technical stakeholders
- Willingness to step outside of assigned roles to accomplish the team’s overall business objectives
|