Who are we?
Our vision is of a global community of individuals empowered to pursue the work they love. Our mission is to grow that community by transforming millions of thinkers into creators.
Since 2011, General Assembly has transformed tens of thousands of careers through pioneering, experiential education in today’s most in-demand skills. As featured in The Economist, Wired, and The New York Times, GA offers training in web development, data, design, business, and more, both online and at campuses around the world. Our global professional community boasts 40,000 full- and part-time alumni — and counting.
We are organized into small cross-functional product teams (a PM, a designer, a few devs) that focus on growing a single product from glimmer to game-changer. Each team is free to determine their own tools & process. We care about writing good software that is clean, concise, and well-tested; flexible and easy to maintain. Our stack is Ruby on Rails, PostgreSQL and ReactJS, but we are not dogmatic and believe in using the right tools for a particular problem.
This is a remote job. You’re free to work where you work best, anywhere in Malaysia: home office, coworking space, coffee shops. While we currently have an office in Ilham Tower located along Jalan Binjai near Jalan Ampang, the team meets up once a week or month as we all see fit to do so.
You can expect an inclusive, eager team who’ll support you in it, rise to challenges with you, and grow together. We value people who can take a stand yet commit even when they disagree. And understand the value in others being heard. We subject ideas to rigorous consideration and challenge each other, but all remember that we’re here for the same purpose: to do good work together. We believe in building trust through direct feedback, openness to each others’ experience, and willingness to show up for each other as well as for the technical work at hand. We’re in this for the long term. We also want to be kind, considerate, fair, flexible, and calm. Especially in a crisis.
Here are some real examples of the work we’ve done lately that might help you to get a better idea of what this job entails:
- Upgrading Rails environment periodically for over a dozen applications
- Fixing all reported security vulnerabilities reported by security audits
- Sunsetting legacy applications
- Improving Docker-based environment and dockerizing several applications
- Capable of end-to-end problem solving; accurately debugging problems quickly.
- Capable of acting as a teacher for peers. Able to act as a mentor to associates and engineers. Seeks out opportunities to knowledge-share with broader audiences in engineering.
- Finds common ground quickly and solves problems and provides feedback.
- Capable of guiding and directing junior staff on a project. Respected as a senior team member in guiding technical direction.
- Deep object-oriented programming knowledge and ability.
- Follows established patterns and approaches within existing code bases with ease.
- Exemplifies professional team and organizational standards. Helps set and maintain professional standards for the team.
- Writes code with good test coverage; knows the best way to approach testing in all scenarios beyond the 'happy path'. Expected to know and be able to practice TDD.
- Senior-level knowledge of system-level tooling. Capable of more advanced development tool workflows for local and production system debugging.
- Understands fundamental concepts of systems development life cycle (SDLC), and is responsible for adherence to all practical aspects.
- Should be aware of the business value in work being done. Able to prioritize own work when given business value context.
- Responsible for maintaining and evangelizing professional standards and technical strategy for your team.
- Drives and creates work for existing and forthcoming projects, and be able to deliver project goals and tasks to other engineers. Analyzes requirements to determine the feasibility of design options within time and cost constraints.
- Assures adherence to best practices and department processes around system maintainability and health.
- Provides front-line support, and shares responsibility for 24/7 uptime of all services the team provides.
- Is responsible for understanding which operations affect the scope of the budget and operate within a budget.
- Is expected to be able to provide input on changes that affect the budget. Solid understanding of software capitalization and is expected to be able to provide input as it relates to engineering efforts.