The Software Developer II with the software development team at Vertex Inc will cover a broad spectrum of projects from engineering cloud-based solutions to design and implementation of new application features and functionality.
ESSENTIAL JOB FUNCTIONS AND RESPONSIBILITIES:
Architect, design, code, unit test, fully implement and deliver application features with highest quality and security to prevent unauthorized access / use
Create modular, scalable, testable, tested, performant sub systems which interface via well-defined end points using software engineering best practices such as unit testing, TDD, design patterns
Implement, test, maintain and support software, based on technical design specifications
Prepare technical design specifications based on functional requirements and analysis documents
Review functional requirements, analysis and design documents and provide feedback
Assist with triage and resolution of issues from customers and internal users
Work independently to plan, prioritize, and complete high complex critical priority work assignments, as a member of a project team
Participate in and/or lead architecture and code reviews
Promote Continuous Improvement by identifying process in efficiencies and quality improvements
Will work under general supervision.
Participate in other projects or duties as assigned
Occasional travel required.
KNOWLEDGE, SKILLS AND ABILITIES:
Skilled in working within a team-oriented, collaborative environment, ability to partake in and contribute to technical, design and retrospective dialog
Proven analytical and problem-solving skills, passionate about learning and applying new technologies
Strong written, oral, and interpersonal communication skills, strong client service focus
Able to identify root cause of system issues and determine short- and long-term resolutions
Intermediate understanding of design patterns, functional and object-oriented programming, DI / AOP frameworks, asynchronous and event-driven design, well versed in testing methodologies, experience writing unit and functional tests
Intermediate full stack coding skills in C, C , Unix/Linux shell scripting. Java, JavaScript, JSON / XML, Java Spring, REST, Web Services, JavaScript frameworks (e.g. React/Redux, Angular, jQuery), Containers (Docker), message queues, and AWS cloud technologies are desirable
Understanding of databases - relational and NoSQL, experience with Oracle, Postgres SQL, SQL Server, writing advanced SQL, T-SQL or similar, query optimization
Ability to listen and understand information and communicate the same.
Must possess good organizational skills.
Must be results oriented, customer focused, and exhibit good interpersonal skills.
Proficiency in Microsoft Visual Studio.
EDUCATION, TRAINING:
B.S. in Computer Science or Software Engineering, or equivalent education and experience
Four (4) years of experience in application development Four (4) years of experience coding with some or all of the following technologies C, C , Java, JavaScript, Java Spring, REST, Web Services, relational Database or similar
Two (2) years of experience implementing n-tiered, distributed systems across different Hardware/Operating System platforms desired
One (1) year of experience with JavaScript APIs, JavaScript frameworks, client-side UI development and test-driven development
Experience with iterative, incremental software development processes
Experience with complex software development projects through all phases of the software development life cycle
Experience with Git Version Control, Jenkins or similar build environment, and automated testing preferred
REQUIRED FOUNDATIONAL COMPETENCIES:
Builds Relationships: Fosters open dialogue and obtains shared commitment to proposals; shared ideas and information to promote mutual understanding, respect, and effective decision-making.
Drives for Results: Acts to create opportunities for Vertex or to avoid future problems; has the courage to act with incomplete information rather than simply thinking about it; maintains a focused commitment to achieving enterprise objectives.
Knows the Business: Understands and applies knowledge of Vertex's business and processes to accomplish goals.
Anticipates Customer Needs (internal and external): Establishes and maintains productive relationships with customers and partners, anticipating their needs.
Learns Continuously: Expands own knowledge base to enhance performance; seeks development to increase strengths for current and future needs.
COMMENTS:
The above statements are intended to describe the general nature and level of work being performed by individuals in this position. Other functions may be assigned, and management retains the right to add or change the duties at any time.