Home
About TMG
Our Services
News
Bid Opportunities
Jobs @ TMG
Contact Us
Login
Software Engineer
 
Position Description
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.
Minimum Qualifications
  • 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
Responsibilities
  • 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
Competencies
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