Post a job

Principal Software Engineer: Java Full Stack

LegalMatch.com logo

Location
Finland
LegalMatch.com

Job Description

As a Principal Software Engineer, you will be responsible for leading and implementing technical decisions and efforts of a software engineering team, overseeing and performing the development of high-quality software products, and enhancing our existing software platforms alone or with individuals of the same or similar role. The role requires a combination of strong leadership, advanced technical capabilities, and excellent communication skills. The successful candidate must have a deep understanding of the software development lifecycles, modern software engineering technologies and methodologies, and the ability to guide and inspire a team of talented engineers.

The Principal Software Engineer is the basic unit member of a future engineering department capable of taking the business where it needs to go. High performing, skilled engineers - capable of thriving in both a team environment and as individuals. In a gist, this is a coding/technical role with good management ownership mindset.

Your responsibilities will include:

  • leading and managing a team of software engineers, fostering a creative and cohesive unit capable of delivering complex software projects
  • coordinating with scrum masters, project managers and other software engineers to plan, design, develop, test, and maintain web-based and desktop applications
  • providing technical leadership in all aspects of our software development processes
  • overseeing the design, development, and implementation of new software systems and enhancements to existing systems
  • ensuring all software engineering projects are delivered on time and to the agreed quality standards
  • continually updating technical knowledge and skills and sharing them with the team
  • maintaining high standards of software quality within the team by establishing good practices and habits
  • providing regular performance feedback, coaching, and career development to team members
  • facilitating root cause analysis of system issues and implementing resolution strategies.

Requirements

    • Demonstrates a positive and proactive attitude, embracing challenges with enthusiasm and a willingness to learn new skills.
    • Problem solver, actively seeking innovative solutions and experimenting with different methodologies to improve efficiency and effectiveness.
    • Collaborative team player, possessing strong communication skills and a commitment to working effectively with others to achieve shared goals.
    • with a minimum of 7 years of hands-on experience in software development, including at least 3 years in a leadership capacity
    • with extensive experience in various programming languages such as Java, C++, C# dot Net, Python, JavaScript, etc.
    • competent in Object Oriented Design, functional programming, and even with straight forward scripting to solve problems.
    • with solid experience as a full stack developer, capable of working proficiently at both the backend and frontend levels (ex: HTML, ES6, Virtual DOM like ReactJS, and DOM like bootstrap + jQuery).
    • is aware of good User Experience (UX) practices and trends, capable of effectively proposing how to improve User Experience and understands when to trust clients/stakeholders on their chosen path of UX
    • is familiar with modern software architectures (microservices, event-driven architectures) and deployment methodologies and tools (CI/CD, Docker, Kubernetes)
    • believes that software quality is not the work alone of the Quality Assurance/Control team
    • has practiced unit testing and Test-Driven Development (TDD and optionally Behavior-Driven Development (BDD)
    • with experience in software development methodologies like Agile/Scrum.
    • has a strong knowledge of database systems, both SQL and NoSQL, and entity relationship modelling.
    • has excellent problem-solving and detail orientation skills
    • possesses strong communication and interpersonal skills
    • has proven ability to manage and prioritize multiple, concurrent projects
    • is familiar with cloud platforms (AWS, Azure, Google Cloud) is a plus

Additional Requirements:

    • has a proven track record of managing all aspects of a successful software product throughout its lifecycle
    • with solid understanding of the technology landscape including current and emerging technologies and best practices
    • can inspire and motivate teams to deliver innovative and exciting solutions with an appropriate sense of urgency
    • has demonstrated success in leading and managing a team of software engineers with a commitment to their growth and professional development
    • has an exceptional project management and organization skills
    • with strong customer focus and ability to manage client expectations
    • proficient in system-level design and experience with web services and service-oriented architecture
    • is familiar with version control systems such as Git
    • has an experience in testing frameworks and practices, including unit, integration, and automated testing
    • has an experience in securing software applications
    • with excellent written and verbal communication skills, including the ability to explain complex technical concepts to a non-technical audience.
    • is flexible to adapt to rapidly changing conditions and priorities
    • can multi-task, prioritize tasks, and quickly adjust in a rapidly changing environment
    • can furnish a comprehensive portfolio or provide examples of projects where they have successfully led the software engineering effort

Our ideal candidate possesses the following qualities and traits:

    • proactive, adaptable, and flexible
    • highly professional
    • has the willingness to go the extra mile to achieve desired outcomes
    • with strong collaboration and communication skills to work effectively with cross-functional teams
    • with strong problem-solving skills
    • committed to continuous improvements and willing to experiment with new approaches and techniques to work processes

Advice from our career coach

A successful candidate for the Principal Software Engineer role should be a proactive problem solver with strong communication skills and extensive experience in software development and leadership. To stand out as an applicant, focus on showcasing your technical expertise, leadership capabilities, and commitment to continuous improvement. Here are some specific tips to help you stand out:

  • Demonstrate a positive and proactive attitude towards challenges
  • Showcase your experience in hands-on software development and leadership roles
  • Highlight your proficiency in various programming languages and modern software architectures
  • Emphasize your experience with Agile/Scrum methodologies and version control systems like Git
  • Showcase your strong problem-solving and detail orientation skills
  • Provide examples of successful software engineering projects you have led
  • Highlight your ability to manage multiple projects simultaneously and prioritize tasks effectively
  • Be prepared to discuss your approach to improving software quality, user experience, and team performance
  • Illustrate your commitment to continuous learning and sharing knowledge with your team

Apply for this job

Expired?

Please let LegalMatch.com know you found this job with RemoteJobs.org. This helps us grow!

About the job

Sep 4, 2024

Full-time

  1. FI Finland
RemoteJobs.org mascot