1

Metaprogramming Jobs in Illinois (NOW HIRING)

... metaprogramming a plus) * Experience with Linux and Python required * Understanding of data structures, algorithms, distributed systems, multi-threading, and asynchronous execution * Object-oriented ...

... metaprogramming a plus) * Experience with Linux and Python required * Understanding of data structures, algorithms, distributed systems, multi-threading, and asynchronous execution * Object-oriented ...

C++ Tutor

Naperville, IL · Remote

$40/hr

Skilled at breaking down pointer arithmetic, class hierarchy design, and template metaprogramming concepts. Guides students through implementing data structures, debugging segmentation faults ...

next page

Showing results 1-20

Metaprogramming information

What is metaprogramming?

Metaprogramming is a programming technique in which computer programs have the ability to treat other programs as their data. This means that a metaprogram can read, generate, analyze, or transform other programs, and even modify itself while running. Metaprogramming is often used to automate repetitive tasks, create domain-specific languages, or enhance flexibility and reusability in software. It is commonly seen in languages like Python, Ruby, and Lisp, which provide reflective and dynamic features to support these operations.

What is the difference between Metaprogramming vs Software Developer?

AspectMetaprogrammingSoftware Developer
Required CredentialsKnowledge of programming languages, scripting skillsBachelor's degree in Computer Science or related field
Work EnvironmentOften involves coding, scripting, and language-specific tasksDevelops, tests, and maintains software applications
Industry UsageUsed across software development, automation, and language designEmployed in various industries to build software solutions

Metaprogramming is a specialized programming technique involving writing code that manipulates or generates other code, often requiring scripting skills and language-specific knowledge. Software developers create applications and systems, focusing on designing and implementing software solutions. While both roles require programming expertise, metaprogramming is more about advanced coding techniques, whereas software development covers a broader range of software creation tasks.

What are the key skills and qualifications needed to thrive as a Metaprogrammer, and why are they important?

To thrive as a Metaprogrammer, you need advanced programming skills, a deep understanding of language theory, and experience with multiple programming paradigms, typically supported by a degree in computer science or a related field. Familiarity with languages that support metaprogramming (such as Python, Ruby, Lisp, or C++), as well as tools like code generators and compilers, is essential. Strong analytical thinking, creativity, and problem-solving skills make someone stand out in this role. These skills are crucial for designing flexible, efficient, and reusable software solutions that can adapt to complex or evolving requirements.

What are some common challenges faced by developers working in metaprogramming roles?

Developers specializing in metaprogramming often encounter challenges such as maintaining code readability and ensuring performance does not degrade due to the abstraction layers introduced. Debugging metaprograms can be more complex, as errors may originate from generated code rather than the source code. Collaborating with team members requires clear documentation and communication, since metaprogramming can make codebases harder to understand for those unfamiliar with such techniques. Regular code reviews and knowledge sharing sessions are helpful in overcoming these challenges.
Software Engineer - C++

Software Engineer - C++

Akuna Capital

Chicago, IL • On-site, Remote

$145K/yr

Other

Medical, Dental, Vision, Retirement, PTO

Posted 29 days ago


Job description

About Akuna:
Akuna Capital is an innovative trading firm with a strong focus on collaboration, cutting-edge technology, data driven solutions, and automation. We specialize in providing liquidity as an options market-maker - meaning we are committed to providing competitive quotes that we are willing to both buy and sell. To do this successfully, we design and implement our own low latency technologies, trading strategies, and mathematical models.
Our Founding Partners first conceptualized Akuna in their hometown of Sydney. They opened the firm's first office in 2011 in the heart of the derivatives industry and the options capital of the world - Chicago. Today, Akuna is proud to operate from additional offices in Sydney, Shanghai, London and Singapore.
What you'll do as a Software Engineer at Akuna:
Akuna is looking for motivated self-starters to join our growing engineering team and contribute to the build-out of our proprietary options market-making trading platform. You will focus on analysis, design, implementation, testing and delivery of Akuna's trading system using the latest technologies. Successful candidates will work closely with an industry-leading team of options Traders who participate fully in the design and ongoing enhancements to our proprietary trading platform. In this role, you will:
  • Design and build mission-critical and complex trading systems
  • Plan, design, and implement efficient, flexible, and resilient Linux services using modern C++ technologies
  • Build software using Agile methodologies
  • Participate in design sessions and code reviews
  • Work on cross-functional teams to troubleshoot and solve complex problems
Qualities that make great candidates:
  • 3+ years of experience developing performant, scalable applications in modern C++ (and at least 2 years with C++ 20 or 23; template metaprogramming a plus)
  • Experience with Linux and Python required
  • Understanding of data structures, algorithms, distributed systems, multi-threading, and asynchronous execution
  • Object-oriented design and programming experience
  • Ability to take on projects and drive them through to completion in a timely manner
  • Familiarity with trading and trading systems is a plus
  • Bachelor's degree in Computer Science, Engineering, Math, or equivalent
  • The ability to react quickly and accurately to rapidly changing market conditions, including the ability to quickly and accurately respond and/or solve math and coding problems are essential functions of the role

In addition to technical skillsets, Akuna values the unique perspectives people can bring to the table to collaboratively solve complex problems and drive Akuna forward. We want everyone to feel empowered to apply. We welcome your application and encourage you to take the first steps toward your future with us!
Please note that level/title, as well as team placement, will be determined upon the conclusion of the interview process. If you are a current student or recent graduate, please take a look at our Entry Level and Intern positions.
In accordance with Illinois Equal Pay Act, the minimum base salary starts at $145,000. Exact compensation offered may vary based on many factors including, but not limited to, the candidate's experience, qualifications, and skill set. This role is also eligible for a discretionary performance bonus as part of the total compensation package and includes a comprehensive benefits package that may encompass employer-paid medical, dental, vision, retirement contributions, paid time off, and other benefits. The minimum base salary herein was determined in good faith by Akuna Capital LLC.