About the Role
This role involves transforming functional and non-functional requirements into scalable software designs and implementations, with a focus on delivering business value and exceptional customer experiences.
Responsibilities
- Writes efficient and maintainable code using programming, scripting, and database technologies to fulfill specifications and enhance system performance.
- Evaluates and integrates reusable software components, libraries, and frameworks into new or existing systems.
- Follows industry-standard software development practices such as coding standards, secure coding techniques, peer reviews, version control, automated builds, testing, and operational considerations.
- Participates in analyzing functional and non-functional requirements and provides effort estimations.
- Supports the testing, deployment, and ongoing maintenance of software by fixing bugs, adapting to changing requirements, and implementing improvements.
- Designs and structures software systems using appropriate functions, design patterns, and architectural layers.
- Creates clear documentation and visual representations including code comments, diagrams, layouts, and charts to illustrate technical solutions.
- Contributes to software architecture activities such as requirement interpretation, technical research, and technology evaluation.
- Develops large and complex software modules while adhering to quality standards, timelines, and budget constraints.
- Conducts design and code reviews and evaluates opportunities for performance optimization.
- Supports and advances the organization’s technical governance framework.
- Prepares cost estimates and quotations for software development tasks.
- Diagnoses and resolves intricate technical issues across software systems.
- Provides mentorship and may lead a small team of software engineers.
- Performs development and maintenance on applications with Angular-based frontends and Java-based backends.
- Designs and builds user interfaces with a focus on usability and positive user experience.
- Implements UI components based on functional prototypes and visual design assets.
- Develops backend services using Java programming language.
- Maintains and enhances Jenkins-based CI/CD pipelines.
- Applies sound code design principles and writes unit tests for own code.
- Analyzes software requirements and collaborates with core engineering teams, analysts, and product managers.
- Produces comprehensive technical documentation.
- Reviews teammates' code to ensure quality, consistency, and adherence to best practices.
Requirements
- Minimum of 3 to 5 years of professional software development experience.
- Proficiency in TypeScript.
- Experience with Angular framework.
- Strong knowledge of Java.
- Familiarity with Spring framework.
- Experience using Maven for build automation.
- Working knowledge of MariaDB or MySQL databases.
- Experience with RxJS for reactive programming.
- Proficiency in HTML and SCSS for frontend development.
- Experience writing and executing unit tests.
- Familiarity with Docker containerization.
- Proficient with Git for version control.
Nice to Have
- Experience with Jenkins for continuous integration.
- Knowledge of Kubernetes for container orchestration.
- Hands-on experience with Atlassian tools including Jira, Confluence, and Bitbucket.
- Understanding of CI/CD pipelines and practices.
- Experience working with Microsoft Azure cloud platform.
Purpose
This role transforms requirements into software according to design, to maximize business value and customer satisfaction.
Key Missions
- Uses programming, scripting and database languages to write software code that meets requirements and that optimizes software performances
- Identifies existing software components, libraries and frameworks to reuse in the solutions
- Applies knowledge of software development best practices, including coding standards, secure coding, code reviews, source control management, build processes, testing, and operations
- Contributes to requirement (functional and non-functional) analysis and estimations
- Supports software testing, deployment, maintenance, and evolution activities by correcting programming errors, responding to scope changes, and coding software enhancements
- Builds up software structure including functions, design patterns, layers, etc.
- Documents and demonstrates solutions by developing code comments, layouts, diagrams and charts
- Contributes to Software architecture (specification analysis, technical studies, technology assessment, etc.)
- Codes large and complex modules within agreed quality, deadline and cost
- Performs design and code reviews and assess software performance optimization
- Contributes and promotes the organization's technical governance
- Produce quotations
- Performs complex troubleshooting
- Coaches and can manage a small team of Software Development Engineers
Profile & Other Information
- Min. 3-5 years of comercial experience
- TypeScript
- Angular
- Java
- Spring
- Maven
- MariaDB/MySQL
- RxJS
- HTML & SCSS
- Unit testing
- Docker
- Git
- Jenkins
- Kubernetes
- Experience with Altasian tools – Jira, Confluence, Bitbucket
- Knowledge of CI/CD
- Experience in Azure
- Development and maintenance in project with Angular based frontend and Java backend service.
- Design and implement UI keeping good user experience
- Implementation of user interfaces based on functional mock-ups and graphic designs
- Ability to develop backend in Java
- Maintenance of Jenkins pipeline
- Actively using „good code design rules” and writing tests to own code
- Analysis of requirements, cooperation with core team, analytics and product managers
- Creating technical documentation
