Software Developer
Location: GR, I, Athens
Department: Engineering
Employment type: Full-time
Required experience: Mid-Senior level
Industry: Telecommunications
Function: Engineering

Company profile:
Upstream’s mission is to revolutionise the way companies market to consumers through cutting edge technology. This is an opportunity to collaborate with like-minded people in an environment that embraces individual differences and diversity.We offer a challenging and stimulating environment in which employees have the opportunity to work on a vast range of complex projects at the forefront of technical innovation. We are looking for creative, enthusiastic and open-minded individuals to join our innovative team to help both drive our success and uphold our existing reputation within the marketing technology world.What we believeOur values of integrity, perseverance, innovation and respect are at the heart of our company. Our actions are underpinned by these four values, which have become central to Upstream, providing all of our employees with a clear framework from which to make their decisions.1. Integrity &amp; TrustYou are widely trusted and seen as a direct and truthful individual. You present the unvarnished truth in an appropriate and helpful manner, keeping confidences and admitting mistakes without misrepresenting themselves for personal gain.2. PerseveranceYou pursue work and life with energy, drive and a need to finish; you seldom give up before finishing, especially in the face of resistance or setbacks.3. InnovationYou have good judgement about which creative ideas and suggestions will work and a sense about managing the creative process of others. You have the ability to facilitate effective brainstorming and project how potential ideas may play out in the marketplace.4. RespectYou invest time in peers and demonstrates value and reverence for others when due, encouraging co-workers to express opinions and ideas. You promote equality within the workplace, encouraging praise and recognition from employee to employee as well as from the superiors. Professional Development at UpstreamUpstream offers a variety of resources and a range of opportunities to inspire the best possible performance from our employees. Our vast range of departments and global activities provide a strong platform for career development and professional progression. We boast various methods of progression within the company; whether through an upward advancement within a chosen field, expansion across departments or relocation to another office, creating the opportunity to gain both valuable experience and further insight into the international workings of the business. At Upstream, employees have the opportunity to learn new skills, work across different disciplines and global departments and move into new challenges, all within the same company.

Job description:
As a Software Developer you will be part of a very competent software team and you will contribute in all phases of the development process. You will be responsible for Java/Java EE application development, supporting business objectives while providing expertise in full software development lifecycle, from concept and design to testing. You will analyze, design and build component-based applications in an enterprise Web/internet delivery environment, including introduction of an application layer, modelling techniques, component and object-oriented design, complex algorithmic coding, and systematic approaches to application integration. You will perform hands-on coding and assist in architecting solutions. You must have in-depth knowledge of working on high volume, low latency, real-time multithreaded platforms of mission-critical systems. Key AccountabilitiesDevelop high-quality applications for mission-critical systems, delivering high-availability and performance.Contribute in all phases of the development lifecycle.Balance time to market with the perfect solution.Maintain a high level of transparency on design and development activities.Ensure designs are in compliance with specifications and that specifications cover all needed aspects of the implementation.Create design documentation and review and provide feedback on test plans.Maintain structured comments in the code.Unit testing of application modules.Prepare release notes for turnover to testing, including configuration specifications and details of changes in each release.Support continuous improvement by investigating alternatives and technologies and presenting these for architectural review.

Requirements:
Knowledge, Skills and ExperienceBSc/MSc in Computer Science or equivalent.2 -5 years of full time Software Development experience in a product company is required, along with a minimum of 2 years on Java.Hands on experience in designing and developing applications using Java SE / EE platforms.Object Oriented Analysis and Design.Excellent knowledge of SQL.Strong team player with excellent written and verbal communication skills.Must be dependable, reliable, and have attention to detail. Understanding of the application development and deployment life cycle and methodologies is a must.Must demonstrate ability to multitask and thrive in a dynamic environment and ability to balance and prioritize activities to ensure critical items are addressed.Personal CharacteristicsAbility to work well under pressure with track record of meeting deadlines in sometimes challenging situations.Team player.Dependable, reliable, with clear thinking and attention to detail.Flexible work style to get the job done without compromising quality standards.Attention to detail. 

Benefits:
We offer a very competitive base salary and benefits, directly dependent on candidates’ qualifications and skills. By joining the development team, you will be exposed to an international environment in a very dynamic and progressive group