Senior 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.

Senior Software Engineer Job Description Template

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

Responsibilities:

  • Assist in the career development of others, actively mentoring individuals and the community on advanced technical issues;
  • Able to give clear status updates;
  • Drive, coach and mentor others through design reviews, code reviews, and test case reviews;
  • Be the consummate team player with a demonstrable ability to learn quickly. Amazing ability to get stuff done;
  • Assist in designing, transitioning and deploying of applications to various clouds;
  • Maintaining systems by identifying and correcting software defects;
  • Follow engineering standard methodologies towards ensuring performance, reliability, and measurability;
  • Implementation of security and data protection;
  • Mentoring a group of software engineers by providing advice, coaching and educational opportunities;
  • Collaborate with business and product teams to gather requirements and business needs;
  • Responsible for developing new programs and proofing the program to develop needed changes to assure production of a quality product;
  • Produce and maintain high quality, scalable enterprise software;
  • Develop innovative software designs and architectures;
  • Collaborate with support and field resources to make sure that customers are successful with Dremio;
  • Design, implement and execute unit tests for code modules or components to ensure high quality code releases.

Requirements:

  • Strong Java programming skills including design, prototype, development, test, performance profiling, etc;
  • Ability to handle ambiguity and collaborate across multiple groups and disciplines;
  • Good verbal and written communication skills;
  • Ability to develop new approaches to complex design problems;
  • Optimize SQL Queries and database to improve the performance;
  • Knowledge of Text Mining, NLP and Machine learning frameworks like Tensorflow preferred ;
  • Knowledge on Cloud Computing Technologies preferably Google Cloud Platform;
  • People Leadership;
  • Knowledge in X86 / X64 Architecture and Instruction set;
  • Experience in applications and/or databases performance tuning;
  • Proficient in at least one general-purpose object-oriented programming language (Python, C# etc.);
  • Experience with Microsoft Azure and other cloud services is desirable;
  • Startup experience is a plus;
  • Good experience on unit testing and other methods to ensure high quality code releases;
  • 5+ years of experience as a hands-on developer.