Software Engineer

Research, design, develop, and test operating systems-level software, compilers, and network distribution software for medical, industrial, military, communications, aerospace, business, scientific, and general computing applications. Set operational specifications and formulate and analyze software requirements. May design embedded systems software. Apply principles and techniques of computer science, engineering, and mathematical analysis.

Software Engineer Job Description Template

Our company is looking for a Software Engineer to join our team.

Responsibilities:

  • Champions software across the local teams;
  • Interacts with product management in understanding and finalizing requirements;
  • Minimum 5 – 8 years’ experience in Linux systems development/storage appliance development/analytics data collection domain;
  • You must be self-driven, proactive, and result-oriented;
  • May provide guidance and mentoring to more junior software engineers;
  • Translate technical designs into defect free, maintainable code;
  • Performs source code management tasks without specific guidance required from other team members;
  • Assist in the career development of others, actively mentoring individuals and the community on advanced technical issues;
  • Collaborate with support and field resources to make sure that customers are successful with Dremio;
  • Providing technical support for testing, installation and commissioning activities;
  • Troubleshooting issues within customer care applications;
  • Involved in coding, database design and bug fixing;
  • Maintain security and data privacy in the distributed environment;
  • In depth knowlegde of Agile;
  • Writes automated unit, integration-level tests and UI level tests under own direction.

Requirements:

  • Strong experience in Linux Development, shell scripting and Networking;
  • Strong organization and prioritization skills;
  • Ability to develop software in the required languages and using required 3rd party tools, applications and libraries where needed;
  • Excellent oral, written and interpersonal communication skills;
  • Strong understanding of software life cycle methodology and information systems development and support;
  • Knowledge and /or experience in micro services, container technologies like Docker is a plus;
  • Familiarity with building Web UIs using HTML5, CSS, JavaScript (ES6), Webpack, Angular, TypeScript, React, Redux is a bonus;
  • Knowledge of Bigdata technologies like Apache Spark will be an added advantage;
  • Excellent verbal and written communication skills Preferred Japanese language skills N3;
  • Strong problem solving, troubleshooting skills along with sound judgement and decision-making;
  • Strong Java programming skills including design, prototype, development, test, performance profiling, etc;
  • Fluent in oral and written communications in English language;
  • Good at system analytical skills and communication skills;
  • Python Development Language (optional);
  • Exposure to cloud services – AWS ecosystem (EC2, S3, etc) is preferred.