This list contains only the countries for which job offers have been published in the selected language (e.g., in the French version, only job offers written in French are displayed, and in the English version, only those in English).
The Applications Development Intermediate Programmer Analyst 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.
Job Responsibility:
Utilize knowledge of applications development procedures and concepts, and basic knowledge of other technical areas to identify and define necessary system enhancements, including using script tools and analyzing/interpreting code
Consult with users, clients, and other technology groups on issues, and recommend programming solutions, install, and support customer exposure systems
Apply fundamental knowledge of programming languages for design specifications
Analyze applications to identify vulnerabilities and security issues, as well as conduct testing and debugging
Serve as advisor or coach to new or lower level analysts
Identify problems, analyze information, and make evaluative judgements to recommend and implement solutions
Resolve issues by identifying and selecting solutions through the applications of acquired technical experience and guided by precedents
Has the ability to operate with a limited level of direct supervision
Can exercise independence of judgement and autonomy
Acts as SME to senior stakeholders and /or other team members
Appropriately assess risk when business decisions are made, demonstrating particular consideration for the firm's reputation and safeguarding Citigroup, its clients and assets, by driving compliance with applicable laws, rules and regulations, adhering to Policy, applying sound ethical judgment regarding personal behavior, conduct and business practices, and escalating, managing and reporting control issues with transparency
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
Requirements:
2-5 years of relevant experience in the Financial Service industry
Intermediate level experience in Applications Development role
Consistently demonstrates clear and concise written and verbal communication
Demonstrated problem-solving and decision-making skills
Ability to work under pressure and manage deadlines or unexpected changes in expectations or requirements
At least 3+ years of compiler development experience
Strong understanding of embedded software development in a hardware environment
Strong knowledge in one or more of the areas of: lexical analysis, parsing, semantic analysis, code generation, and optimization
Hands on experience of Lex and yacc tool using the UNIX OS and GNU tool
Direct experience with llvm, gcc, gdb, multicore systems, cross-compilation environments, embedded OS, and drivers
Full Software Development Kit (SDK) development cycle experience
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
2+ years of non-internship professional software development experience
2+ years of experience developing compiler optimization, graph-theory, hardware bring-up, FPGA placement and routing algorithms, or hardware resource management
A passion for development, strong work ethic, and continuous learning
Experience with code optimization techniques for different hardware architectures
Nice to have:
M.S. or Ph.D. in computer science or related field
Experience with LLVM and/or MLIR
Experience with developing algorithms for simulation tools
Experience is TensorFlow, PyTorch, and/or JAX
Experience in LLM, Vision or other deep-learning models
Welcome to
CrawlJobs.com
– Your Global Job Discovery Platform
At CrawlJobs.com, we simplify finding your next career opportunity by bringing job listings directly to you from all corners of the web. Using cutting-edge AI and web-crawling technologies, we gather and curate job offers from various sources across the globe, ensuring you have access to the most up-to-date job listings in one place.
We use cookies to enhance your experience, analyze traffic, and serve personalized content. By clicking “Accept”, you agree to the use of cookies.