Description

Responsibilities:

  • The main function of a software engineer is to apply the principles of computer science and mathematical analysis to the design, development, testing, and evaluation of the software and systems that make computers work. A typical software engineer researches, designs, develops and tests operating systems-level software, compilers, and network distribution software for medical, industrial, military, communications, aerospace, business, scientific and general computing applications.
  • Review and approve the modification of existing databases and database management systems.
  • Instruct staff to write and code logical and physical database descriptions and specify identifiers of database to management system.
  • Direct database development and approve project scope and limitations.
  • Review project requests describing database user needs to estimate time and cost required to accomplish project.
  • Plan, coordinate, and implement security measures to safeguard information in computer files against accidental or unauthorized damage, modification or disclosure.
  • Approve, schedule, plan and supervise the installation and testing of new products and improvements to computer systems.
  • Develop standards and guidelines to guide the use and acquisition of software and to protect vulnerable information.
  • Design and implement core, backend software components
  • Code using primarily PHP , Hack, potentially C/C++, Java as well
  • Interface with other teams, team members to incorporate their innovations and vice versa
  • Conduct design and code reviews
  • Analyze and improve efficiency, scalability, and stability of various system resources
  • Establish self as an owner of a particular component, feature or system with expert end-to-end understanding
  • Successfully completes projects at medium scope while maintaining a consistent high level of productivity


Requirements:

  • Verbal and written communication skills, problem solving skills, customer service and interpersonal skills.
  • Strong ability to work independently and manage one’s time.
  • Strong mentoring skills necessary to provide support and constructive performance feedback.
  • From business/systems analysis, through requirements gathering and functional specification authoring, to development, testing and delivery.
  • Strong ability to troubleshoot issues and make system changes as needed to resolve issue.
  • Strong knowledge of computer hardware and software.
  • Knowledge of computer development software as it relates to systems, such as SQL, VisualBasic, etc.
  • Bachelor's degree in computer science, software engineering or relevant field required.
  • Experience with scripting languages such as Python, Javascript or Hack
  • Experience designing, analyzing and improving efficiency, scalability, and stability of various system resources
  • Experience owning a component, feature or system
  • Experience building and shipping high quality work and achieving high reliability
  • Experience improving quality through thoughtful code reviews, appropriate testing, proper rollout, monitoring, and proactive changes
  • Bachelor's degree in Computer Science, Computer Engineering, relevant technical field, or equivalent practical experience
  • Track record of setting technical direction for a team, driving consensus and successful cross-functional partnerships
  • Exposure to architectural patterns of large scale software applications
  • Experience in programming languages such as C, C++, Java
  • What makes this role interesting: Building AI experience and wearable devices
  • Software Engineer
  • Heavy data source
  • Hack/php
  • 90% backend
  • Translation to working code
  • Collaboration, communication, ambiguity environment
  • Building uni test co coverage
  • Years of Experience: 3-5 years
  • Target company: Top tech companies

Education

Any Graduate