Have you ever wondered what Functional Programming is all about? What makes it so unique? And what do we need in order to start? Well, today we will introduce to you Nikolay Penchev - Senior Software Developer at Funding Circle’s team at Questers with a decade of experience in the IT field, specifically in Distributed Systems, Rest APIs and Front-end development. He is also a Mensa member, a Canadian wrestling champion, and a Functional programming enthusiast.
Furthermore, Nikolay will be a guest speaker at webinar organized by SoftUni. In it, he will talk about functional thinking, including examples using Java and Clojure.
Continue reading if you want to find out more information.
1. Hello, Nikolay! You are part of the Funding Circle team at Questers; tell us more about yourself and your work.
I am a father, husband, arm wrestler, and a software developer. Even at the young age of 6-7, I was always interested in computers. Currently, I am a software developer in Funding Circle US, focusing mainly on backend development. I changed the team and the project’s domain at the beginning of December. Before that, I was in Funding Circle's Servicing domain working on projects related to the moment after the loan has been originated (ledgers, reports, calculations). This Servicing domain contains over 20 applications (microservices), mainly written in Clojure/Clojure Script. Right now, I am working on the origination domain, where the technology stack is mostly based on Ruby.
2. So, why do you think the software development path is among the most prospective career opportunities that one can choose?
Software development is a rapidly growing field, and the demand for skilled developers is increasing yearly. The growth of technology and the increasing dependence of businesses and individuals on software for day-to-day activities have led to a surge in demand for developers who can design, develop and maintain software systems.
Moreover, the development of new technologies, such as artificial intelligence, machine learning, blockchain, and the Internet of Things (IoT), are creating new opportunities for software developers. As these technologies continue to grow and evolve, the demand for skilled developers who can design and develop innovative solutions will continue to increase.
In addition, software development can be a very rewarding career, both financially and intellectually. Developers often have the opportunity to work on cutting-edge projects, collaborate with talented colleagues, and make a real impact on the world through the software they develop.
Finally, software development is a career that allows for flexibility in terms of working arrangements. Many developers work remotely or have the option to work flexible hours, making it an attractive option for those who want to keep their work-life balance.
Overall, software development can be a promising career path for those who have a passion for technology and are willing to learn and adapt to new technologies and tools continually.
3. What excites you most about your work? And what made you personally go in this direction?
The constant innovation and challenges in my work is something I am excited about. I am tasked with resolving complex problems and developing new solutions that can improve people's lives, increase efficiency, and help businesses grow. The opportunity to learn and work with new technologies and tools is also a great motivator, as I need to explore and experiment with the latest developments in our field.
As for what made me go in this direction, there are various reasons. However, I may have been drawn to the creativity and problem-solving aspects of programming.
4. You’ll be a lecturer at SoftUni's webinar "Functional thinking (examples using Clojure and Java)". Can you share some details about it? What will participants learn during the webinar?
I am preparing and organizing this webinar in cooperation with my colleague Dimitar Yoldov.
Our main idea is to illustrate the fact that functional development is more a way of thinking than using a specific language or framework. A major part of the presentation will focus on how immutability and pure functions can make our lives easier and they are the core of the functional paradigm. We explore the fundamentals of currying, lazy evaluation and persistent data structures, with examples in Java and Clojure.
5. If you had to give an advice to future software developers, what would it be?
If I had to provide advice to aspiring software developers, I would suggest a few points:
- Keep learning: The technology industry is constantly evolving, so it's essential to stay up-to-date with the latest developments in programming languages, frameworks, and tools.Make a habit of learning new things regularly, and don't be afraid to experiment with new technologies.
- Write clean and maintainable code: Writing code that is easy to read, understand, and maintain is essential for long-term success as a software developer. Follow best practices for coding standards, documentation, and testing to ensure that your code is both efficient and easy to work with.
- Collaborate with others: Software development is a team effort, so it's important to learn how to work effectively with others. Practice good communication skills, be open to feedback and don't be afraid to ask for help when you need it.
- Embrace challenges: Software development can be challenging, but it's also incredibly rewarding. Embrace difficult tasks as opportunities to learn and grow, and don't be afraid to take on new and exciting projects.
- Have fun: Above all, software development should be a fun and engaging career. If you enjoy what you do, you'll be more motivated to learn, grow, and succeed. So, don't forget to have fun along the way!
We know we intrigued you! Register now for the "Functional thinking (examples using Clojure and Java)" webinar on March 22, 2023 at 19:00 with Nikolay Penchev. And if you are interested in finding out the current open positions in the Funding Circle team, don't forget to apply!