Tech Lead Vacancy at Logicify
Logicify opens a Tech Lead vacancy in Kherson, Ukraine. This is a non-remote position.
What is a technical leadership and what is a tech lead doing at Logicify? In short, this is a person who:
- makes technical decisions - investigates opportunities, chooses frameworks, technologies, approaches, defines project's architecture, solves technical disputes and conflicts.
- always stays within the project's context and exhaustively owns the technical side of the process. Not only developers and PMs will seek for their advice, but customer representatives as well.
- constantly learns and teaches others through code reviews, mentoring and monitoring junior and fresh developers on the project.
- together with PM, coordinates a team of developers and assigns technical tasks, can estimate time and efforts required to complete these tasks.
Generally, this is one of key positions on the project. No important decisions are taken without this person.
Why is this Vacancy Open?
Our model of work presumes that almost each our team should have this highly qualified specialist. It allows tech leads learn and practically implement new technologies, develop leadership and management skills, and teach younger developers proper best practices. At the same time, Logicify feels safe for the technical decisions made in this or that project. Of course it does not mean that we build teams according to the pattern "10 juniors + 1 tech lead = PROFIT". The teams are balanced not to lock the whole project onto one person.
We've recently been getting significantly more projects than we have people who can lead them, so that we started to miss quite interesting opportunities.
List of Professional Skills Which Really Fit This Role
- English level is sufficient for voice communication with customers.
- You can both learn and teach others.
- You can understand business and client needs.
- Computer Science
- Algorithms and data structures: You must know common data structures and algorithms (at least that they are there), properly select and implement them whenever needed. You must evaluate algorithm complexity.
- Object-oriented programming and patterns: You must know what is SOLID, Domain Driven Design, and IoC. You know and can use widely common programming patterns, as well as design REST services.
- Architecture: You can design applications according to business needs, given resources, scaling potential, technical skills and team expertise. UML skill is nice to have.
- IT Skills
- Continuous Integration: With an existing project, you can deploy CI from scratch.
- Deployment: You can design and set up a deployment procedure on a project.
- Network protocols: You must know how TCP\IP, UDP, WebSockets are working, what is OSI, how the router and firewall work. Cloud skills are good to have.
- Databases: You can design relational databases (PostgreSQL is appreciated). You know what is normalization. You know that there are non-relational databases (graph, document-based) and why they are different.
- General IT Expertise
- Debug: You can troubleshoot effectively and use modern debug tools (conditional breakpoints, xhr breakpoints, intercepting and analyzing traffic, profiling, etc.)
- Testing: You can not only write adequate unit-tests, but also design and support all required infrastructure (seed data, preparing environment, integrating with CI).
- Error processing: You can competently and uniformly build exceptions handling in an application. You must know the difference between error flow and exception flow.
- Code Extensibility: From your own experience, you know how to balance between system extensibility, speed of development and readability of the code.
- Reading skills of someone else's code: You can understand such code and evaluate it using criteria currently important for the project.
- You can split tasks into smaller units, plan and evaluate.
- Back-end \ Python
- You have good command and experience in Python.
- You know its peculiarities and what CPython is.
- Frameworks: You are experienced with or at least understand how Django Framework, Celery, Django Rest Framework work.
- HTML \ CSS: You know what is semantic layout, what should and should not be done with HTML\CSS.
- Typing and Typescript: You know how to properly use typing as an effective tool. You know Typescript syntax and prefer typed code over non-typed.
- You are at least somewhat familiar with Angular 2+.
What do we offer?
- You will be able to solve interesting and open tasks.
- You will get $3,000 - 3,500 / mo as a starting compensation, the actual offer will depend upon the interview results.
- We work with startups and do not target large Enterprise projects. Why is it good?
At Logicify, we differentiate by being involved - both in our clients' issues and in our people. In exchange for your time, we offer:
- Personalised improvement plan, updated every 6 months.
- On-site English courses.
- Regular tech talks and discussions.
- Open culture: achievements are appreciated, achievements over your role is a clear way to success.
- Competitive compensation - similar to the outsourcing companies market, depending on the interview and your level.
- Compensation review is tied to your growth and improvement.
- Tax benefits and compensations + service.
- Office space and air. A lot of it. As of now, we have 25+ sq.m per person - the size of a studio flat.
- 24hr accessible office.
- On-site gym, shower (hello bikers), kitchen. Coffee and tea.
- Multiple meeting rooms available for calls and discussions.
- A parking space and safe haven for your bicycle.
- Open and interesting community. Easy to make friends, open atmosphere, new thoughts are welcome.
- Access to advices: You need it - you ask for it. People around will help.
- Paid sick days.
- Work from home when needed.
- Paid time off allowance.
Opportunities and Work Models
Our customers are mostly startups - we do not target large Enterprise projects. Why is this an advantage?
- The teams are relatively small (2-10 people).
- You can directly influence decisions and processes.
- You can work on discovery tasks and design interesting prototypes.
- There is no old and outdated tech stack. We use fresh technology because the projects are relatively short and each time a proper stack is picked up.
As for the tech stack itself, it is quite modern and topical:
- Docker, Terraform, AWS
- Python, Django, Django Rest Framework, Celery
- Angular 6+
- PostgreSQL, Neo4J, MongoDB
How to Apply?
If you are interested, please fill in the form below or email your CV to email@example.com.
Thank you for your application. We will contact you shortly.