- Define system objectives by analyzing user requirements
- Recommend system solutions by comparing advantages and disadvantages of custom development and purchased alternatives.
- Design user interfaces of applications. Determine design methodologies and tool sets.
- Develop applications using programming languages and software products. Build reusable code and libraries for future use. Optimize applications for maximum speed and scalability. Ensure security and data protection within application.
- Design unit and integration tests.
- Integrate applications by understanding database architecture and server scripting; study and establish connectivity with network systems, search engines, and information servers.
- Implement web services and APIs to allow integration of web applications to other systems
- Complete applications development by coordinating requirements, schedules, and activities; contribute to team meetings; troubleshoot development and production problems across multiple environments and operating platforms.
- Support users by developing documentation and assistance tools.
- Update job knowledge by researching new internet/intranet technologies and software products; participate in educational opportunities; read professional publications; maintain personal networks; participate in professional organizations.
- Enhance organization reputation by accepting ownership for accomplishing new and different requests; explore opportunities to add value to job accomplishments.
- Support and develop other developers by providing advice and coaching.
Integrity, humility, strategic vision, curiosity, and discipline. Looking for self-motivated professionals, highly effective and compassionate communicators, effectively working with people, work processes, and actively engaging in continuous process improvement.
- Bachelors in Computer Science or related field
- Experience with Microsoft SQL Server and SQL, ability to write and interpret queries and views
- Ability to implement automated testing platforms and unit tests
- Proficient understanding of code versioning tools, e.g. Git, Mercurial, TFVS or SVN.
- Excellent prioritization, organizational and time management skills
- Ability to organize information in an effective manner, to showcase relationships, qualities, quantities, and priorities, in a non-trivial but accessible and impactful manner