Develop software requirements and specification elicitation. Analyze specifications and technical requirements in function of application features, communication protocols, programming languages and operating systems. Develop functional applications wireframes and write supporting code. Design and develop databases with Microsoft SQL, PostgreSQL, MgSQL. Code using core programming technologies including: NET, ASP.NET, .NET MVC, C#, Entity Framework, Go, Ruby, Python, C/C++, Java. Evaluate code to ensure that it is valid, is properly structured, meets industry standards. Incorporate non-technical considerations such as budget and legal issues such as security and privacy. Develop and design network system infrastructure. Participate in User interface design. Develop novel algorithms using machine learning concepts and methodology, including Linear regression, SVM, and neural networks. Incorporate Natural Language Processing and frameworks (Stanford CoreNLP or Princeton WordNet) in enhancing software functionality. As part of development team, discuss new possible features to improve performance of application and customer experience. Establish a detailed program specification for new features. Translate program specification into programming language. Determine operational feasibility and devising possible solutions to anticipated problems. Identify and implement required software modifications for process improvement and participate in technical reviews/audits of products. Devise test-driver development methodology. Develop and validate test plans. Perform tests according to planned schedules, or after any code or product revisions. Ensure back up for instant recovery in case of problems and develop or implement procedures for ongoing revision. Identify problems uncovered by testing or customer feedback, and correct problems or refer problems to appropriate personnel for correction. Research, evaluate, and recommend emerging technologies for our services and determine secure implementation strategies. Develop advanced software with UNIX/Linux Schell Scripting and Bash. Develop with both relational and non-relational databases. Manipulate extremely large data systems, real-time systems, and information systems. Integrate data storage solutions including but not limited to ElasticSearch and Redis. Work with distributed, scalable systems and write efficiency-focused code. Train and mentor technical staff of varying skill levels. Lead technical design decision-making and work with product managers to communicate next steps for the team.
degree (or foreign equivalent) in Software Engineering, Computer Science, or
related field plus three years of
experience in the following: (i) designing and developing databases with
Microsoft SQL, PostgreSQL; (ii) coding using core programming technologies
including: NET, ASP.NET, .NET, MVC, C#, Entity Framework, Go, Ruby, Python,
C/C++, and Java; (iii) developing novel algorithms using machine learning
concepts and methodology, including Linear regression, SVM, and neural
networks; (iv) incorporating Natural Language Processing and frameworks
(Stanford Core NLP or Princeton WordNet) in enhancing software functionality.