www.opcito.com
Job Description:
We are seeking a dedicated Golang Developer with 2+ years of experience to join our growing company. You will collaborate with other technical staff to deliver and maintain a fully functional software implementation. We hope you can put your passion for software engineering to work to create highly immersive user applications.
Required Skills:
• 2 - 7 years of Industry experience in the relevant domain.
• Good working knowledge of distributed systems and de-coupled architecture.
• Working knowledge of Container technologies: Kubernetes (preferred), Docker, etc.
• Working knowledge of VMware VCenter, VMware ESXi and VM management.
• Self-motivated, with ability and interest in learning new technologies and adapting quickly to new requirements.
• Good team player with a great attitude to learn.
• Ability to iterate fast in an agile environment.
• Strong analytical and problem-solving skills.
• Strong interpersonal skills - must be able to work effectively as part of a project/ program team and foster team cooperation.
• Must be able to effectively communicate technical information to both technical and non-technical personnel
Responsibilities:
• Design and Development of NSX-ALB's Upgrade and Gslb Infrastructure projects by adhering to the cloud and distributed networks' native design principles.
• Develop software for scale that would be deployed at different types of cloud infrastructures.
• Take ownership of your design and development activity by resolving bugs found in unit testing, system testing and customer deployments.
• Develop multi-cluster/multi-cloud workflows and define industry roadmaps for adoption.
• Develop low latency and high-performance solutions with fully automated test suites.
• Code in Golang for most of your day with a working knowledge of Python.
• Adaptability and multi-language proficiency (shell, Python, Golang)
Why should you join Opcito?
We are a dynamic company that believes in designing transformation solutions for our customers with our ability to unify quality, reliability, and cost-effectiveness at any scale. Our core work culture focuses on adding material value to client products by leveraging best practices in DevOps like continuous integration, continuous delivery, and automation, coupled with disruptive technologies like cloud, containers, serverless computing, and microservice-based architectures.
Here are some of the perks of working with Opcito:
- Outstanding career development and learning opportunities
- Competitive compensation depending on experience and skill
- Friendly team and enjoyable work environment
- Flexible working schedule (Hybrid Work Model: 3 days WFO and 2 days WFH)
- Corporate and social events.
About Opcito Technologies
About
Company video
Photos
Connect with the team
Similar jobs
Job Description:
• Experience in Core Java, Spring Boot.
• Experience in microservices.
• Extensive experience in developing enterprise-scale systems for global organization. Should possess good architectural knowledge and be aware of enterprise application design patterns.
• Should be able to analyze, design, develop and test complex, low-latency client-facing applications.
• Good development experience with RDBMS in SQL Server, Postgres, Oracle or DB2
• Good knowledge of multi-threading
• Basic working knowledge of Unix/Linux
• Excellent problem solving and coding skills in Java
• Strong interpersonal, communication and analytical skills.
• Should be able to express their design ideas and thoughts.
Required skills:-
2+ years of experience in the Development of JAVA technology.
Strong Java Basics
SpringBoot or Spring MVC
Hands-on experience on Relational Databases (SQL query or Hibernate) + Mongo (JSON parsing)
Proficient in REST API development
Messaging Queue (RabitMQ or Kafka)
Microservices
Any Caching Mechanism
Good at problem-solving
Good to Have Skills:
2+ years of experience in using Java/J2EE tech stacks
Good understanding of data structures and algorithms.
Excellent analytical and problem solving skills.
Ability to work in a fast-paced internet start-up environment.
Experience in technical mentorship/coaching is highly desirable.
Understanding of AI/ML algorithms is a plus.
You need to write scalable Python code for developing and implementing robust applications. You would indulge your dedication and passion to build server-side logic ensuring low-latency and high end performance. You should have sound knowledge of Python frameworks such as Django and Flask.
YOUR ‘OKR’ SUMMARY
OKR means Objective and Key Results.
As a Software Engineer at Coredge, you will help develop our next-generation cloud native core solution along with the product and the open-source community to build the Coredge.io vision.
What you will do?
- System engineering and implementation in Python and Golang.
- Working on performance issues using creative experiments and internally developed product features.
- Research, propose, and integrate relevant open-source projects based on product objectives.
- Write organized, efficient, and well documented Python/Golang code as an example for junior engineers.
- Participation in all levels of product definition, design, implementation, testing, and deployment.
- Must include the ability to discuss abstract system architectures from ideas through implementation and
creatively apply domain experience to solve technical challenges.
- Mentoring software engineers, fostering an environment of trust and accountability.
What you will need?
A strong sense of ownership, urgency, and drive. As an integral part of the development team, you will need the
following skills to succeed.
- Strong Python skills to develop framework(s).
- Hands-on to design & develop re-usable framework components.
- Hands-On experience on developing framework, designing re-usable framework components.
- Experience in engineering practices such as code refactoring, design patterns, design driven development, Continuous Integration, building highly scalable applications, application security and functional programming.
Additional Skills:
- Knowledge of Cloud native would be an advantage.
- Understanding of Kubernetes from Architecture side and also understand the Standard API.
- Code contributed to CNCF or similar community will be plus.
- Performance benchmarking of K8’s or any cloud will be added advantage
• Excellent interpersonal/communication skills, both verbal and written •
• 7+ years of experience in Java/Node.js, REST/Graph QL, Redis on AWS Fargate • Design and develop high quality back-end code (Node.js/Go/JAVA) • Excellent in one or more Go, Java, Node.js skills • In-depth knowledge of Restful / GraphQL API, JSON.
• Experience with CI/CD and tools like Git, Bitbucket and Jenkins.
• Solid understanding of relational databases (e.g., Postgres, MySQL) and experience in NoSQL (e.g., Graph DB, MongoDB, DynamoDB).
• Developing new software applications, features, and distributed services that support a high-scale web application
• Experience working in a fast-paced environment; continuous deployment, test-driven development, agile methodologies
• Stay current with the latest back-end technologies and best practices and share your findings with the team
• Help evolve our backend stack and mentor our other developers when it comes to patterns and best practices
• Work as part of an agile team across a variety of application domains
• Write structured, tested, readable and maintainable code • Participate in code reviews to ensure code quality and distributed knowledge
• Ability to contribute to each step of the product development process (ideation, implementation, and release)
• Experience with performance tuning, profiling, and debugging applications
Job Details:
- Three plus years of experience in IT systems analysis and application program development
- Experience in an Object Oriented Programming language such as Java is a must
- The candidate must be a hands-on coder doing active development
- Extensive experience programming in Java Application Development & RESTful API
- Experience in AWS Cloud technologies is optional but good to have
- Proficient in Object-Oriented Programming (OOP) concepts, workflows, and design patterns
Responsibilities:
- Designing and implementing Java-based applications.
- Analyzing user requirements to inform application design.
- Defining application objectives and functionality.
- Aligning application design with business goals.
- Developing and testing software.
- Debugging and resolving technical problems that arise.
- Producing detailed design documentation.
- Recommending changes to existing Java infrastructure.
- Developing multimedia applications.
- Developing documentation to assist users.
- Ensuring continuous professional self-development.
Requirements:
- Good knowledge in Java integration, Spring and oauth/Rest Integration
Job description
We are looking for a passionate Software Development Engineer to develop, test, maintain and document program code in accordance with user requirements and system technical specifications. As a Software Development Engineer, you will work with other Developers and Product Managers throughout the software development life cycle.
Software Development Engineer responsibilities include analysing requirements, define system functionality and writing code in the companys current technology stack. The candidate is expected to be familiar with the software development life cycle (SDLC) process from preliminary system analysis to tests and deployment. Ultimately, the role of the Software Engineer is to build high-quality, innovative and fully performing software that complies with coding standards and technical design. Your goal will be to build efficient programs and systems that serve user needs.
To be qualified for this role, you should hold a minimum of Bachelor’s degree in a relevant field, like Computer Science, IT or Software Engineering. You should be a team player with a keen eye for detailed and problem-solving skills. If you also have experience in SDLC, Agile frameworks and popular coding languages (e.g., Java), strong computer science fundamentals we’d like to meet you.
Years of experience : 2 to 10 years.
Roles & Responsibilities
The overview of this position (based in Chennai, India) includes:
- Develops, enhances, debugs, supports, maintains and tests software applications that support business units or supporting functions. These application program solutions may involve diverse development platforms, software, hardware, technologies and tools.
- Participates in the design, development and implementation of complex applications, often using new technologies.
- Technology professional with experience in designing and managing the implementation of future looking, flexible and reusable, enterprise applications and components.
- Expert in translating business requirements into an application design that includes Data Model, Web Screens, Web Services, and batch processing.
- May provide technical direction and system architecture for individual initiatives.
- Serves as a fully seasoned/proficient technical resource.
- Deploy programs, gather and evaluate user feedback
- Recommend and execute improvements
- Create technical documentation for reference and reporting
- Develop software verification plans and quality assurance procedures
- Document and maintain software functionality
- Ensure software is updated with latest features
- Good interpersonal and technology understanding skills
- Evaluate open-source components and integrate into product pipeline
Skills and Qualifications
- Hands-on experience in analysis, design, coding, and implementation of complex, custom-built applications.
- Strong Java, development skills (JAVA, J2EE, STRUTS, SPRING, Web Services, Eclipse, UI screens, AngularJS, React.JS)
- Excellent debugging skills
- Strong knowledge on databases (MySQL, MSSQL Server and NoSQL databases)
- Understanding of various deployment servers (Apache Tomcat is a must)
- Understanding of OO skills, including strong design patterns knowledge is a must.
- Strong understanding in creating and maintaining web services.
- Understanding of the software development life cycle
- Experience with Implementation and release management activities
- Good understanding of unit/system and functional testing methodology
- Experience working in large transaction-based systems
- Knowledge of software best practices, like Test-Driven Development (TDD) and Continuous Integration (CI)
- Experience documenting technical functions
- Desire to contribute to the wider technical community through collaboration, coaching, and mentoring of other technologists.
- Experience in Linux based systems, development of shell-based scripts.
Job Training
- Training on the coding paradigms, guidelines, frameworks, usage of the applications would be provided by the engineers
- Periodic training sessions would be conducted by the technical architects in terms of technology and skills to be learnt
- Periodic, structured training would be provided on the applications Hours & Environment
- Typical 40 hours of work a week
- Depending on the requirements, work hours may have to be extended during the day, weekend
Libraries, Interface, Language Fundamentals
Data Structures, Algorithms, Collections
Design Patterns, Singletons
Multithreading
Messaging, CI/CD
Databases
Tooling:
Application Layering, Architectural Design
Unit Testing/ Integration Testing
Any Devops tooling experience (Docker/ Kubernates/ Terraforms)
Tool Configuration and Log Monitoring