Blockchain Developer
Job Purpose:
The blockchain developer will be responsible for designing, implementing, and supporting a distributed blockchain-based network. The primary responsibility will be analyzing requirements, designing blockchain technology around a certain business model, and the building and launching of a blockchain network.
Job Duties and Responsibilities:
- Research, design, develop, and test blockchain technologies
- Brainstorm and help evaluate applications for new tools and technologies as they continually evolve
- Maintain and extend current client- and server-side applications responsible for integration and business logic.
- Be involved in the global blockchain community—work on implementing and integrating the latest improvement proposals.
- Document new solutions as well as maintaining that of existing ones.
- Collaborating with their team to identify and fix technical problems.
- Analyzing users' or clients’ needs and then finding applications and solutions.
- Checking that software and applications assigned are updated.
- Supervising modifications, fixes, integrations, and refinements.
- Conducting security audits to identify areas of improvement with the QA team.
- Determine operational feasibility by evaluating requirements through analysis, problem definition, solution development, and implement solutions.
- Provide documentations, plans, procedures, guidelines, policies, flowcharts, layouts, diagrams, charts, code comments, and coding standard.
- Develop system specifications, case studies, and gap analysis.
- Conduct studies, testing, and recommendation on software and hardware licenses.
- Relevant and current in knowledge of development tools, programming techniques, and computing equipment by participating in educational opportunities, reading professional online and offline publications, maintaining professional networks, and participating in professional organizations.
- Provide information by collecting, analyzing, and summarizing development, and service issues.
- Participate in software release and post-release activities, including support for product launch evangelism (e.g. developing demonstrations and/or samples) and competitive analysis for subsequent product build/release cycles.
- Testing, including defining/supporting acceptance testing and gathering feedback from pre-release testers.
Skills/Qualifications:
- Solid Programming Skills (Software Design, Coding, Debugging, Documentation, and Testing)
- Strong experience in software development & delivery best practices like – TDD, CI/CD
- Experience working with large codebases
- Experience working with open-source projects
- Strong knowledge of common algorithms and data structures
- Familiarity with basic cryptography
- Familiarity with P2P networks
- Strong knowledge of bitcoin-like blockchains
- Strong knowledge of concurrency and writing efficient and safe multithreaded code
- Proficiency in the Qt Widgets module
- Graduate of any of the following degree: BS CS, BS IT, CoE
- Prior experiences in payment and banking API integrations
- 4-5+ Years of Professional Work Experience
- Collaborate with team or lead a team to brainstorm and create new products
- Experience working in an agile environment
- Strong verbal and written communication skills
- Core Development Skills
- Scripting/Programming languages: Java, PHP, Javascript (React.JS), NodeJS
- Web development: HTML, HTML5, CSS, CSS3, Ajax & JQuery
- Database: MSSQL, Oracle, MySQL
- DB Programming: SQL, Stored Procedures, Views
- Frameworks: Spring, Struts, Hibernate, Qt Widgets
- Markup Languages: XML, JSON, SOAP
- Platform: Windows, Linux, MacOS
- Services: Apache, Nginx, Apache Tomcat, MySQL, SQL Server, Oracle, Mail (SMTP/POP)
- Version Control: Git