Bachelor's degree in Engineering, Information Systems, Computer Science, or related field and 2+ years of Software Engineering or related work experience. OR Master's degree in Engineering, Information Systems, Computer Science, or related field and 1+ year of Software Engineering or related work experience. OR PhD in Engineering, Information Systems, Computer Science, or related field. 2+ years of academic or work experience with Programming Language such as C, C++, Java, Python, etc. Ideal candidates will demonstrate the following: Masters in Computer Science, Engineering, or related field. Experience in C and Data structures. In-depth knowledge of Windows development environment and functionality and architecture especially driver module. Excellent debugging and problem-solving skills in Linux Kernel. Familiar with ARM CoreSight architecture will be a plus. Good understanding of CPU Architecture, Memory and Bus architecture and how that impacts software performance. Able to debug complex problems across multiple layers of hardware, OS, compiler, and drivers Knowledge of interprocessor communications, reset controller hardware and crash debug sequence Experience with Windows OS, Visual Studio/LLVM compiler and Windows Performance Analyzer (WPA) tools is preferred Experience in Compiler and JIT technologies is a plus Experience with optimizing for popular CPU software benchmarks is a plus Familiarity with ETM will be a plus. Experience on Python/Perl will be a plus. Assembly and C++ language experience is a plus Familiarity with Security Architecture in embedded systems is a plus. Develops, creates, and modifies general computer applications software or specialized utility programs. Analyzes user needs and develops software solutions. Designs software or customizes software for client use with the aim of optimizing operational efficiency. May analyze and design databases within an application area, working individually or coordinating database development as part of a team. Modifies existing software to correct errors, allow it to adapt to new hardware, or to improve its performance. Analyzes user needs and software requirements to determine feasibility of design within time and cost constraints. Confers with systems analysts, engineers, programmers, and others to design system and to obtain information on project limitations and capabilities, performance requirements and interfaces. Stores, retrieves, and manipulates data for analysis of system capabilities and requirements. Designs, develops, and modifies software systems, using scientific analysis and mathematical models to predict and measure outcome and consequences of design. Working under close supervision. Taking responsibility for own work and making decisions with limited impact; Impact of decisions is readily apparent; errors made typically only impact timeline (i.e., require additional time to correct). Using verbal and written communication skills to convey basic, routine information about day-to-day activities to others who are fully knowledgeable in the subject area. Completing most tasks with multiple steps which can be performed in various orders; some planning and prioritization must occur to complete the tasks effectively; mistakes may result in some rework. Exercising some creativity to troubleshoot technical problems or deal with novel circumstances. Using deductive problem solving to solve moderately complex problems; most problems have defined processes of diagnosis/detection; some limited data analysis may be required. The responsibilities of this role do not include: Financial accountability (e.g., does not involve budgeting responsibility). Influence over key organizational decisions. Role in strategic planning. Communicates issues with team lead and peers. Adapts to changes and setbacks to meet deadlines. Communicates with project lead to provide status and information about impending obstacles. Collaborates with others inside project team to accomplish project objectives. Gathers, integrates, and interprets information specific to a module or sub-block of code from a variety of sources to troubleshoot issues and find solutions. Collaborates with individuals within domain to complete the team's work. Stays focused and deals with setbacks in a timely manner. Seeks out learning opportunities to increase own knowledge and skill. Completes assigned coding tasks to specifications on time without significant errors or bugs. Resolves straightforward software issues and bugs within a reasonable amount of time. Actively seeks answers for new challenges. Prioritizes project deadlines and deliverables with close supervision. Is receptive to others' suggestions about ways in which a problem can be addressed differently. Escalates technical issues to an appropriate party (e.g., project lead, colleagues). Networks with colleagues within domain to gain insight, ideas, and connections.
All Job Ads are subject to GrabJobs’s Terms of Service. We allow users to flag postings that may be in violation of those terms. Job Ads may also be flagged by GrabJobs moderation team. However, no moderation system is perfect, and flagging a posting does not ensure that it will be removed.
Be the first to receive the latest Others Full-Time Jobs in the US.
Setup your job alert:
By activating job alerts, I agree to GrabJobs Terms & Privacy Policy. I can unsubscribe to job alerts anytime.
Skip
GrabJobs is the no1 job portal in the US, connecting you to thousands of jobs fast!
Find the best jobs in the US, apply in 1 click and get a job today!