We are currently hiring for a senior software engineer role to design and implement features on the cloud platform for our clients.
Responsibilities
- Translate complex client requirements into practical, cloud-scalable technical solutions.
- Implement back-end infrastructure components.
- Design new web-services and ETL workflows.
- Create unit tests and integration tests to ensure quality.
- Typical time allocation: design 20%, implementation 80%.
Requirements
- A love of learning and proven experience in becoming a domain expert; in our case, you will become an expert in investment data analysis and investment reporting visualization
- Pragmatic experience with Agile development methodologies (Scrum, eXtreme Programming, etc) and iterative process improvements
- Self-motivated, client-oriented thinking, ability to learn new technologies quickly
- Strong design, presentation, and collaboration skills; must be a strong team player
- Good knowledge of NodeJS or desire to learn coupled with strong experience in one of C++, Python, PHP, or Rust
Nice to haves
These aren’t required, but be sure to mention them in your application if you have them.
- Knowledge of investment management (significant advantage)
- Strong at mathematical calculation programming (significant advantage)
- Very strong background in merging datasets from various offline and online sources (ex: ETL systems, data lakes, etc)
- Experience implementing various design patterns
- Familiarity with xUnit design concepts and patterns
- Experience creating web-services and/or ETL workflows
Technologies
NodeJS, React, PHP (Laravel), Mysql, GraphQL, Restful API, AWS, Docker, CircleCI, Git, xUnit
A Day in the Life
Generally you’ll be working in “sprints”: Everyone on the dev team delivers features to our client in a 1~2 weeks sprint. We encourage developers to deliver features to our clients independently by implementing a well designed full stack solution reviewed by the team.
So your day might break down like this:
Morning: Come in around 9am, check messages, emails, arrange short, medium and long-term to-do lists. Note that under the current covid situation, we only come to the office once or twice a week. Carry out coding, problem-solving and development. At various points you will ask for advice (or give advice). After you find a solution, you’d usually create a “change request” or “pull request” summarizing changes proposed. This would probably bring you to lunch.
Afternoon: The afternoon is often when meetings are held and longer-term projects are discussed. After design discussions, you’re given a list of requirements, and then you would have to document the system design and get it reviewed.
End of Day: Wrap up work and get critical questions clarified before the end of day. Most people will leave around 5:30pm, and sometimes we have a bit after work drinks toward the weekend. We are flexible with working hours, but rather emphasizing on efficiency and quality.
Compensation
6 to 8 million JPY annually plus stock options and bonus.