Location: Columbus, Ohio – Department: Engineering
DENISTEK LLC is looking for a Software Engineer for the following responsibilities:
Develop Database Driven Dynamic Websites and SaaS Applications
Use database management software, SQL Server Management Studio/Toad and Oracle SQL Developer, to create relational or non-relational databases, design database schema, stored procedures, manipulate database data and analyze performance bottlenecks. Be proficient in open source database or non-relational database as well, like MySQL and MongoDb. Manage database including administration, ETL, optimization, backup/archive/retrieval, and monitoring/tuning.
Use professional software design diagram tools, eg LucidChart, to design software systems and draw architecture diagrams in UML formats.
Use Amazon AWS/Microsoft Azure cloud services including but not limited to AWS S3, SQS/SNS, ElasticCache Redis, Aurora SqlServer, DynamoDB and etc.
Be experienced in the full software and database development lifecycle.
Be aware of data warehouse, data mining, disaster recovery and business intelligence solutions.
Be Involved in the Lifecycle of Software Development, including Coding, Testing, Deployment, Implementation and Production Support.
Use Unix/Linux/Windows command line tools for system operations.
Use Git tools, GitHub and Bitbucket, to commit code, merge code with branches, create pull requests, and push code into the repositories.
Use Continuous Build tools, like TeamCity, to continuous build code and report errors.
Use Continuous Inspection tools, like Sonar, to continuous scan the code for potential defects and improve the coding quality.
Deploy code using WinSCP on web application servers including Apache, Tomcat, JBoss and IIS.
Use JIRA to track work progress and report status.
Use Wiki to document the software features.
Use multithreading testing tools like JMeter to test functions and system’s performance across multiple browsers including Edge and Chrome.
Be proficient in project lifecycle and agile software development methodologies.
Write and communicate technical designs professionally using UML.
Be able to troubleshoot production issues when error happens
Use software monitoring tools like Sumologic and New Relics to monitor the behavior and performance of the systems. Receive alerts when the system is not behaving normally.
Troubleshoot any issues when needed.
Use SoapAPI, Postman and JMeter to test the software system.
Troubleshoot problems from all software engineering perspectives including but not limited to: hardware, networking, software, security, third-party packages, integration, and databases in an enterprise context.
Apply Object Oriented Programming and relational database design principles during the software development process.
Understand software development theories and fundamentals. Correctly apply technologies of Object Oriented Languages, Machine Learning, Single Sign On, SAML, OAuth2, Rest API, Web Services, XML, JSON, Spring, MVC, Hibernate, Servlet/JSP, EntityBean to meet specific software requirements and follow established code design patterns.
Understand the software system architecture of Message Oriented Architecture, multi tier web architecture, and miroservices.
Understand the software best practices of high performance, reliability, scalability, maintainability and low coupling.
Integrate with external software systems using RESTful and/or SOAP services when needed.
Install and use various professional software integration packages to help development.
Use XML/JSON to follow industry software data model standards.
Bachelor or Master’s degree in Computer Science.
Experienced using tools of Netbeans, Eclipse, Git and JMeter, Oracle, SQL Server Management Studio, JIRA, wiki, and etc.
Knowledge of software architecture, design patterns, cloud computation, full software development life cycle, and Agile methodologies.
Skills of database design, backup, recovery, administration, and program using SQL.