(Senior) Software Engineer

  • Hangzhou, China
  • Full-time

Company Description

Leading Products – Innovative Ideas – Exceptional People ….MicroStrategy, A Dynamic Place to Work!

At MicroStrategy, we are passionate about creating powerful, disruptive technologies that transform how companies do business. Innovative products and ultimately our success are rooted in one driving force—our people. Our casual and flexible environment encourages creativity and collaboration, so you’ll have the opportunity to initiate and contribute to challenging projects, while pursuing your interests and developing, both professionally and personally. Bring us your passion, curiosity, and fresh ideas, and be a part of technology innovation at its best!

Job Description

MicroStrategy is looking for creative, talented engineers who are passionate about solving challenging problems and building world-class software. Our platform software empowers users to turn data into insight, and insight into action. As a MicroStrategy Software Engineer, you will use your engineering and problem-solving skills to take this platform to the next level. Whether you love optimizing server-side algorithms, mastering the latest web technologies, or building powerful mobile apps, we have a team, a project and a challenge for you.

Web SE Job Duties (include but not limited to):

· Build sharp, responsive, client-centric web interfaces for data exploration and analysis with Java, HTML, CSS and JavaScript, and integrate data from various back-end services.

· Cooperate with UX & UED to match visual design intent.

· Work with Product Owners to analyze, evaluate and refine feature specifications.

· Work with other SEs in product team to deliver valuable features in fast iterations.

· Be responsible for certain part of MSTR product, to maintain its quality, integrity, efficiency, and reusability.

· Coordinate with quality engineers to share design information and provide testing suggestions.

· Create prototypes and experiment with new technologies to resolve technical risk and provide guidance for production development.

· Evaluate and assimilate new technologies and processes with MSTR development platform and process.

· Share knowledge and support fellow team members in an open, collaborative atmosphere.


Java SE Job Duties (include but not limited to):

·       Be responsible for certain part of MSTR product, to maintain its quality, integrity, efficiency, and reusability.

·       Cooperate with UX & UED to match visual design intent.

·       Work with Product Owners to analyze, evaluate and refine feature specifications.

·       Work with team mates (SE and QE) to deliver valuable features in fast iterations with high quality.

·       Create prototypes and experiment with new technologies to resolve technical risk and provide guidance for production development.

·       Share knowledge and support fellow team members in an open, collaborative atmosphere.

 

 

C++ SE Job Duties (include but not limited to):

 

· Develop product features through their entire lifecycle: requirements analysis, design, implementation, unit testing, optimization, maintenance and enhancement.

· Work with Product Owners to analyze, evaluate and refine feature specifications.

· Work with other SEs in product team to deliver valuable features in fast iterations.

· Be responsible for certain part of MSTR product, to maintain its quality, integrity, efficiency, and reusability.

· Coordinate with quality engineers to share design information and provide testing suggestions.

· Create prototypes and experiment with new technologies to resolve technical risk and provide guidance for production development.

· Evaluate and assimilate new technologies and processes with MSTR development platform and process.

· Share knowledge and support fellow team members in an open, collaborative atmosphere.

 

 

 

 

 

Qualifications

WEB SE Job Qualifications:

· Bachelor’s Degree, Master’s Degree, or Ph.D. in Computer Science, Software Engineering, or related field.

· Strong analytical and problem-solving skills.

· Proven working experience in web programming.

· A solid understanding of how web applications work including security, cross-browser compatibility, session management, and best development practices

· Adequate knowledge of at least one OOP language, i.e. java, c++, c#, etc.

· Adequate knowledge of JavaScript, HTML, HTML5, CSS, CSS3.

· Familiar with at least one JavaScript framework such as ReactJS, AngularJS, ExtJS, Dojo, Backbone, etc.

· Familiar with at least one Javascript Libararies like JQuery, lodash, etc.

· Familari with web app bundlers like Webpack, grunt or gulp is a plus.

· Familiar with NodeJS is a plus.

· Familiar with one Java Web framework such as Struts, Spring is a plus.

· Familiar with Mobile Web App development is a plus

· Familiar with Desktop hybrid web app is a plus.

· Good communication skills in English and the ability to work as part of a team.



Java SE Job Qualifications:

· Bachelor’s Degree, Master’s Degree, or Ph.D. in Computer Science, Software Engineering, or related field.

· Strong analytical and problem-solving skills.

· Proven working experience in web programming.

· Solid understanding of object-oriented design principles, code smells and refactoring.

· A solid understanding of how web applications work including security, cross-browser compatibility, session management, and best development practices

· Adequate knowledge of Java.

· Familiar with Restful API design principles.

· Familiar with Web Server Development and at least one framework, like Jersey, Spring, etc.

· Familiar with at least one Java App Containers, like tomcat, jetty, glassfish, JBoss/WildFly, weblogic, etc.

· Familiar with Java 8 is a plus.

· Familiar with Web front end technologies (HTML, Javascript, CSS) is a plus.

· Good communication skills in English and the ability to work as part of a team.

 

 

C++ SE Job Qualifications:

· Bachelor’s Degree, Master’s Degree, or Ph.D. in Computer Science, Software Engineering, or related field.

· Strong analytical and problem-solving skills.

· Solid foundation in computer science fundamentals, including data structures, algorithms and time/space analysis.

· Strong object-oriented design and development skills. Fluency in C++ is highly desirable (if you are Hadoop expert then C++ is not a must have).

· Good communication skills in English and the ability to work as part of a team.

 

One or more of the following is a plus:

·   Multithreaded/concurrent programming experience.

·   UNIX/Linux platform experience.

·   RDBMS, Hadoop, HBase, HDFS, MapReduce, MPP technologies

Additional Information

MicroStrategy is an equal employment and affirmative action employer F/M/Disability/Vet/Sexual Orientation/Gender Identity.

MicroStrategy is an Equal Employment Opportunity / Affirmative Action employer and provides reasonable accommodation for qualified individuals with disabilities and disabled veterans in job application procedures. If you have any difficulty using our online system and you need an accommodation due to a disability, you may contact us about your interest in employment at 703.848.8600.