How do we work
Friendly atmosphere and ambitious projects
Tools
In terms of hardware, new employees can count on a powerful laptop and a 22-inch monitor. For development tools for the data layer, we use PostgreSQL or MySQL, and for demanding projects, Oracle. The code is versioned using GitLab with merge made by selected developers. We use a continuous integration server in each project. Unit tests are performed with JUnit or PHPUnit and manual tests are automated with Selenium.
Java developers use Netbeans or Eclipse. Here, the technology stack is based on Spring Framework, Spring MVC, Thymeleaf, and JPA.
PHP coders use their preferred IDE (Netbeans, PHPStorm), with most projects being based on our Yii derivative framework.
Quality
We believe that the foundation of good code is a comprehensive specification and broadly covered test scenarios. Therefore, we use the best practices of Test Driven Development, use the aforementioned continuous integration server and version databases. Our team also includes dedicated testers who report bugs in the Redmine system. More information on this.
Organization
The company is organized into 2 divisions, several developers each. There are 2-3 project managers in each branch who are responsible for contact with clients, distribution of tasks, and monitoring of the schedule. Managers report to the management board, which oversees the project and is responsible for sales, organizational matters, and the architecture of the developed software.
Everyday work
Programmers work in two types of projects: implementation and maintenance projects. The first concerns the development of new, dedicated software, which ends with implementation. The second type is both ensuring business continuity and introducing changes to the existing systems. We are not orthodox when it comes to methodologies and we use selected best practices with a significant predominance of Agile methodologies, in particular Scrum. The schedule of each project is divided into iterations that last 2-3 weeks and end with a working version.
Full-Stack or Specialization?
Above all, moderation. Currently, becoming a Full Stack Developer is extremely difficult. At 3e, we believe that every developer should have the core technology that they feel confident in. Because the projects we implement consist of many components, we believe that it is also good to have a solid foundation in other areas.