A Java Senior Application Architect is a senior level technical contributor as well as an effective leader of a development team. A Java Senior Application Architect has demonstrated expertise in a variety of information technology concepts, practices, and procedures and can design, modify, develop, write and implement software applications. The Senior Application Architect will be a member of an agile development team that is responsible for the full application lifecycle. You will be responsible for guiding technical team for development of product using Java/Java EE application framework and related technologies as well as participate in developing complex modules on your own
Responsibilities
Design and develop high-volume, low-latency applications for mission-critical systems, delivering high-availability and performance.
Define API’s that provide simple and consistent access to enterprise data.
Coordinate technical solutions across development teams.
Work with testing specialists to devise automated tests and monitoring tools.
Configure and manage deployment of Java applications in pre-production and production.
Identify gaps in core technologies and help select solutions to fill these gaps.
To technically lead software projects through all stages of the life cycle, including responsibility for requirements capture, design, development and acceptance testing
To produce high quality technical documentation for our product
To decompose technical tasks and provide accurate estimates
To coach less experienced members of your team
To undertake development tasks without supervision, including software designing, programming and testing within a Test-Driven Development process
To monitor progress and provide updates to the Project Manager
To understand and apply a formal quality approach
Deep understanding of Java enterprise development best practices and coding conventions and to ensure that all standards are followed as per well defined software architecture
Technical Requirements
1. 5 Stars - Must have
2. 4 Stars - At this experience, the developer is expected to know about these.
3. 3 Stars - Good to have
OOPs
Java 8 and above (☆☆☆☆☆)
OOPs, concepts like Inheritance, Polymorphism, Encapsulation, Abstraction, Composition, and how knowledge of real-life implementations.
Strong concepts of Object-Oriented Programming (☆☆☆☆☆)
Design Principles and Design Patterns (☆☆☆☆)
Design Principles - One should be aware of SOLID principles and when designing a solution, one must reflect these principles.
Design Patterns - Knowledge of design principles like Factory Method Design Pattern, Singleton Design Pattern, Observer Design Patter, and must also explain the implementation examples.
Multithreading, concurrency and Java Memory Model (☆☆☆☆)
Concepts like Threads, Thread Pool, Locks, Synchronization, Creating, and solving deadlocks.
Creating Parallel Pipeline processing
Heap space, types of memories in Java
Java Memory Model
Garbage Collector
Difference between Synchrozied and Non-Synchronised collections in Java.
Queues and different types of queues in Java
Serialization and deserialization (☆☆☆☆)
Data Structures and algorithms
Basic Data Structures like - Stacks, Queues, Map, HashTables, LinkedList, Trees along with their implementation - (☆☆☆☆)
Concept of Time Complexity and Space complexity must be clear. (☆☆☆)
Implementation of searching and sorting algorithms like - Binary Search Brute Force Search, Bubble Sort, Merge Sort, Insertion Sort. (☆☆☆☆)
Backend
Spring Boot - (☆☆☆☆☆)
Spring MVC - (☆☆☆)
Maven - (☆☆☆☆☆)
Frontend
HTML, CSS, Javascript (☆☆☆☆☆)
AngularJS - (☆☆☆)
ReactJs - (☆☆☆☆☆)
React Native - (☆☆☆)
Databases
MySQL - (☆☆☆☆☆)
Elasticsearch - (☆☆☆)
Redis - (☆☆☆)
Cloud
Google Cloud Platform (☆☆☆☆)
Open Source Frameworks(☆☆☆ (At least practical knowledge of any 2 of the below is must have))
Kubernetes
Knative
Project Istio
Elastic
ELK Stack
Candidate experience, qualification and personality traits:
Degree in Computer Science, Engineering or a related subject
Atleast 5+ years of software development experience
Relevant domain experience of managing cloud based ERP or e-commerce or banking/payments platforms is must
Ability to communicate effectively with technical and non-technical stakeholders.
Ability to lead and guide team members
Be an extraordinary team player
Needs to have an eye towards futuristic technologies and products
Passion for product development and in solving complex engineering problems.
Candidate Reviews on Qfix Infocomm Private Limited