Software Engineer
Hecht Search
About the Position
We’re looking for an experienced Software Engineer who enjoys solving difficult technical problems and building systems that people depend on. This opportunity involves developing sophisticated applications, improving existing technology, and creating practical solutions in a data-intensive financial environment.
You’ll contribute to software projects that demand reliability, speed, and thoughtful engineering. Some assignments will involve building new applications, while others will focus on strengthening established systems, improving performance, and making complex processes easier to manage.
You’ll have the freedom to evaluate technical approaches, contribute to design decisions, and work closely with colleagues who rely on the technology you develop. Success in this position requires more than writing good code. You’ll need to understand the broader purpose of each project and make sound decisions when requirements aren’t fully defined.
What You’ll Be Doing
Your day-to-day work will vary depending on your expertise and the projects you’re assigned. You’ll take part in the full development process, from understanding a technical challenge to delivering and maintaining a working solution.
- Develop, test, and maintain software applications that support complex business operations and data processing.
- Design scalable systems that balance performance, reliability, and ease of maintenance.
- Build new functionality and improve existing applications using established engineering practices.
- Investigate software issues, identify root causes, and implement effective long-term solutions.
- Collaborate with developers, analysts, and business teams to understand requirements and deliver useful technology.
- Identify opportunities to improve application performance, simplify workflows, and reduce technical complexity.
- Participate in architectural discussions and help select appropriate technologies and design approaches.
- Review code, contribute to testing efforts, and support improvements to development standards.
- Take responsibility for assigned projects while adapting to evolving priorities and technical requirements.
Skills and Experience
We’re interested in engineers who combine strong technical knowledge with good judgment and a practical approach to software development. You should be comfortable working through unfamiliar problems and explaining your decisions to colleagues with different areas of expertise.
- At least 6 years of professional software engineering or development experience.
- Advanced programming ability in Java, C++, or Python.
- Solid knowledge of computer science principles, including algorithms, data structures, and software architecture.
- Experience designing, implementing, and supporting production-level applications.
- Strong debugging, analytical thinking, and problem-solving abilities.
- Ability to assess technical tradeoffs and develop solutions that meet both engineering and business needs.
- Comfort working on projects where specifications may change as development progresses.
- Clear communication skills and experience collaborating with colleagues across different functions.
- Ability to manage several responsibilities without compromising the quality of your work.
- Bachelor’s degree in Computer Science, Engineering, Mathematics, or a related STEM field.
How You’ll Work
You’ll join an environment where engineers are trusted to think independently, share ideas, and approach technical challenges from different angles. Collaboration is an important part of the work, but you’ll also have opportunities to take responsibility for projects and make decisions within your area of expertise.
The systems you’ll work with can involve substantial amounts of information, demanding performance requirements, and complicated technical dependencies. You’ll need to be comfortable investigating unfamiliar issues, evaluating possible solutions, and adjusting your approach when circumstances change.
Depending on your background and interests, your work may involve backend development, application engineering, platform improvements, systems architecture, or software supporting financial operations. There’s room to deepen your expertise while gaining exposure to different technical challenges.
Compensation and Benefits
This position offers an annual base salary of $200,000 to $350,000, with individual offers determined by professional experience, technical expertise, and the scope of the role.
Beyond base compensation, eligible employees may receive a substantial annual performance bonus, with the potential to reach or exceed 100% of their base salary. Bonus awards are discretionary and depend on applicable performance and compensation criteria.
Additional benefits may include:
- Medical and healthcare insurance coverage.
- Life insurance and related protection benefits.
- Retirement savings programs.
- Tax-advantaged savings options.
- Access to additional health and wellness resources.
What Makes This Role Interesting
This opportunity offers the chance to work on challenging software projects where technical decisions have practical consequences. You’ll help develop technology that supports important operations, improve systems that need to perform consistently, and contribute to solutions that require careful planning and execution.
You’ll work with experienced professionals who bring different perspectives to technical discussions. The environment encourages learning through hands-on development, collaboration, and exposure to engineering problems that don’t always have straightforward answers.
For someone who enjoys building dependable software, understanding complicated systems, and continuously improving their technical skills, this position provides a meaningful combination of responsibility, variety, and professional growth.