Skip to main content
Category

Tech

Virtual Chat | The Shortest Commute Ever: How to Set Up a High-Functioning Remote Workforce

By Blog, Tech

As part of our Virtual Open House, Carrie Pinkham (VP People), Sarah Samuels Taylor (Chief of Staff), and Chris Doyle (CTO) discuss “The Shortest Commute Ever: How to Set Up a High-Functioning Remote Workforce” to explain how businesses can adapt to a new, remote work environment.

Check out the full talk above and be sure to visit our Open House page for more great conversations!

LEARN MORE: Ascent’s Open House: Socially Distant, Virtually Connected

 

Enjoy this webinar? Subscribe to receive helpful content designed to help you win at compliance.

Subscribe

[pardot-form id=”323″ title=”Cliff Notes Subscriber Form”]

Abstraction is Art: Why All Programmers are Creatives

By Blog, Tech

In order for computers to be useful in our rich and meaningful world, we need to bridge the gap somehow. As programmers, we need a way to keep our feet in both worlds at once. That bridge is abstraction.

By Chris Doyle, CTO

Humans have always built on top of the work of those who came before us. Karl Benz was able to invent cars because he had the wheel and the combustion engine. Orville and Wilbur Wright were able to invent planes because they had gliders and bicycle chains. They were successful because they looked at the world around them and brought existing ideas together in a new way.

The technological acceleration we’ve seen in the last 50 years is driven by the same principle of building on previous work, with one important difference: our production costs have fallen to zero. Henry Ford had to build factories to realize his ideas. General Motors and Rolls Royce had to build concrete bunkers to test their jet engines in case they exploded. Programmers need only open their laptop and get to work. Without production costs, the cycle of innovation now happens at the speed of thought.

Almost.

There’s still some friction in the cycle, and it’s basically because computers are not smart. Fast? Yes: we can tell them “do x, do y, do z” and they’ll do it in milliseconds – but they have no idea WHY. But we have our reasons, right? We ask them to add the numbers in a spreadsheet because those numbers represent our income and expenses, so the sum represents our profit. We ask them to send a paragraph of text to our friends because that paragraph represents a funny thing that happened at work.

WE know the whys, because the whys are part of our world. The computers don’t know the whys, because the world of the computer is incredibly limited. Computers are still literally dealing with ones and zeroes, and could not be further away from our messy experience of hugs and giraffes and hot chocolate.

In order for computers to be useful in our rich and meaningful world, we need to bridge the gap somehow. As programmers, we need a way to keep our feet in both worlds at once. That bridge is abstraction.

What Is Abstraction?

Think of a car. Got one? I bet it has four wheels and an engine. “Car” is an abstraction, a generalized idea. As a society, we’ve communally decided that wheels and engines are important parts of all cars. Is it blue or red or black? Who cares. Color doesn’t fundamentally change the thing we’re talking about, whereas something with wheels and no engine might be a bicycle rather than a car. Since color is not important when we’re talking about cars, it hasn’t become part of the abstraction.

For a computer to handle our complex world, we have to simplify — and we simplify by just leaving stuff out. It’s much easier to tell a computer about our Platonic ideal of a “car” – four wheels and an engine – instead of every single minor detail and variation in the actual cars in the actual world. As programmers we also know which properties of a car are useful for our particular task, and that’s how we choose what to include and what to leave out. If we’re running a race track, we might want our computers to know about top speeds and RPMs. If we’re running a rideshare company, our biggest concern is the number of seats.

We give the computer a limited view, but we ourselves still have a full world of knowledge. This duality is what makes programming possible; the same abstraction can be simple and “machine-readable” while also being emotional, subjective, and yes – artistic.

Art Is Abstraction Is Art

Abstractions afford us limitless opportunity to explore, build, learn, and communicate.

Artists are trying to represent a particular slice of the world through a specific perspective. In holding a mirror to society, they selectively include or exclude certain details and ideas to present an opinionated view. Even a photograph – an “exact replication” of the world – has an opinion by way of subject matter, framing, editing, and the context of its display. Art, then, is an abstraction. It’s an idea, stripped of all its nonconsequential details to highlight its core.

Creating and experiencing art helps us understand ourselves. It allows us to experiment, to learn, to fail, to try another way. This boundless exploration extends beyond the physical world as well: we can delve into love, loss, or any aspect of the human experience without going through those events directly.

The same way a novel, poem, dance, or painting captures the world, so do abstractions.  Perhaps the closest comparison is to storytelling. Stories are full of complex devices for manipulating ideas. Metaphor, allegory, fantasy. A story allows us to construct new realities through imagination. Stories are powerful because they connect with our deepest selves, and through the details we choose to include or omit, they have a point of view.  Abstractions similarly afford us limitless opportunity to explore, build, learn, and communicate.

So What Is Programming?

While computers themselves might be governed by math and equations, programming computers is primarily a creative, subjective, artistic activity.

Artists create sketches, drafts, studies, and yet the final work is not always as imagined. Artistic ideals are sometimes subverted for a paid commission. Programming is not always joyful or meaningful either, but programming is always an artistic endeavor. It’s fully subjective, it’s based in the realm of ideas, it’s an act of creation, and it involves the creator holding an opinionated mirror up to the world.

Thinking of programming as a technical endeavor is correct but woefully insufficient. This is why so many of the best programmers I’ve worked with have significant artistic backgrounds, and why I always say anyone can learn to code.

As in any discipline, programmers stand on the shoulders of those who have come before us. In programming, those previous works are works of abstraction. The earliest programmers were truly writing programs with ones and zeroes. But someone abstracted those ones and zeroes into english characters, and abstracted those english characters into software instructions. Over the decades, countless thousands of developers have slowly advanced programming languages to the point where many programs do read somewhat like prose. They have created networking libraries, databases, web browsers, apps. Each of these abstractions is built on the abstractions before it, and the work of every programmer is to use existing abstractions and their own ingenuity to create new works.

Programming classes/books/blogs/etc usually focus directly on code, which isn’t entirely surprising – a group of potters would probably focus on clay, too. The code is what’s sitting in front of us; it’s obvious. Abstraction is less obvious, yet far more important. I will go so far as to say that abstraction, not code, is the fundamental medium of programming. And thus, while computers themselves might be governed by math and equations, programming computers is primarily a creative, subjective, artistic activity.

Where It Applies

Ascent is no exception; in fact, abstractions are even more important here than at many other places I’ve worked.  Our business is based on creating valuable regulatory data sets from publicly available sources, and the only way to do that is to advance our understanding more quickly and efficiently than our competition.  Most developers don’t know anything about regulation, so we collaborate closely with in-house legal domain experts. Lawyers and developers all come to the table with their own experiences, education, industrial norms, ideas – and yes, abstractions.  In order to collaborate, we have to find shared abstractions to translate between our two worlds. It requires a little more give and take than a traditional software-only team, but allows us to solve problems neither group would be able to address independently. Ultimately, the abstractions we build together create the platform for collaboration and innovation at Ascent.

Read Part 2 — Time Travel: The True Power of Developers

 

Interested in joining the Ascent team? Check out our open roles below!

Careers

 

Better by Design (Thinking): How We Combine Sprints with Customer-Obsession to Drive Product

By Blog, Culture, Tech

At Ascent, we strive to approach each and every challenge with this mindset that promotes first of all empathy, then understanding, then innovation, and finally a “best-fit” solution.

By Subha Sriram, VP Product 

A design thinking mindset is perhaps one of the most important assets for a company as it searches for innovative solutions to problems both anticipated and unexpected. At Ascent, we strive to approach each and every challenge with this mindset that promotes first of all empathy, then understanding, then innovation, and finally a “best-fit” solution.

What is Design Thinking?

Design thinking synthesizes analytical, divergent, and convergent thinking in the various stages of its workflow to finally arrive at the optimal solution.

The term “design thinking” can be traced back to 1987; however, the concept of design thinking has been around for much longer than that. The design thinking model stands as a counterpoint to the more traditional method of problem solving. 

What are the differences between these two schools of thought?

The “traditional” approach starts out with a clearly delineated problem. Then, a consensus solution to that problem is proposed. The bulk of the problem solving in such a methodology involves moving through a linear series of steps until the consensus solution is finally achieved, or revised according to its utility.

Design thinking, on the other hand, turns such a process on its head. Problem-solvers strive to examine a number of divergent solutions at the outset of the process, and then test such solutions to determine their “fit.” Design thinking synthesizes analytical, divergent, and convergent thinking in the various stages of its workflow to finally arrive at the optimal solution.

Customer-Obsession Creates Better Outcomes

Active listening makes it that much easier for our customers to buy into our solution. They become stakeholders from day one, which is a win for everyone involved.

Customer-obsession is one of our core values. Being a customer-centric company means that our approach to problem-solving reflects our keen interest in empathizing with our customers, understanding the root cause of their frustrations and pain points, and designing systems and services that specifically meet their unique needs.

The design thinking methodology provides the freedom we need to actively listen to our customers from the very start of the problem-solving process. It’s easy to sit behind a desk and say: “This is what you need.” But when designers go beyond just serving briefs and make it a point to hear out the customer with an open mind, then the end solution is almost inevitably superior to what may have been our original conception.

As an added benefit, our active listening makes it that much easier for our customers to buy into our solution. They become stakeholders from day one, which is a win for everyone involved.

How We Implement Design Thinking

Of course, as with any high-level concept, design thinking needs a framework of practical application to be useful in the real world. What we do at Ascent is utilize design sprints to help us meet customer needs – and design thinking is an integral part of such sprints.

Our design sprints are adapted from the popular Google Design Sprint methodology. Our process involves 5 key steps:

  • Conducting empathy interviews. We make it a point to be transparent and open with our interview subjects. We don’t always know the best-fit solution for their problems, which is why we probe, and dig, and explore their perspective. It’s vital that in this initial stage, we don’t try to interject our own values or perspectives into the conversation. This is all about them being heard; our role is to listen, clarify, and confirm.
  • Selecting a target focus. Once we’ve consolidated and analyzed all the data from our interviews, we determine what our design focal point should be. We come up with some preliminary sketches to serve as a rough outline of our objectives and potential solutions.
  • Prioritizing sketches. Next, we prioritize the sketches according to several criteria, such as how well the proposed solution would meet our objectives, its practicality, its functionality, and so on. 
  • Prototyping the experience. We then begin work on a prototype, or multiple prototypes, and look to stitch together the whole experience. We want to present the end-to-end experience that we hope our customers will enjoy upon the project’s completion.
  • Conducting usability sessions. Finally, we once more enlist the participation of our customers and stakeholders via usability sessions. We gather feedback from our customers, and begin iterations of the base design.

By implementing design thinking in such a way, we’ve been able to streamline our entire design process, involve our customers from start to finish, and provide the best possible solutions, instead of simply the most convenient.

Design Thinking in Action

Design is ultimately an expression of how humans can efficiently and effectively perform the job at hand. It’s not just a means to an end – it is an integral part of the final product.

Here’s an example of the value of design thinking in action here at Ascent:

We had been receiving feedback from our customers that they wanted an easy, intuitive way to navigate a specific feature. Because this aspect of our platform was not intuitive, customers were not finding the information they were looking for quickly enough, which actually led to them questioning the credibility of the product. Yikes! This is a classic example of the importance of empathy: while this issue may not have seemed so important from our end (because we know first-hand from building the product that the data is right), the customers didn’t have that level of transparency or product knowledge and therefore could only assume that an inability to find the information in the way they were accustomed to meant that was a problem with the information itself. 

We took measures to more fully understand the scope and nature of this problem. We initiated a two-and-a-half-week design sprint, and adhered to our 5-step design thinking process. We conducted interviews with a variety of customers and internal stakeholders. We took the resultant information, sketched, prioritized, and prototyped, and finally began usability testing. 

In the end, the results were overwhelmingly positive. Our customers were thrilled that we had not only listened to their concerns, but had taken proactive measures to overcome the challenges that they were facing. Even though this design sprint resulted in a fundamental paradigm shift in the way we processed rule updates, in the end our customers and stakeholders were completely satisfied, and we learned a lot from the whole experience.

Great Design is More than a Means to an End

At Ascent, design thinking is an integral part of what we do, and its principles of empathy, listening, and humanity are a reflection of who we are as a team. 

Design is ultimately an expression of how humans can efficiently and effectively perform the job at hand. It’s not just a means to an end – it is an integral part of the final product.

 

Interested in joining us? Check out our open roles below. 

Careers

 

 

The Magic Mix of Tech, People, and Culture — What Makes Ascent an Exciting Place to Work

By Blog, Culture, Tech

Those who are passionate about using technology to solve serious problems for both businesses and consumers alike will find here an environment of continual growth, expanding of boundaries, and optimism for the future that we all get to have a hand in building.

By Arbela Takhsh, Chief Operating Officer

From the moment I first learned of Ascent, I had an inkling that this young company was building something unique. However, it wasn’t until a casual conversation over coffee with Ascent’s Founder and CEO Brian Clark that I fully appreciated its potential to radically transform the market.

I’m no stranger to technological innovation. From my decades spent building and scaling tech products at companies like Motorola, Google, Comcast, and Gogo, I know that achieving the right balance of market need, technological capability, talent, and culture to successfully bring a product to market is incredibly difficult — and rare. 

By the time we’d finished our coffee, I knew I wanted to join Ascent on their mission to leverage cutting-edge technology to build a world that’s not constricted, but empowered by the rule of law.

As Brian — a former Chief Compliance Officer and “recovering lawyer” (as he likes to say) — talked me through the company’s vision, the technology they were building, and the powerhouse team he’d assembled, a realization began to crystallize — these folks were on to something special. By the time we’d finished our coffee, I knew I wanted to join Ascent on their mission to leverage cutting-edge technology to build a world that’s not constricted, but empowered by the rule of law.

I have been in the tech industry my entire career, and my enthusiasm to join the Ascent team was due in large part to their work with emergent technologies. We see that terms like “natural language processing”, “machine learning”, and “artificial intelligence” are everywhere and largely used as buzzwords. 

Ascent however is continuing to make a real and significant technology investment, building a highly innovative data architecture and data engineering platform, a very unique data processing pipeline, and customer applications using cutting-edge technologies and languages. Our mission is to deliver knowledge powered by our expertise in artificial intelligence, technology, and the domain of regulatory compliance.

Our team is building what we call Regulation AI from the ground up. This innovation in regulatory technology allows us to automate the most challenging aspects of compliance work in a way that’s more intelligent, more actionable, and more transformative than what was deemed possible even a few years ago. Ascent isn’t just another SaaS platform; it’s a unique and fundamentally new approach to producing knowledge that goes far beyond mining data for insights and wrapping it up in a user-friendly interface. The application of this technology in the multi-billion dollar compliance industry is groundbreaking and has the potential for delivering massive value to the world of financial services and beyond. 

Most engineers and other technical people I’ve met thrive on the opportunity to not only work with exciting technologies, but to actively shape the world with them. That’s the opportunity that awaits at Ascent.

Most engineers and other technical people I’ve met thrive on the opportunity to not only work with exciting technologies, but to actively shape the world with them. That’s the opportunity that awaits at Ascent. Those who are passionate about using technology to solve serious problems for both businesses and consumers alike will find here an environment of continual growth, expanding of boundaries, and optimism for the future that we all get to have a hand in building. 

I mentioned earlier that success comes not from a great idea, but in the magical amalgamation of technology, people, and culture. It’s not enough that Ascent is building an amazing product; culture plays a crucial role in our ability to deliver and scale. Our core values of Integrity, Cooperation, Persistence, Customer Obsession, and Innovation are integral to how we show up each and every day. Our values work naturally toward a strong company culture that builds enthusiasm among our team.

I believe everything starts and ends with creating real value for our customers. I strongly promote customer-focused strategies, operating cadence, and performance indicators that measure success in the eyes of those actually using our product.

As the person responsible for driving technological and operational excellence here at Ascent, I believe everything starts and ends with creating real value for our customers. I strongly promote customer-focused strategies, operating cadence, and performance indicators that measure success in the eyes of those actually using our product. This deep commitment to the customer is reflected in all that we do and furthermore, it’s how we generate sustainable business value and drive operational scale while building a strong culture driven by our values.

As the inventors of Regulation AI, we thrive on creating solutions that will help businesses grow unencumbered by complex regulation without compromising consumer protection. 

It’s been said that necessity is the mother of invention, and every team member at Ascent understands how necessary this technology is to the future of financial services. As the inventors of Regulation AI, we thrive on creating solutions that will help businesses grow unencumbered by complex regulation without compromising consumer protection. 

For many, the opportunity to shape the technology of the future indicates a cool job opportunity. Expanding that opportunity into the ability to provide transformative solutions that span the globe? That’s career-altering. 

With customers from global financial institutions around the world, we’re on the fast path to major market impact. Now, we’re on a mission to build the best team in the world.

Interested in joining us? Check out our open roles below. 

Careers

 

Breaking Down the Ascent Hiring Process

By Blog, Culture, Tech

By Chris Doyle, CTO

At Ascent, we’ve spent a lot of time thinking about our technical hiring process and how it reflects our tech team values. We view our hiring process not just as our chance to evaluate candidates, but our best opportunity to give candidates an opportunity to evaluate us. To that end, we like to be as transparent as possible about our process and what kind of experience a candidate can expect when they interview at Ascent.

Below is a pretty detailed look at our technical hiring process. If you’re interested in learning more about Ascent and potentially going through this process yourself, take a look at our open technical roles and feel free to apply!

 

STEP 1: Introductory Conversation with the Hiring Manager

Let’s introduce ourselves to each other! Typically we either grab coffee or hop on a Google Hangout for 30 minutes. During this time the hiring manager explains more about Ascent, our values, our product, and the open role. The candidate can also share a bit about their technical background and especially what they’d like their next career step to look like. We end by talking about our hiring process, our technical values, and next steps.

STEP 2: Continued Conversations with the Team

If both the candidate and the hiring manager want to move forward, we next have the candidate chat with a couple other members of the team, including potentially the tech lead or others. At this time, we get into more depth with the technical problems we solve on the team and learn more about how the candidate operates.

STEP 3: Take-Home Technical Exercise

In parallel with scheduling and having the conversation with other members of the team, we also ask you to spend a couple of hours at your leisure working on a technical exercise. We give you a week so that you don’t feel undue pressure, but generally candidates spend about two hours altogether on this exercise.

After completing the exercise, we spend around an hour with the candidate on Hangouts walking through it, asking about specific technical decisions or tradeoffs, and inquiring about possible extensions to the work and how the candidate might approach them. Finally, we provide more opportunity for the candidate to ask us questions!

STEP 4: Onsite Half-Day 

If all has gone well up to this point, we’ll be eager to introduce the candidate to other folks on the team with a series of in-office discussions that take place over about four hours. During this time, the candidate will meet with more members of the team — both technical and non-technical —  to discuss the role, the relationship between tech, product, and customers, and the candidate’s past experiences.

STEP 5: Offer

Within a couple of days of meeting, the team internally will meet to share their experiences with the candidate. We use an internal rubric centered on our values to remove as much bias as possible from our evaluation. Ultimately the hiring manager will make a final decision about extending an offer to the candidate. If we’re lucky enough to be able to make an offer, the hiring manager will reach out to the candidate with the details of the offer and give the candidate some time to consider their decision.

STEP 6: Onboarding

If the candidate accepts our offer, we first get extremely excited at the prospect of welcoming a new team member! Then we put together a comprehensive onboarding plan, including a first day schedule, a first three month plan based on the work available and our perception of the candidate’s strengths and growth opportunities during the hiring process, a one-pager with links to all our important documents (e.g. Employee Manual, Tech Team Onboarding Guide, links to various benefits and tech accounts), and we order a computer for the candidate. We also appoint a current team member as the candidate’s onboarding buddy, and we set up a Day 1 welcome lunch with the candidate and the team.

Then, we get to work!

Interested in joining the Ascent team? Check out our open roles below!

Careers

 

Ascent’s Tech Team Values

By Blog, Culture, Tech

By Spencer Allee, VP Data Science

At Ascent we have a set of core company values – Integrity, Cooperation, Persistence, Innovation, and Customer Obsession. These values work across teams and departments and give our teams a short enough list to remember. However, as a tech team we spend a lot of time talking about what makes a good tech team culture; we’ve arrived at a longer list of values around which we’ve built our engineering team.

We are a Best Effort Community

good faith, proactivity, hardworking, accountability

Best effort means we assume everyone is always doing the best they can in whatever situation they’re in with the information they have at the time. Community means we’re all in this together, and we succeed or fail together. Everything we do is in cooperation.

If we had to sum up Ascent in a single idea, it would be this.

Openness

listening, feedback, positive feedback, disagreement

Learning how to carefully listen, respectfully disagree, and provide and accept useful feedback stabilizes and magnifies all the other cultural efforts we make.

Growth

curiosity, learning, teaching, humility, collaboration

It’s everyone’s personal responsibility to constantly improve, and to help others improve. Since we all have much to learn, we try to be humble and curious. Since we all have much to teach, we endeavor to be generous with our time and knowledge. The fastest growth comes from collaboration, when we have the opportunity to teach and encourage each other robustly and directly.

Technical Intensity

deep knowledge, rigor, predictability

A deep, detailed understanding of our systems, libraries, and tools opens new opportunities, encourages comprehensive solutions, reduces chaos, and creates the predictability that allows the rest of the organization to trust us.

Intellectual Engineering

context, ROI, concepts/mental model, simplicity

Conceptual crispness and concision provides the clarity necessary to focus our efforts on the most valuable activities, and accelerates our progress by anticipating tomorrow even as we build for today.

Inclusion

diversity, attribution, helping, documentation, “yes, and”

Diverse teams produce better outcomes and tech should be available and accessible to everyone.  Soliciting engagement from underrepresented groups and actively removing the boundaries around technical participation allows us to increase the breadth of our best ideas.

Compassion

humanity, empathy, emotion, impact

Allowing emotion and encouraging empathy, among ourselves and our constituencies, acknowledges that while we’re all professionals, we’re also inextricably human.

Examples

examples, data-driven decisions

Examples are incredibly helpful to clarify communication and expose assumptions.

 

When we enter the technical hiring process with a candidate, we share our Tech Team Values with them as a first step before proceeding with the rest of the process. We view values alignment and technical skills as equally important, and we’re proud to have built a team of strong, value-driven engineers. If these values resonate with you, take a look at our open roles below and feel free to reach out! And if you’d like to see how these values play out in our hiring process, take a look at this blog post.

Careers