30.03.2017 Views

AAA_____

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Valentin Padurean<br />

Fullstack developer (Scala and JavaScript).<br />

38 Viitorului<br />

Sacele 505600, Brasov<br />

Romania<br />

(+40) 723 674 708<br />

vpadure@gmail.com<br />

https://github.com/padurean<br />

EXPERIENCE<br />

BITSoftware.eu, ​Brasov — ​Fullstack Scala & JavaScript<br />

developer (backend & frontend)<br />

January 2016 - Present<br />

Working on Paydemic.com (payment gateway + platform for magazines<br />

and newspapers to sell digital & printed content and subscriptions) and<br />

Plotto.com (web app for video surveys and online marketing campaigns):<br />

Coding AWS Lambdas in Scala behind API Gateway on the backend,<br />

SPAs UX design and implementation using JavaScript and React on the<br />

frontend.<br />

Eloquentix.com, ​Brasov — ​Scala developer (backend)<br />

May 2014 - May 2016<br />

- Working on a "Virtual Power Plants" (VPPs) web application for<br />

trading & dispatching of electrical energy on the german energy market<br />

& grid.<br />

SKILLS<br />

Functional programming<br />

Scala<br />

JavaScript<br />

LANGUAGES<br />

English (fluent written &<br />

spoken)<br />

French (needs some practice)<br />

German (beginner)<br />

- Due to legal & technical limitations of the markets (e.g. a minimum<br />

required energy production capacity of the plant), it makes sense for<br />

energy providers to associate and sell energy from several power plants<br />

as if a single plant was producing it. This tool allows one to create VPPs,<br />

which are abstractions of several real power plants into a single one.<br />

Application has a microservices architecture, components<br />

communicating with each other through REST APIs. I was mostly<br />

involved on three components:<br />

- DB Service<br />

- provides CRUD operations on a PostgreSQL database, but (not so<br />

fortunately) also some business logic.<br />

- Event Service<br />

- receives events from various other components, persists them<br />

through DB Service and dispatches them to subscribers using<br />

WebSockets<br />

- Notification Service<br />

- receives notification events from the Event Service component and<br />

transforms them into Email and/or SMS notifications based on


configured rules (e.g. based on user role ​ notification type mapping)<br />

- Also got in contact (small tasks) with other components like:<br />

- Asset Engine<br />

- component responsible with monitoring and steering real power<br />

plants<br />

- featured a power plant state machine (e.g. in outage, delivering,<br />

returning to normal, ...), implemented at first with Akka FSM and then<br />

rewritten using just Akka Actor’s become / unbecome.<br />

- VPP Engine<br />

- component dealing with virtual power plants ​ e.g. receiving<br />

commands to raise/lower the energy production, dividing the requested<br />

value unequally among real power plants and forwarding those<br />

commands to the real power plants.<br />

- All components were built on top of Scala & Play framework and were<br />

built using RX (Reactive Programming) concepts in order to have them<br />

as horizontally scalable as possible. To achieve this, any io-​bound<br />

processing has been implemented as much as possible by "tell ​ don't<br />

ask" asynchronous non-​blocking principles and techniques, using<br />

Scala's Futures or RX based on the Monix framework or Akka actors.<br />

- Idiomatic functional programming in Scala was applied as much as<br />

possible to leverage the type-safety, conciseness, maintainability and<br />

readability of the codebase<br />

- For Scala coding style, we used guides / rules like the ones described in<br />

Scala best practices (https://github.com/alexandru/scala-best-practices)<br />

(also some from Databricks Scala style Guide -<br />

https://github.com/databricks/scala-style-guide)<br />

- The development methodology was Scrum & Kanban, adapted as<br />

needed for remote teams, using tools like Redmine, ScrumDo.<br />

- Continuous integration was achieved using Jenkins CI. Also, there were<br />

some ongoing changes which aimed to lead the deployment process to<br />

Continuous Delivery, using Docker​-based deploys.<br />

- Technology:<br />

- Scala<br />

- Play framework<br />

- Akka<br />

- Hibernate<br />

- PostgreSQL<br />

- Flyway (for database migrations)<br />

- Monix (for reactive programming)<br />

- Junit, Specs2, ScalaTest


- sbt<br />

- Git, GitLab<br />

- Intellij Idea<br />

- OSX<br />

Siemens, ​Brasov — ​Java Developer (backend)<br />

December 2013 - May 2014<br />

- Worked on Soarian project for the healthcare sector, in a team having<br />

the main task to deliver medical data & in​-app tools to manipulate it<br />

(e.g. synchronize the medicines list in the system with the latest list<br />

emitted by official entity in US each month)<br />

- Technology:<br />

- Java<br />

- GWT<br />

EBS Romania​ (meanwhile acquired by NTT Data)​, ​Brasov<br />

— ​Java developer (backend)<br />

December 2012 - November 2013<br />

- Java developer for EBS Romania & NTT Data Germany on the "Daimler<br />

CRM" enterprise integration project (middleware providing integration<br />

between several CRM systems among which SalesForce.com).<br />

- Technology:<br />

- Java EE 6<br />

- IBM WebSphere Application Server 8.5<br />

- Oracle Database 11g<br />

- "Extension Platform" proprietary enterprise integration framework<br />

(similar to Apache Camel)<br />

- WebServices<br />

- JMS using ActiveMQ<br />

- Maven<br />

- Jenkins CI<br />

- JUnit<br />

- Mockito<br />

- Eclipse IDE<br />

- Mylyn<br />

- SalesForce.com Enterprise & Partner APIs (SOAP​).


Awinta GmBH, ​Brasov​ ​— ​Java developer (backend &<br />

frontend)<br />

March 2009 - November 2012<br />

- Ecommerce development (online pharmacies) using Java (Customized<br />

Apache Ofbiz framework), PostgreSQL, SOAP Web Services (Apache Axis<br />

1)<br />

- Development of JUMP n-tier application for pharmacies using<br />

proprietary J2EE framework based on JBoss & Sybase as RDBMS.<br />

- A desktop Java Swing-​based client application addresses all business<br />

needs for pharmacies, like selling, stock management, price conditions<br />

and ordering medicines at suppliers.<br />

- Development of IntelliCleaner desktop application which allows the<br />

user to import data records either from files (csv, fixed​-width format,<br />

excel), either directly from database tables (MySQL, PostgreSQL,<br />

HSQLDB supported) and then to perform fuzzy ​search operations on the<br />

imported data in order to find and eventually eliminate possible<br />

duplicate records.<br />

- Technology:<br />

- Java<br />

- Swing<br />

- MVC architecture<br />

- Apache Lucene<br />

- Spring<br />

- PostgreSQL<br />

- MySQL<br />

- HSQLDB<br />

- Hibernate<br />

- Development of Blistermed web application used in hospitals to create<br />

orders containing medication plans for various patients.<br />

- The client (frontend) communicates with back​end processes which<br />

forward the orders containing medication plans to a robot which<br />

prepares the medication doses (also splitting pills) for each order.<br />

- Technology:<br />

- Struts 1<br />

- JDBC<br />

- DB2


LMS Intl.​ (meanwhile acquired by Siemens)​, ​Brasov​ ​—<br />

C++ developer (desktop app for CAE - simulation of structures)<br />

March 2006 - March 2009<br />

- Development of the simulation software L MS Virtual.LAB used in<br />

mechanical engineering for the pre​ & post-​processing phases of<br />

structural FEA (Finite Element Analysis) .<br />

- Technology:<br />

- C++<br />

- CATIA V5 API / framework (app built on top of CATIA V5)<br />

Cambric Consulting​ (meanwhile acquired by Tata<br />

Motors)​, ​Brasov​ ​— ​PHP developer (backend & frontend)<br />

September 2005 - March 2006<br />

- Design & Development of intranet web applications used internally for<br />

resources management.<br />

- Technology:<br />

- HTML/CSS ○ JavaScript ○ PHP<br />

- MySQL<br />

- Photoshop<br />

Cambric Consulting​ (meanwhile acquired by Tata<br />

Motors)​, ​Brasov​ ​— ​CAD & CAE mechanical engineer<br />

January 2003 - September 2005<br />

- CAD (" Computer Aided Design") : mechanical design for automotive<br />

industry<br />

- Technology:<br />

- Pro/Engineer<br />

- CATIA V5<br />

- CAE ("Computer Aided Engineering") i.e. Finite Element Analysis<br />

(FEA): preprocessing, static and dynamic analysis and post-processing<br />

- Technology:<br />

- BetaCAE ANSA<br />

- MSC Patran<br />

- MSC Nastran<br />

- MSC Dytran<br />

Hip Media, ​Brasov​ ​— ​Web Design & integration<br />

March 2000 - December 2000<br />

- web & print layouts & ads/banners


- Technology:<br />

- Photoshop<br />

- Fireworks<br />

- Flash<br />

- integration & maintenance of web layouts (html/css/javascript)<br />

- Technology:<br />

- HTML<br />

- CSS<br />

- JavaScript<br />

- PHP<br />

EDUCATION<br />

Product Design @ Technological Engineering faculty,<br />

Transilvania University, Brasov, Romania<br />

www2.unitbv.ro/dpm<br />

1998 - 2003<br />

Mathematics & Physics @ ”Andrei Saguna” highschool,<br />

Brasov, Romania<br />

1994 - 1998

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!