About the Team Hiring
As a manufacturer of high-performance BIM applications, GRAITEC focuses its energy in becoming a truly international Design, Simulation, Fabrication and Data Management software developer for the construction industry around the world.
The R&D division of GRAITEC is a diverse, multicultural environment, with a wide range of experienced professionals, with strong technical / interpersonal skills and a dedication to excellence. Cantered in Romania, the R&D team also operates locally, in France, UK, Canada, Czech Republic, Germany and Poland, working alongside the Product Management Team in offering top-notch solutions to the AEC sector.
We offer a rewarding working environment, together with comprehensive and ongoing learning, where personal initiative and development are encouraged and the freedom in implementing ideas that people consider beneficial for the company’s activity.
Overview
Role purpose/Objective
Software Developers are responsible for writing and implementing efficient code for new or existing software inside GRAITEC product portfolio: researching, designing, implementing, and managing software programs, testing and evaluating, identifying areas for modification in existing programs and developing these modifications.
Key Responsibilities Development:
- Has a global understanding of the architecture of allocated applications
- Ensure clear and structured programming, keeping performance, maintenance and compatibility requirements in mind
- Develops software programs, modules, and algorithms for projects, following the specific requirements and company guidelines;
- Designs, implements and modifies the structure of the databases necessary to achieve the required implementations;
- Is preoccupied with ensuring the best possible quality of implementations;
- Maintains existing programs by making changes following requirements;
- Configures the applications necessary to carry out the activity;
- Writes specifications for the development of computer programs and describes the architecture of the developed component;
- Submits technical reports for developments or for other topics of interest for ongoing projects;
- Makes proposals for software research and development topics. Testing · Creates automatic tests for the carried-out implementations;
- Tests the carried-out implementations/modifications;
- Documents the source code;
- Meets programming, documentation, and testing standards and conventions;
- Promptly solves the problems that arise in the area of competence;
Key Metrics:
- Delivery of development on time as expected by manager
- Minimal return rate from testing team on your development that translate into high quality production
- Bugs tracked and fixed in timely manner for allocated development
- Complete 2 trainings per year as defined in developers’ roadmap
Responsibilities & Qualifications
- Bachelor’s degree in computer science, computer engineering or equivalent
- 5+ years of relevant experience as a Software Developer
- Proficiency in C# with a fair knowledge of the language specification.
- Experience with ASP.NET
- Experience in object-oriented programming (OOP): encapsulation, inheritance, polymorphism, templates.
- Experience with Microsoft SQL Server, MySQL or Oracle databases
- Experience in agile team setup, e.g. Scrum and/or Kanban
- Reading and interpreting pre-existing code
- Experience of applying automation tools for building software, testing, and deployment
- Proven experience of the software development lifecycle in a commercial environment.
- A track record of delivering complex technical solutions to production use
- Infrastructure and DevOps tools knowledge: Azure DevOps, Git, CI/CD etc
- Previous experience with Cloud technologies, (Private or Public)
- Fluency in English (spoken/written);
- Organized with the ability to prioritize own workload and adhere to deadlines.
- Ability to work as part of a team with good communication skills
- Strong troubleshooting and problem-solving skills
- Attention to details
- Self-taught, pro-active and self-motivated
- Ability to share their knowledge
Nice to have:
- Experience with modern JavaScript libraries and tooling (e.g. React, Angular, Vue)
- Experience with source control systems, such as Git or SVN
- Understanding of lazy loading, and other performance optimization techniques
Interview Process
- Screening/Get to know discussion
- Technical assessment
- Peer of hiring manager or key stakeholder