9 Pmr Softtech Jobs
Software Engineer - Java/Python (3-9 yrs)
Pmr Softtech
posted 1d ago
Roles and Responsibilities :
- Design and develop high-performance network applications using OOP languages like Java (Must have) and Python
- Implement, enhance network applications such as DNS based global load balancers and supporting policy engines, HTTPS based reverse proxies and backend for supporting services like management and reporting portal.
- Implement, enhance and maintain network control plane applications like DNS/DoH/DoT, DHCP, Radius, NTP
- Implement, enhance network applications related to configuration of network devices and efficiently managing changes to those configurations over time.
- Be able to store and retrieve network application and device configurations in relational databases using optimized queries and best practices.
- Develop and maintain RESTful APIs for IPC across components and data retrieval.
- Perform test driven development and create automated unit test cases (Junit, Pyunit etc.) and end to end test automation for all development tasks.
- Optimize existing network applications for security, performance, reliability and scalability.
- Participate in the entire application lifecycle, focusing on coding, code reviews, debugging, and testing.
- Write clean, maintainable, and efficient code, adhering to best practices and coding standards.
- Collaborate with network engineers and other software developers to integrate network applications with other systems.
- Provide technical support for network applications, including troubleshooting and resolving issues.
- Keeping up-to-date with emerging trends and technologies in network engineering and programming paradigms.
Preferred Qualifications :
- Masters degree in Computer Science or Computer Applications, or a Bachelors degree in Electrical and Computer Engineering with computer science courses.
- 3-9 years of industry experience preferably in data communications companies.
Required Skills For software engineer network applications :
- Expertise in Object oriented programming design and languages such as Java.
- Solid experience with normalized database design, optimization, and management in MySQL.
- Strong knowledge of SQL, foreign keys, multi table joins, views, different join types, E-R diagrams, ORM mapping and database transactions and stored procedures.
- Familiarity with JSON, XML, XSD, web services and RESTful APIs.
- Expertise in asynchronous socket programming with Java.
- Expertise in data structures, algorithms, and design patterns. Knowledge of test-driven development, thread safe programing, best practices/tools for development
- Knowledge of data structures especially tries, trees and graphs along with efficient algorithms to traverse them, application of tries on IP address and CIDR subnet searches.
- Experience with multi-threading safe programming, real-time systems, and inter-process communications.
- Familiarity with software development and CI/CD tools (e.g., Git, Ansible, Jenkins).
- Detailed knowledge of Linux-based OSes (e.g., Ubuntu, Rocky Linux, Red Hat)
- Strong analytical and problem-solving skills.
- Excellent verbal and written communication skills.
- Ability to work collaboratively in a team and independently with minimal supervision.
Desired Skills For software engineer network applications :
- Knowledge of Shell programming and Python
- Knowledge of virtualization and containerization technologies (e.g., KVM, Docker).
- Ability to create new microservices from scratch
- Knowledge of JSON, NoSql databases like MongoDB, Cassandra etc.
- Knowledge of XSLT for XML transformations
- Familiarity with Cloud computing technologies especially Azure based.
- Familiarity with network and application security best practices including OAUTH, certificates, PKI.
- Understanding of networking protocols (TCP/IP, QUIC, DNS, HTTP, DHCP, BGP, OSPF, ISIS, VRRP, MPLS)
- Experience with Agile/Scrum methodologies and a collaborative approach to software development.
Functional Areas: Other
Read full job description