The role of software architect makes high-level design choices based on your coding experience. Software architects may focus entirely on the design methodology of the code. In addition, the architect may sometimes dictate technical standards, including coding standards, tools or platforms. Architects are involved in all areas of development from backlog to implementation, deploy and monitoring.
- Design, develop and execute software solutions to address business issues. Works to establish functional requirements and reviews solutions to ensure organizational needs are met.
- Selects and oversees implementation of one or more software development methodologies.
- Develops short- and long-term product roadmaps to ensure continuous improvement of software.
- Document and demonstrate solutions by developing documentation, flowcharts, layouts, diagrams, charts, code comments and clear code.
- Prepare and install solutions by determining and designing system specifications, standards and programming
- Improve operations by conducting system analysis, recommending changes in policies and procedures
- Protect operations by keeping information confidential
- Provide architectural blueprints and technical leadership to our IT team
- Keep up to date on the newest technological innovations in the field and be ready to apply relevant innovations.
- Collaborate with peer organizations, quality assurance and end users to produce cutting-edge software solution.
- Fosters a positive team environment
- Ensures confidentiality of internal and external data
- Performs ad-hoc projects and other duties as assigned
- Verbal Communication – Advanced
- Written Communication – Advanced
- Teamwork – Advanced
- Relationships – Advanced
- Negotiation – Advanced
- Learning Agility – Advanced
- Problem Solving – Advanced
- Process Orientation – Advanced
- Prioritization – Advanced
Role Specific Skills
- Comprehensive understanding of object-oriented and service-oriented application development techniques and theories
- Solid understanding of relational database design and querying concepts
- Exposure to Microsoft .NET development using C#, or JAVA or other major languages
- Familiar with Design Pattern, algorithm and data structure
- Knowledge of client/server application development
- Knowledge of agile development and testing methodologies
- Broad and deep technical knowledge
- Experienced with source control management systems and continuous integration/deployment environments
- Experienced with debugging, performance profiling and optimization
- Internally motivated, able to work proficiently both independently and in a team environment
- Strong communication skills with both internal team members and external business stakeholders
- Strong initiative to find ways to improve solutions, systems, and processes
- Bachelor's degree in Computer Science, or with equivalent professional experience
- 5+ years of experience as a senior software developer
- Experience working on complex software projects