We are looking for a strong and motivated software developer to work as part of a team developing and implementing innovative software solutions. You will work closely with a cross-functional team of developers, QA engineers, and product owners in a fast-paced and cutting-edge environment. You will always find new challenges that excite you and keep you motivated.
Responsibilities:
Design and develop software applications supporting business objectives
Maintain, enhance, and support existing applications
Analyze and debug applications in development and production environments and resolve production issues within the accepted timeframes
Participate in design and technical meetings
Participate in code reviews
Perform thorough Unit/Integration Testing of assigned applications
Write technical documentation and release notes for the applications
Provide technical guidance to junior programmers and other software engineers
Bachelors degree or equivalent in Computer Science or a related field
4-6 years of proven experience in software development and system maintenance
Experienced at developing elegant-yet-simple systems using best practices and design patterns
Solid experience and understanding in the following technologies: NET Core, C#, ASPNET Web API, ASPNET MVC, Angular, Webpack module loader, NPM, JSON/XML, LINQ, Entity Framework, IoC frameworks, CI/CD, Redis
Solid understanding of CSS syntax, HTML5 specs, browser shortcomings/differences, and polyfills
Solid understanding of Bootstrap/Material CSS components and how/when to use each
Experience working with AWS technologies like Batch, Lambda, S3, SQS, etc.
Excellent understanding of object-oriented design concepts and software development processes and methods
Solid understanding of parallel programming, async/await, and the TPL library
Developed software in the SCRUM environment using Agile methodologies
Ability to effectively work on multiple projects simultaneously and effectively contend with competing priorities
Possess strong troubleshooting, code optimization, and refactoring skills
Ability to learn and adapt to continuously changing technology
Must have a passion for development and the latest technologies
Ability to work independently with minimal supervision.
Nice to haves:
Designer's eye
Experience with UX patterns and ability to design complex applications
Experience with CSS pre-compilers (SASS, LESS)
Multi-threaded programming experience in both procedural and functional paradigms
Experience with client-side optimization (GZIP, sprites, minification, obfuscation, browser caching)