Software Architect – Mobile Devices, Apps and more
We are looking for a talented and experienced software architect to join our clients growing business.
As a software architect, you will put your knowledge of systems hardware and software to use in building the infrastructure (frontend, backend, automation frameworks, tools/utilities) to support the build of custom applications.
You will work closely with developers and programmers to guide high-level decisions throughout the design process and promote more efficient development work.
Software Architect Responsibilities
• Design and implement hardware systems and software applications
• Develop architectural solutions for databases, user interfaces, and web services
• Conceptualize software solutions to address particular needs for end-users
• Pitch project proposals to departments, management, or clients
• Provide training about new programs to end-users
• Collaborate with programmers and developers to determine project scope and direction
• Decide on the platforms and coding standards to be used in project development
• Evaluate existing software solutions to identify areas for improvement
• Create modifications for existing software to upgrade performance
• Conduct testing to ensure optimal functionality
• Debug any errors or issues that arise
• Ensure architectural integrity of software solutions
• Determine project timelines and complete work to deadlines
• Assign tasks to members of the development team
• Conduct cost analysis to ensure projects remain within budget
• Maintain thorough documentation of systems and applications
• Mentor, encourage, and motivate team members
• Oversee architectural approaches from conception to installation
Requirements & Qualifications
To succeed within this role, you should have solid experience in several of the following areas:
• A genuine passion for efficiency, automation, and infrastructure/platform building
• A solid computer science background that allows you to understand what it takes to build a great scalable system
• Must be proficient in C/C++ to build critical tools, libraries. Must be proficient in Python for efficient automation work
• Must be proficient working under Linux & Windows environments and familiar with all SW development tools
• Highly desired 5+ years of work experience with distributed systems, multi-threading coding, client/server design principles & implementations.
• Experience with database design and data modeling
• Huge plus if any working experience on message queue, distributed DB, daemons & web services, Elastic search & UI design etc.
• Clear and coherent written communication, including visual representations of data
• Always seek for excellency / perfection, and always deliver results with efficiency
• Professional certification in software architecture, frameworks, or languages
• Knowledge of Agile development methodologies
• Background in service oriented architecture (SOA)
• Understanding of software development lifecycle (SDLC)
• Bachelor’s degree in computer science, software engineering or a related field