Translating user needs and system requirements into written code that can be compiled and executed.
Using programming languages like Python, Java, C++, JavaScript, PHP, Ruby, Swift, and others, depending on the project.
Creating Algorithms
Designing efficient algorithms that solve specific problems within an application, such as sorting data, managing user inputs, or handling network requests.
Debugging and Testing
Identifying and fixing bugs or errors in the code to ensure the software runs smoothly.
Writing and executing unit tests to verify that the software performs as expected and to catch any potential issues early.
Optimizing Code
Refining code to improve its performance, scalability, and maintainability, reducing the resource consumption and increasing speed where possible.
Collaboration and Communication
Working with Teams
Collaborating with other programmers, designers, product managers, and quality assurance (QA) engineers to deliver the best possible solution.
Participating in team meetings to discuss requirements, progress, and project goals.
Understanding User Requirements
Communicating with clients, stakeholders, or end-users to understand their needs and how software can address them.
Translating functional requirements into technical specifications for development.
Version Control
Using version control systems like Git to track changes, collaborate with other developers, and manage different versions of the codebase.
Types of Programming
Frontend Development
Creating the part of software or a website that users interact with, which includes writing HTML, CSS, and JavaScript to structure and style the user interface (UI).
Using frameworks like React, Angular, or Vue.js to build dynamic web applications.
Backend Development
Writing server-side code that processes user requests, interacts with databases, and handles application logic.
Working with technologies like Node.js, Java, C#, or Ruby on Rails, and using databases such as MySQL, PostgreSQL, or MongoDB.
Full-Stack Development
Combining both frontend and backend development skills to build complete applications.
A full-stack developer is proficient in both the client-side and server-side aspects of software development.
Mobile Development
Developing applications for mobile devices using languages like Swift (iOS) or Kotlin (Android).
Designing apps that provide smooth user experiences on smartphones and tablets.
Game Development
Writing code for video games, which may involve working with game engines like Unity or Unreal Engine.
Game programmers focus on creating game mechanics, simulations, and performance optimization for real-time interaction.
Embedded Systems Programming
Writing code for devices that are not traditional computers, such as microcontrollers, automotive systems, or medical devices.
These systems often have strict performance, memory, and power constraints.
Data Science and Machine Learning
Programming applications that involve large amounts of data, such as data processing, analysis, and building machine learning models.
Desired candidate profile
Key Responsibilities:
Develop, maintain, and support applications built on PowerBuilder.
Collaborate with business analysts to understand business requirements and translate them into effective solutions.
Optimize database performance and ensure seamless application integration with Sybase ASA (experience with Sybase ASA is preferred).
Conduct testing and troubleshooting to ensure application stability and resolve issues.
Maintain clear and professional communication in English with team members and stakeholders.
Qualifications:
Proven experience as a PowerBuilder Programmer.
Strong database skills, with experience in Sybase ASA preferred.
Excellent communication skills, with proficiency in English for effective collaboration with business analysts.
Self-motivated and capable of working independently in a remote setup.
Benefits:
Opportunity for professional growth through participation in large, impactful projects.
Competitive salary commensurate with experience and qualifications.