After graduating from college with majors in biology and history, Alexander Lang decided he wanted to work on something a little more tangible. So he enrolled in a coding bootcamp.
After the program, Lang met several developers from NextCapital whose friendliness and enthusiasm, along with the company’s mission, sold him on joining the team. Today, he is a developer team lead, building software that helps investors create and follow personalized financial plans.
“Working at NextCapital represented an opportunity to build something that people would use, which would also be solving a tangible real-world problem,” said Lang. “I can go to work every day knowing that I am helping build something that is preparing people to achieve their financial goals.”
We spoke with Lang about his career path, his day-to-day work and what NextCapital looks for in the engineers it hires.
We have a great group here, and many people have formed genuine friendships.”
What’s your career track at NextCapital been like?
I started off handling smaller development tasks while working closely with my mentor. As time went on, I was assigned more complex features and bug fixes before ultimately joining a small team that was prototyping some new internal libraries. I gained more responsibility, eventually serving as the dev lead for the team. Now I am dev lead for two other teams in order to get exposed to different parts of our codebase.
What does your day-to-day work look like today?
I currently work on the team most directly involved in generating and conveying investment advice for our users. This offers a host of challenges, chiefly ensuring that the advice is accurate and precise while still highly configurable for different use cases. As a result, I am actively writing code every day, be it for new features that are in development or to resolve bugs before they reach production.
I review code written by my team members to ensure that it meets NextCapital’s standards and to provide constructive feedback that challenges them to grow as developers. I also frequently partake in discussions about the design of new features.
What are the most interesting technical challenges your team is working to address?
Because we partner with large financial institutions, the NextCapital application needs to be both scalable and highly configurable. On my current team, we need to ensure that our partners can customize the methodology behind the advice investors receive — from when they should retire to portfolio allocation, and everything in between. Multitenancy (that is, serving multiple clients with different needs) creates many of the challenges my team faces, and implementing it requires an architecture based on abstraction.
What technologies do you rely on to address them?
Server-side, we use Java and Ruby on Rails, and on the front end we use React and AngularJS. All new front-end development is happening in React. We also have a number of proprietary libraries we developed to meet needs for which we could not find a suitable open source option. This allows us to rapidly develop new software. And individual teams have the autonomy to explore open-source solutions for their specific needs.
What is your favorite thing about NextCapital's culture?
We have a great group here, and many people have formed genuine friendships. We have social events both sponsored and spontaneous, softball and volleyball teams, collaborative Spotify playlists, and other activities.
From a work standpoint, there is a great culture of sharing knowledge and expertise. That was on display recently as one team raced to meet a deadline and brought on developers from other teams to help out. Since the other developers were unfamiliar with the framework, the responsible team held daily presentations and office hours to address questions and work as efficiently as possible.
What do you look for in new team members?
We focus on problem-solving ability and coding fundamentals. Strong developers can rapidly pick up new languages, so we do not get bogged down in specific languages and frameworks. Instead, we want the best available developers who will continue to grow as developers and contribute to the team. Those who succeed also tend to be those who are capable of working independently, yet unafraid of asking for help, and who are willing to take on new responsibilities as they come up.