Roles and responsibilities
Software Development
-
Writing Code
- 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.
- Flexible work-from-home environment.