Software Engineers conduct or participate in multidisciplinary research and collaborate with design, layout and / or hardware engineers in the design, development, and utilization of productivity enhancement layout tools and design rule checkers, electronic data processing systems software.
Determines computer user needs, advises hardware designers on machine characteristics that affect software systems such as storage capacity, processing speed, and input / output requirements, designs and develops compilers and assemblers, utility programs, and operating systems.
Responds to customer / client requests or events as they occur. Develops solutions to problems utilizing formal education, judgement, and formal software process.
You must possess the below minimum qualifications to be initially considered for this position. Preferred qualifications are in addition to the minimum requirements and are considered a plus factor in identifying top candidates.
Bachelor's degree in Computer Science, Computer Engineering or any related field with 6 years of experience or a master’s degree with 4 years of experience of software development experience.
3 + years of experience in designing components for a software system, recognizing design patterns, and using object-oriented design principles.
3+ years of experience developing software in Python under DevOps practices.
1+ years of experience with testing techniques
1 + years of experience in DevOps methods and tools, such as git, Jenkins, and TeamCity
Candidate must have permanent unrestricted right to work in Costa Rica
Advanced English level
Exposure to and appreciation for multiple compute science specialties.
Experience in cloud software infrastructure is beneficial, such as Docker / Singularity containers, Kubernetes, and service architectures.
Exposure to system simulation technologies is beneficial, such as Simics or SystemC.
Experience in user interface design is beneficial.
Apply Agile code development principles.
Both Linux and Windows operating systems.
Modern software tools and methods.
Both rapid prototyping and production-quality development.