Software Engineer-Backend | Algorythma
Algorythma is a first-rate end-to-end technology company,that creates impactful products backed with experience from leading individuals, corporations and institutions across the globe. Algorythma is developing world-class sustainable technology initiatives and products that address the needs of individuals, institutions, corporations and government entities.We are a team of scientists, developers, artists, designers, writers, and innovative thinkers who have joined to transform creative ideas into turnkey solutions and applications.
At Algorythma, technology is at the heart of all that we do. From identifying issues that impact lives, to supporting experts in creating solutions, we focus on building products and teams that transform industries and the boundaries of business with technology.
We are looking for a smart, talented, energetic and entrepreneurial individual for the role of Software Engineer. The engineer will be responsible for the development, deployment, maintenance and enhancement of internal corporate software and systems (including development of a software for financial reporting and analysis, internal websites & web-portals, internal web-based and mobile applications) for the company and associated companies within the larger group. The engineer will also be assisting the team in other projects of commercial nature targeting a wider market.
- Plan and execute, rapid prototyping and full lifecycle implementation (start to end), of various financial and non-financial / corporate software (both frontend and backend aspects of the software).
- Interact and interface with various internal stakeholders, to gather requirements and to collect feedback.
- Be involved in the decision making on, and the implementation of, various design and UI/UX aspects, e.g. UI/UX of web-applications or mobile-applications, related to the software(s).
- Work on consumer-facing and consumer-focused products as well,
- Be responsible for quality and timely delivery of the software(s) that the individual is assigned to deliver.
- Computer Science & Engineering degree from an internationally recognized top tier engineering / technology institute or university.
- Strong programming skills in at least one programming language.
- Programming experience (4+ years) - with one or more of Java, C/C++, C#, PHP, JSP, Python, Perl, Scala, etc.
- Technology experience (4+ years) - Full-stack development - both frontend and backend systems / components.
- Has worked with multiple operating systems: Linux, Windows, MacOS, etc.
- 2+ years of experience working with Linux. Knowledge of shell scripting.
- Can evaluate various technologies and platforms, and provide pros and cons of the same.
- Can quickly learn a new programming language or technology, if/as/when required. Open to learning new technologies & software, and can do so easily & effectively.
- Experience with Object Oriented Programming and familiarity with functional programming concepts.
- Has worked with Open Source Technologies extensively.
- Has developed or can develop internal corporate / enterprise-level software that will be used within the company design patterns.
- Can solve problems by writing code. Data Structures, Algorithms & Coding. Design & Architecture of systems. End-to-end (full-stack) development experience (frontend and backend). Experience with full lifecycle of a software product’s development, from start till end.
- Experience with server-side technologies e.g. Java/J2EE, Node.js, etc.
- Experience with RDBMS technologies (like MySQL, MS-SQL-Server, Oracle, etc.) and NoSQL technologies (like MongoDB, Couchbase, Redis, Memcached, etc.).
- Writes clean and testable code. Writes Unit Tests, and follows Test Driven Development (TDD) wherever possible.
- Has performed Code-Reviews.
- Has done Debugging, Performance Testing, Performance Optimization, Memory Management, Automation, Deployment, Monitoring, etc.
- Ability to think through and optimize functional & non-functional aspects of a software application.
- Experience with development of Distributed Systems (web-based systems, web applications, web portals, Web Services, APIs), deployment, and scaling.
- Practices Agile Methodology of Software development. Knows about Software development best.
- Keen Analytical Mind. Clear Logical Thinking. Strong Problem Solving & Mathematical Skills.
- Ability to grasp concepts & ideas quickly, & learn new skills fast. Quick learner.
- Ability to handle multiple projects. Multi-tasking skills. High speed of execution.
- Agile. Adaptive. Flexible. Quickly understands & adapts to new situations, as the situation changes, and changes quickly as per the demands of the situation.
- Efficient & effective in planning and completing various engineering tasks. Efficient & Effective in time management. Confident about handling complex/challenging situations independently.
- Good verbal and written communication skills. Can confidently communicate complex technical ideas and concepts to seniors and stakeholders, clearly, using easy to understand language.
- Ability to take a full project to successful completion, from start till the end. Ability to work on complex projects from scratch (i.e. from inception). Ability to plan for future, and create a roadmap for a project.
- Can work in a collaborative manner in a complex, ever-changing, dynamic environment (where requirements may be vague and changing), while interfacing with cross-functional teams & people. Is a strong individual contributor and a good team-player.
- Knowledge of Reporting and Analytics software (e.g. financial reporting software, etc.).
- Knowledge of Corporate Systems - Document Management Systems, HR Management Systems, Finance/Accounting Systems (Software), etc.
- Good sense and understanding of design (web design & mobile app design) & UX aspects.
- Entrepreneurial spirit. Mentorship experience. Has led projects before.
- Has worked in a fast-paced organization (e.g. a start-up) before.
- Has worked with Internet-scale technologies and systems that ensure high availability of a system/platform.