DEV Community

I'm Engineering Director at a Fintech(have experience creating apps using Django/Ionic/Docker/AWS(ton of it), Ask Me Anything!

Levi Velázquez on March 22, 2019

Collapse
 
alanhylands profile image
Alan Hylands

What size of data team overall are you working with and what is the split (engineering vs DS/ML)?

I've worked in analytics in traditional retail banking for the past 12 years which has been a time of great change in our area as you can imagine. I'm always interested to see how fintechs are approaching things especially being able to come into a market without the weight of legacy infrastructure holding them back.

Collapse
 
levivm profile image
Levi Velázquez • Edited

Yep, we have 5 scientists and 3 data engineers. Of course, we have an infrastructure team to handle environment creation. Now, AWS offers a lot of services in a "serverless / on-demand" mode, so you don't need to have huge instances running all day, using services on-demand could save thousands of dollars in infrastructure. Therefore, it helps you to implement your Algorithms and an ETL's. We do credit scoring using ML, so, this is a key feature for us.

We have more scientists than engineers because we are doing experimental researches. But, is a good approach to have an equal(more or less) amount on both teams.

If you have more complex questions, feel free to ask me, just send me an email. You can get it on my profile.

Collapse
 
alanhylands profile image
Alan Hylands

Thanks Levi, appreciate the answers. It's a very interesting space in the financial world. I'll definitely be in touch.

Collapse
 
l0x0s profile image
l0x0s

what is your typical day made of ?

I guess it's a small company and innovative one, what do you enjoy the most regarding these two aspects ?

regarding your experience, and if you could speak to your younger-self, what advise would you give him ?

thanks for your time!

Collapse
 
levivm profile image
Levi Velázquez

what is your typical day made of ?

  • A lot of meetings
  • Looking for improving the current process using new technologies or services
  • Due to our business, we create a lot of integrations, so even when we have some standards, every partner as different requirements, so you need to design the most secure/well-perfomance architecture to implement your solution. So, I spend a lot of time doing architecture/techninal design (end-to-end) for our products.
  • I do a lot of code review (Because I like it)

I guess it's a small company and an innovative one, what do you enjoy the most regarding these two aspects ?

  • The company is growing exponentially, but yes, I enjoy both, we are doing a lot of cool projects, in the financial area the existing tech is kinda old, so you have plenty of space for innovation, this is the thing I love most of this job.

regarding your experience, and if you could speak to your younger-self, what advise would you give him ?
Due to my demographic condition (I'm from Venezuela, you know there is a huge crisis), I wanted to advise to my younger-self to leave the country as soon as possible(I don't live in Venezuela anymore), I spent like 3 years in Venezuela after getting my grade. I should leave the country earlier.

Also, I should have started a tech blog earlier. The best way to learn is teaching.

Collapse
 
l0x0s profile image
l0x0s

thanks for the detailed answer!
I really like what your describing.

why the best way to learn is teaching ? is it because when you have to teach it, you're force to know the subject perfectly ?

Thread Thread
 
levivm profile image
Levi Velázquez

Yep, absolutely, when you are teaching, you try to understand everything because you need to explain it. So, it is "auto-forcing-learning" process.

Collapse
 
spekulatius1984 profile image
Peter Thaleikis 🍪

What do you experience are the main differences between being a Lead engineer/dev and Engineering Director?

Collapse
 
levivm profile image
Levi Velázquez • Edited
  • as engineering director, you will have more responsibilities, you won’t be in charge just one team but many. Most cases Lead Developer leads one team. In my case, I needed to coordinate 4 teams ( development (backend-frontend), infrastructure, data engineering and data scientist ).
  • as engineering director you need to design the projects architecture considering a lot of factors, interdependencies between teams, business requirements, etc. As a lead developer you are focused on how to solve in a deeper way the task assigned to your area.
  • engineering director must have a better understanding of the business, you need to have a general knowledge about all technical teams/processes of the company. Lead Developer is the one with the most understanding but over his area.
  • engineering director isn’t focus only on technical part, he needs to be able to handle teams relationship as well, spot red flags ( bad performance due to several reason, some of them, personal ones, etc). Also , escalate team needs( equipments, better work environment, etc ). He is going to be the bridge between the company technical part and the rest of the organization.
  • Lead developer can do better performance measurements over his team and the report back to the director. Engineering director do the same but over the leaders.

In my case, I love to be involved as much as I can in the development process as well ( because I love to code ) but, sometimes, it’s not about working more but working smarter, sometimes giving the right guidelines for a project development process has more impact than any code lines you can write.

Most important advice, not matter if you are lead developer or engineering director, you always need to be sure to be a Leader not a Boss, the lead teachs giving the example. If your team needs to stay until late because a deadline, do the same with them, if your team has a difficulty solving any task, try to help them, that sends a strong message, then when juniors, seniors become leads, they will try to do the same.

Final comment: It is important to learn how delegated things, it could sounds obvious but isn’t. It is important trusting your people and give them the tools for being self-accountables.

Collapse
 
spekulatius1984 profile image
Peter Thaleikis 🍪

Hello Levi,

thanks for the detailed reply. Good points. Delegating things (and sometimes leading) is still tough. I guess I should get this sorted before I consider any other position.

-- Peter

Collapse
 
niorad profile image
Antonio Radovcic

What are examples of security-measures you have to take, that wouldn‘t be necessary in a non-finance-area.

Collapse
 
levivm profile image
Levi Velázquez

Well, if your fintech is going to handle/store credit card data, you need to be PCI compliant. This certification is tough. You need to put a lot of security policies in place like:

  • You can't access a "PCI" database using an external connection/interface unless you have a DBA in place. This could b
  • Every time you add an external connection to your PCI Environment, you need to increase the scope (it means doing a lot of validations)
  • There a lot of password policies (Reset them every 60 days, log out automatically every 7 days, etc)
  • Networking policies are the hardest one.
  • You need to do risk assessments for every environment that could interact with your PCI environment.
  • There a lot of rules, it could take like 6 months to get PCI certification over "mid complex" environment.

Also, most times, fintech handles a lot of sensitive data, this is not only related to fintechs but any sensitive project. So, we have architecture design rules for storing/handling this data.

For example, if you need to create reports or any process using sensitive data, we do it using microservices, we create an isolated environment that will be in charge of accessing to that data in order to execute a process. It is totally separated from our core system, no-one is able to access to it except that sensitive-mircroservice. So, if you main core is compromised, your sensitive data will be safe, of course, at the beginning is going to be hard to debug because you need to do manual process/controlled process in order to check the data.

Most important, Encryption, for sensitive data we use a lot of encryption, it is important to no re-invent the wheel, you can use services as AWS KMS (Key Management Service), it provides a lot of features regarding data encryption and security.

If you have any other question, feel free to ask.

Collapse
 
niorad profile image
Antonio Radovcic

Thanks! Very insightful.

I'm a bit interested in security-implications in fintech ever since that sh**show that was N26 in Germany, security-wise.

Thread Thread
 
levivm profile image
Levi Velázquez

Oh, I didn't know about that issue, very interesting lecture.

Collapse
 
jorgemasta profile image
Jorge Masta

Django vs Serverless

Collapse
 
levivm profile image
Levi Velázquez

You can use both of them. You can use zappa to upload your Django project and execute periodic tasks using AWS Lambdas(Serverless). If your task is too complex, you can trigger a Lambda to queue a task and then your django task manager can process it.

Collapse
 
conw_y profile image
Jonathan

How good is the pay in FinTech? Is it anything like Banking or Tech?

Collapse
 
levivm profile image
Levi Velázquez

It depends, there are a lot of factors, based country, position, etc. But for me, it is more like a tech, because at the end, a Fintech uses technology to improve financial processes.

Collapse
 
joelopezcuenca profile image
Joe Lopez Cuenca

What apps or apis should i use instead of building everything from scratch?

Im working in a fintech core system basee on user accounts, balance and bank integrations for transactions