Holland & Hart
Principal Software Engineer
Boulder, CO, US
Technologies & frameworks
Benefits & perks
- Remote working
- Flexible working
- Full healthcare coverage
- Dental insurance
- 401(k) matching
To sum it up...
💻💻The Principal Software Engineer is responsible for writing, testing, maturing, and maintaining software applications that automate and increase the effectiveness of legal processes ⚖️. This role requires cross-functional skills across the technology stack. Candidates should be skilled in backend development with a focus on functional programming and familiarity with microservice based, cloud-native architectures.
The Principal Software Engineer is a key individual contributor to the software development process, and has responsibilities for making architectural decisions and coordinating activities of other junior developers.
The Principal Software Engineer works closely with peers, legal practitioners, and other innovators to build robust applications that provide value for their users. The Principal Software Engineer thrives in a dynamic, fast-paced environment.
- Develop legal automation software and applications for legal practitioners. ⚖️
- Write clear, maintainable, and performant code using industry best practices 🔍🔍
- Develop interfaces with internal firm resources including document management, email, billing, data stores, etc.
- Provide guidance and mentoring for other software developers
- Help assign and coordinate tasks across a development team
- Participate in Agile development process, including team Scrum
- Interface with software users to understand the relevant “user stories”
- Participate in software architecture discussions
- Augment internally developed software products with off-the-shelf components
- ⚒️Improve and refactor existing codebase
- Think clearly and creatively to solve technical problems
- Technical expertise in functional programming:
- Skill developing software using a FP language such as
- Experience with expressive type systems (e.g., algebraic data types, etc.)
- Comfort with the use of functor, applicative functor, and monad abstractions.
- Experience with “free” abstractions (e.g, free monads)
- Familiarity with recursion schemes (e.g., Meijer et. al.)
- Bachelor’s degree of higher with strong academic credentials in Computer Science, Engineering, Mathematics, or an applied science.
- Familiarity with fundamental concepts in algorithm design and analysis such as “big-O” notation, recursion, searching, sorting, etc.
- Comfort constructing and processing basic data structures including linked lists, vectors, key-value maps, trees, etc.
- Comfort developing within a Linux/Unix development and deployment environment.
- Comfort with git and related tools for source control
- Superior communication skills
- Data- and team-oriented personality
- Enthusiasm for learning, creation, and innovation
- Must have permanent authorization to work in the USA for any employer
The practice of law, like much of 21st century commerce, is intertwined with technology. Your client journey and the successful outcome of your legal problems are enhanced by our technology solutions. The Office of Innovation has one goal: we innovate solutions for clients to improve the delivery of legal services. Whether we are creating new processes or engineering new technologies, we align the firm's core resources to drive change and adapt to the rapidly changing business of law. The Office of Innovation harnesses experts in artificial intelligence, process improvement, and client services to work collaboratively with clients to help define the future of law. Our dedicated team of lawyers, technologists, financial, and client services professionals have developed products and processes that have achieved countless efficiencies and benefits for clients. This team continually strives to identify and respond to the ever-changing frontier of legal needs. Our team of developers assists in tailoring apps, dashboards, and web services to optimize your client experience throughout an engagement, providing tools that strategically augment our services. Our technology team is led by professionals with vast experience in several different industries who bring their expertise and client-focused perspective to the firm.