writing a job description
# the company
Mpowered provides software that helps South African enterprises track their diversity and inclusion, inline with several government frameworks and scorecards.
# the project
A 10 year old Rails application is evolving to better handle tracking complex government legislation using Haskell as the core of its type-safe, high velocity future.
# the job
A senior engineering role that will work on every layer of the application, architecting more robust infrastructure and application modularity.
# About the Job
# duties
- Re-architect monolithic app to be more maintainable
- Port selected mission critical components from Ruby to Haskell
- Implement new features in Haskell
- Design migration strategies
- Develop robust testing strategies and suites
- Deploy polyglot services in cloud environments
- Decouple front-end to improve feature cycles
# environment
- Team of 3-5 highly skilled developers
- Remote-only, team based in South Africa and Sweden. Discord for the win!
- English with a touch of Svenska
- Large Rails codebase, with Haskell creeping in. You will get your hands dirty with Rails.
- Some devops using Nix
# best parts of the job
- Quality of your peers
- High degree of trust and flexibility
- Company is focusing on good tech to differentiate itself, not just features and functions
# worst parts of the job
- Remote-only can compound a low morale if its not your thing
- Legacy easter eggs can set you back further than you thought you were