Nokia Kraków

Software Architect

Daily activities:

  • Requirement analysis, software design and implementation of industrial grade software on embedded real-time platform.
  • Development of specification and design of assigned architecture entity.
  • Participation in planning, reporting and reviewing of documents and architecture within the frame of specific project.
  • Decision making in business critical aspects, balancing technical and business benefits.
  • Execution of technical activities by leading and supervising a team of engineers.
  • Cooperation with project managers in program and resource planning activities.
  • Writing requirements, specifications and other guiding documentation for R&D from a technical point of view.
  • Cooperation with internal and external stakeholders involved in a project, coaching and leading the teams in solving complex engineering problems from various areas of technology.
  • Cooperation with software integration engineers regarding integration and verification within the frame of the project.
  • Conducting technical trainings.
 
Our expectations:
  • BSc or MSc degree in Computer Science, Telecommunications, Software Engineering or similar.
  • Expert level in C/C++ development, analysis and design of complex commercial software products.
  • Experience in creating advanced software architecture, redesigning and refactoring.
  • Experience in embedded systems programming (HW resources constraints: limited memory, CPU) including HW.
  • Debugging, multithreading and multiprocessing (IPC, parallel computing).
  • Expertise in algorithm optimization, code profiling, analysis of memory usage violations and real-time performance enhancing.
  • Knowledge of Unified Modeling Language (UML).
  • Good practical knowledge of STL and boost libraries.
  • Design Patterns (thread-safe oriented).
  • Experience with SW and HW debugging tools (gdb, JTAG, lauterbach).
  • Strong analytical skills.
  • Effective teamwork skills.
  • Fluent English, both spoken and written.