Intern Software Developer
Teachworks
Job Description:
Intern Software Developer – Teachworks
THE COMPANY
Teachworks is a market leading, comprehensive and easy-to-use software solution that helps lesson driven businesses including; tutoring and test preparation companies, music schools, language schools and other private educators manage a broad range of administrative tasks such as teacher and student records, scheduling, communication, invoicing, payments, payroll, and more.
THE POSITION
As an Intern Software Developer at Teachworks, you will be a key contributor on a small, but highly effective team. Your responsibilities will include maintaining, building, enhancing, testing and supporting the Teachworks platform. In addition, you’ll be assigned a critical project to modernize the application’s security layer in preparation for the Rails 7.2 upgrade. You’ll be working with the application’s core technologies which include Ruby on Rails, Javascript, Bootstrap CSS, and MySQL.
JOB RESPONSIBILITIES
- Audit & Identify: Scan the codebase to identify all models still utilizing legacy attr_accessible or attr_protected methods.
- Model Refactoring: Transition model logic by creating Strong Parameters and remove attr_accessible constant to house allowed data fields.
- Controller Implementation: Update create and update actions in the controllers to utilize Strong Parameter syntax.
- Quality Assurance: Write or update unit and integration tests to ensure that the parameter filtering behaves correctly and doesn't break existing data flows.
- Version Control: Manage the rollout of these changes incrementally using Git, ensuring the application remains stable throughout the 50-day migration period.
JOB QUALIFICATIONS
- Technical Knowledge: Foundational understanding of the Ruby on Rails framework and the MVC (Model-View-Controller) architecture and RSpec for unit tests.
- Coding Proficiency: Comfort working with Ruby syntax and an understanding of Symbols and Arrays.
- Security Mindset: A basic grasp of Mass Assignment vulnerabilities and why data filtering is necessary in web applications.
- Attention to Detail: Ability to meticulously map attributes from models to controllers without missing fields that could break the UI.
- Tools: Experience with Git/GitHub for branching and pull requests.
- Desire to provide outstanding products and customer service. Extremely detail oriented and dedicated to follow through in all work. Focused on project quality, completeness and thoroughness.
- Experience participating in a team-based software development environment an asset.
Business Unit:
TeachworksScheduled Weekly Hours:
37.5Number of Openings Available:
1Worker Type:
Student (Fixed Term) (Trainee)More About Jonas Software:
Jonas Software is a leading provider of enterprise management software solutions, serving a wide range of vertical markets including hospitality, healthcare, construction, education, personal care, fitness, leisure, moving and legal services, to name a few. Within these markets, Jonas is comprised of over 65 distinct brands, each a respected leader in its domain.
Jonas’ vision is to be the branded global leader across these verticals and to be recognized by customers and industry stakeholders as the trusted provider of “Software for Life.” We are committed to technology, product innovation, quality, and exceptional customer service.
Jonas Software supports over 60,000 customers in more than 30 countries. We employ over 6,000 skilled professionals, including industry experts and technology specialists. Across our broader network, we support a global workforce of more than 30,000 employees.
Headquartered in Canada, Jonas Software has a global footprint with offices around the world. We’re a 100% owned subsidiary of Constellation Software Inc., based in Toronto, publicly listed on the TSX (CSU.TO), and a member of the S&P/TSX 60 Index.
