Entry-Level Software Engineer - Full-time
Job Description
The software engineer (SWE) converts project specifications and statements of problems and procedures to detailed logical flow charts. The logical flow charts are used by the SWE to develop and write computer programs to store, locate, and retrieve specific documents, data, and information. The SWE also leads and guides the work of technical staff, serves as liaison between business and technical aspects of projects, plans project stages and assesses business implications for each stage, and monitors progress to assure deadlines, standards, and cost targets are met.
Position Advantages
- • Join a start-up company whose leadership has founded successful companies;
- • Expand experience in a technical field of emerging and critical industrial importance;
- • Augment skills and experience by working with Human-Machine Interface and software architecture design, Single-Board Computer and microcontroller coding, as well as other design disciplines including mechanical, electrical, and hardware engineering teams
Duties
- • Compile and write documentation of program development and subsequent revisions, documenting the code so others can understand the program;
- • Conduct trial runs of programs and software applications to be ensure generation of the desired information and that the instructions are correct;
- • Consult with and assist computer operators or system analysts to define and resolve problems in running computer programs;
- • Consult with managerial, engineering, and technical personnel to clarify program intent, identify problems, and suggest changes;
- • Correct errors by making appropriate changes and rechecking the program to ensure that the desired results are produced;
- • Perform or direct revision, repair, or expansion of existing programs to increase operating efficiency or adapt to new requirements;
- • Perform systems analysis and programming tasks to maintain and control the use of computer systems software as a systems programmer;
- • Write, analyze, review, and rewrite programs, using workflow chart and diagram, and applying knowledge of computer capabilities, subject matter, and symbolic logic;
- • Write, update, and maintain computer programs or software packages to handle specific jobs such as tracking inventory, storing or retrieving data, or controlling other equipment
Required and Mandatory Qualifications
- • Academic degree in a computer/technology related discipline;
- • Candidates can be currently enrolled in an accredited undergraduate program with major or concentration in computer science or electrical engineering. Applications are open to qualified individuals with an associate degree;
- • Strong facility with Office 365 products;
- • Ability to work fluently between operating systems (OS-X, Ubuntu, and Windows-10);
- • Successful, practical course work and demonstrable facility in C/C++ and Python3.x
Preferred and Additional Qualifications
- • Successful use of required qualifications in a professional work position;
- • Strong knowledge of unit testing (development, documentation, and execution);
- • Experience in using QtCreator and QtDesigner (Qt4 or Qt5) to create GUIs with C++;
- • Proficiency with software version control tools (e.g., Jira);
- • Completed systems analysis and design class; uses quality assurance in the software development life-cycle; designs and executes software unit tests;
- • Demonstrated interest and training in GUI development and software architecture; training in agile programming;
- • Demonstrable experience in design and use of JSON files for system adaptation
Competencies (in order of importance)
- • Analytical Thinking — Analyzing information and using logic to address work-related issues and problems.
- • Attention to Detail — Being detail-oriented and thorough in completing tasks.
- • Initiative — Being willing to take on responsibilities and challenges.
- • Achievement/Effort — Establishing and maintaining personally challenging achievement goals and exerting effort toward mastering tasks
- • Cooperation — Having a good-natured, positive attitude.
Reporting and Work Environment
- • The successful candidate reports to the Software Manager. Remote working is expected, as is onsite hands-on work, with on-site meetings (or other convenient venues), as required.