Category Archives: Uncategorized

The Chief Architect Crossover is Looking For – Exclusive Interview With Luciano Bargmann

diretorCrossover is functioning in Turkey since 12 months. In the mean time we hired 40 senior professionals and we’re moving forward. Toughness of our evaluation process was always a discussion. Crossover is applying a 3 days project assignent to it’s candidates and super picky in terms of finding top talent around the world. This is why I wanted to make an interview with Crossover’s tech evaluation head Luciano Bargmann.

Understanding of a software architect is very different in Turkey and US markets. Luciano’s going to tell us about characteristics of “the chief architect” which makes $100k a year.

1) Can you tell us about yourself a bit for our audience? Where’re you from? What were you doing before Crossover? What do you do at Crossover?
I’m Luciano Bargmann, Principal of Technical Evaluation at Crossover. I am from Brazil, and I have a deep passion for technology. Before Crossover I worked at Dell, HP as a Software Architect, CTO, IT Director and also had my own company. At Crossover I lead a team of architects that create, evaluate and interview candidates for technical positions at Crossover.

2) What’s biggest challenge of leading a tech evaluation team?
Keeping the balance between speed and quality of evaluations. Also, a fun challenge is to create new tests, with scenarios that can assess daily activities of the candidate in a real job.

3) I know that you’re currently working with huge demand on Java Chief Architect position. What does a Java Chief Architect do after getting hired via Crossover?
He is the technology reference for the team, being a technical leader and many times wearing the CTO hat for a product; He will face hands on work, within challenging projects and will review development processes to drive the team productivity up in a continuous improvement pace;

20160718_093807

4) What’s the key difference between an Architect and a Chief Architect for Java?
An Architect is an experienced person, responsible for one small/medium software product or a large component in a large codebase and with a very deep understanding of one language such as Java. He is someone that had lots of night without sleep trying to deliver code close to a deadline. An Architect has some bruises from deployed products, such as performance issues, show-stopper bugs and system outages to name a few. The architect is also familiar with coding techniques and patterns that allow the software to be incrementally updated, where adding new features won’t cost a ton of money and will not break the entire system. The Chief Architect is all this, and his scope is all projects in the portfolio. The CA can guide several projects in parallel, by providing a technology vision to be followed. He is the cornerstone of knowledge and must take the hard decisions.

5) Can you tell us about “The Chief Architect” you’re looking for? What would you expect during test and evaluation process from a role model Chief? Any wow factors you’d like to share? Any stories?
We are looking for people that are smart and that get things done. They must be experienced and up-to-date with the latest technologies. Must have a broader hands-on knowledge on other technologies and languages, know about all aspects of software development and can select the best tool for the job, where the tool can be a framework, a database, or a front-end solution. The wow factor comes with getting things done. We are looking for people that can share a couple stories of big projects that they had a key role.

20151228_105631

6) In terms of technical evaluation, how long does it take to be a Java CA at Crossover?
We run a series of tests and our goal is to select the best of the best, la crème de la crème. We would love to have the entire process to take just a day, but remember my challenge: balance between speed and quality. So we will require you to go through a few steps and the entire process can take for 5 to 15 days.

7) Some say expecting up-to-date hands-on coding experience from 15 years experienced SEMs and CAs isn’t fair, what do you think about this? Why does Crossover require hands-on coding experience from almost all of the technical candidates?
This is a great question. Hands-on managers and CAs are a winning strategy at Crossover and it yields great results. The reason is simple: You are running a team of top notch coders. If they ever feel that you don’t know your mojo, you will not be respected by them, and this usually leads to a project failure. Our leaders know what they are talking about and can sustain their decisions with strong technical arguments.

Being a Chief Architect at Crossover

Crossover evaluation process provides two important values to candidates, first is a chance to see how a global software company recruits and second is a chance to develop/align themselves on these engineering methods and learn how they can learn more about these software engineering aspects.

All these carefully planned tests and evaluations are a good chance to remember basic knowledge and learn new technologies which is mandatory especially in project development stage.

Let’s begin with Chief Architect positions at Crossover which pays $100k a year.

Typical test and evaluation process has 3 steps:

one1. Stage: Multiple Selection Test and A Bit Of Coding

Before starting your test you may want to register individually to HackerRank so that you can make some practice and understand how the platform works. Crossover is conducting tests in partnership with HackerRank so you’ll be redirected to this platform right after you click “Star” button for your first test. But you must know that questions being asked by Crossover is 100% different than what HackerRank has open to public.

There’s about 19-20 questions in this test. At most, 3 of them can be small coding questions which you’ll have to perform in text boxes at the same page. For example, they may give you an empty class and ask you to count words in a sentence with a specific letter in it.

Especially taking a good look at Java 7, Nio 2, Java 8 Streams, Lambda Expressions before taking this test can be a great idea.

Plus, since there’s minor similarity with Oracle Certified Java Developer exams, working on their questions can be a good practice. (For example: Integer in Java caches internally by JVM between -127 and +128).

two2. Stage: Project Development

This stage is available to candidates who passed 1st stage and expected to be activated in following 3-7 days by the candidate. Project scenarios usually requires between 1-5 days but most probably you’ll receive a 3 days scenario.

There are several scenarios where system expects you to design and implement a project from scratch or expects you to code review and fix a problematic system.

There can be scenarios like an Airline Reservation System, Single Sign-On Server, Airport Weather Sensor etc. You’re expected to use recent technology with a proper system design for your scenario.

Out of recent technologies you can use micro-service architecture supporting open source libraries like Spring, Spring Boot. Candidate is free to choose.

Here’s desired outcomes for this stage;

    • Project High Level Design Document
    • Project Diagram in any format (Can be UML)
    • Video screencast with your voice in English where you describe your project to hypothetical team mates of yours.
    • Source codes of your project.
    • Test codes in your project (front-end, junit, mockito etc. frameworks, integration tests)
    • Your comments on your project, extension points, uncompleted parts, (which you made design but couldn’t find time to complete implementation or you left for your team.)

Since this step has a time limitation preparing your environment before you begin can save you a ton of time to focus on your actual project.

    • By using Spring, Spring Boot you may want to create a sample project based on Maven. You can use an open source project (For example: apache commons)
    • By scanning this example project with SonarQube (http://www.sonarqube.org/downloads/) and learning how to measure quality with SonarQube to apply same methods for your actual project.
    • To properly make code coverage measurement of your project you may want to install (SonarQube, JaCoCo Plugin, Clover etc.)
    • Preparing an example design document by including UML developing plugins to save more time.
    • For projects involving front-end creating a sample project and a template with (AngularJS, ReactJS)
    • This is one of the most important subjects, you must re-read all commonly used design patterns and take a second look even if you’re familiar. While you’re coding your project you can use a single pattern or a combination of patterns and describe in documents about why you did so.

Folder structure of your project is explained in scenario given. So you’ll have to align with it and create your zip archive file accordingly. If there’s any red lines you’ll have to align you’ll know since the project will be evaluated first by an auto-scoring software.

three3. Stage: Technical Interview

Candidates who passed project evaluation stage is being invited to this stage which is the final one. You’ll receive questions on both technical and business side of your profession. Technical part is mostly beginning with you starting to tell your story on software architecture. You’re being measured for English knowledge, stress management skills, self confidence etc.

Some candidates are being asked to write sample codes on Notepad or a Google Drive document. This is to determine if the candidate has full knowledge and speed on syntax. You can show your experience here. Plus you’ll most probably have a discussion on design patterns and usage of em. Focusing on practicing differences between commonly used design patterns is a good idea.

As a sample work, you may be given a live project design task like twitter.com. In this case making requirement analysis, addressing high level design steps and preparing details is a great idea.

If tech side is positive you may receive business questions. In this case you may receive questions about business plan definition, a sample of it etc.

If you can complete interview and get acceptance with it, you receive offers from software enterprises and start your full time remote work life in couple of days.