
Job Information
Citigroup LEX / YACC Compiler Design Developer in Mississauga, Ontario
About Citi:
Citi, the leading global bank, has approximately 200 million customer accounts and does business in more than 160 countries and jurisdictions. Citi provides consumers, corporations, governments, and institutions with a broad range of financial products and services, including consumer banking and credit, corporate and investment banking, securities brokerage, transaction services, and wealth management.
As a bank with a brain and a soul, Citi creates economic value that is systemically responsible and in our clients’ best interests. As a financial institution that touches every region of the world and every sector that shapes your daily life, our Enterprise Operations & Technology teams are charged with a mission that rivals any large tech company. Our technology solutions are the foundations of everything we do from keeping the bank safe, managing global resources, and providing the technical tools our workers need to be successful to designing our digital architecture and ensuring our platforms provide a first-class customer experience. We reimagine client and partner experiences to deliver excellence through secure, reliable, and efficient services.
Our commitment to diversity includes a workforce that represents the clients we serve from all walks of life, backgrounds, and origins. We foster an environment where the best people want to work. We value and demand respect for others, promote individuals based on merit, and ensure opportunities for personal development are widely available to all. Ideal candidates are innovators with well-rounded backgrounds who bring their authentic selves to work and complement our culture of delivering results with pride. If you are a problem solver who seeks passion in your work, come join us. We’ll enable growth and progress together.
This role is a Lex / Yacc Compiler Design Developer and is an intermediate level position responsible for participation in the establishment and implementation of new or revised application systems and programs in coordination with the Technology team. The overall objective of this role is to contribute to applications systems analysis and programming activities.
Responsibilities:
Develop and maintain compiler front-end and back-end components
Optimize compiler performance for different hardware architectures
Debug and resolve compiler-related issues
Collaborate on designing and implementing new language features
Conduct code reviews for quality assurance
Write and maintain documentation for compiler functionalities and APIs
Integrate and validate third-party libraries and tools
Manage source code using version control systems
Implement algorithms for code generation and optimization
Perform code refactoring for better maintainability and efficiency
Stay updated with advancements in compiler technology
Profile and benchmark compiler performance on various platforms
Develop automated tests for compiler verification
Provide technical support to teams using the compiler
Analyze performance metrics to identify areas for improvement
Participate in design and architecture discussions
Use static and dynamic analysis tools to improve code quality
Collaborate with cross-functional teams
Research new compiler techniques and methodologies
Contribute to and engage with open-source compiler projects
Qualifications:
3+ years experience of compiler development experience.
3+ years hands on experience of Lex and yacc tool using the UNIX OS and GNU tool
3+ years experience with LLVM, MLIR. LLM, Vision or other deep-learning models
Vision or other deep-learning modelsgood knowledge of Data Lineage and relational database
Education:
Bachelor’s degree/University degree in Computer Engineering, Information Technology, Computer Science or equivalent experience
Masters Degree in Engineering highly desirable
This job description provides a high-level review of the types of work performed. Other job-related duties may be assigned as required.
Preferred Critical Skills:
4+ years experience and strong understanding of embedded software development in a hardware environment.
3+ years experience with llvm, gcc, gdb, multicore systems, cross-compilation environments, embedded OS, and drivers.
3+ yeas Full Software Development Kit (SDK) development cycle experience.
3+ years hands on professional software development experience
3+ years of experience developing compiler optimization, graph-theory, hardware bring-up, FPGA placement and routing algorithms, or hardware resource management.
3+ years experience is TensorFlow, PyTorch, and/or JAX
3+ years experience with with developing algorithms for simulation tools
Strong knowledge in one or more of the areas of: lexical analysis, parsing, semantic analysis, code generation, and optimization, which helps them write code that is easily interpreted by the compiler and produces efficient machine code.
Pragmatic problem-solving and ability to work independently or as part of a team.
Proficiency in C/C++ or Rust programming languages, with a deep understanding of memory management and low-level system programming.
Proficiency with 1 or more of the following programming languages: C++ (preferred), Python
Experience in the LLVM compiler infrastructure to customize and optimize compilers for a specific OS.
A passion for development, strong work ethic, and continuous learning.
Job Family Group:
Technology
Job Family:
Applications Development
Time Type:
Full time
Citi is an equal opportunity and affirmative action employer.
Qualified applicants will receive consideration without regard to their race, color, religion, sex, sexual orientation, gender identity, national origin, disability, or status as a protected veteran.
Citigroup Inc. and its subsidiaries ("Citi”) invite all qualified interested applicants to apply for career opportunities. If you are a person with a disability and need a reasonable accommodation to use our search tools and/or apply for a career opportunity review Accessibility at Citi (https://www.citigroup.com/citi/accessibility/application-accessibility.htm) .
View the "EEO is the Law (https://www.dol.gov/sites/dolgov/files/ofccp/regs/compliance/posters/pdf/eeopost.pdf) " poster. View the EEO is the Law Supplement (https://www.dol.gov/sites/dolgov/files/ofccp/regs/compliance/posters/pdf/OFCCP_EEO_Supplement_Final_JRF_QA_508c.pdf) .
View the EEO Policy Statement (http://citi.com/citi/diversity/assets/pdf/eeo_aa_policy.pdf) .
View the Pay Transparency Posting (https://www.dol.gov/sites/dolgov/files/ofccp/pdf/pay-transp_%20English_formattedESQA508c.pdf)
Citi is an equal opportunity and affirmative action employer.
Minority/Female/Veteran/Individuals with Disabilities/Sexual Orientation/Gender Identity.