Senior .Net Specialist Applications Developer
Purpose of the role and overview
We are a dynamic engineering and product design team focused in the consumer Internet and mobile space. We are an entrepreneurial enterprise and move with the speed, flexibility, tenacity and freedom of a startup while benefiting from the resources available to us within the group.
Our most notable achievements:
- We built the world's first Small Business productivity suite for Gmail
- It is the #1 App for Gmail on Product Hunt
- Another product we made is the #1 Chat service on MTN
- We are a well-funded entity
The Senior Specialist Applications Developer role will see the qualifying candidate needing to design, implement and support robust high volume production systems and play a lead role within the development team. The systems are high volume scaled applications utilizing a wide variety of tools, technologies and platforms.
The position is a key role at the company and there will be a high level of involvement with the management team and other key members of staff. The goal of the position would be to ensure that the products and services are well designed and architected as well as being implemented in a manner that is high performing, scalable, stable and user friendly.
Furthermore the person fulfilling the role will be required to support with processes and quality standards, as well as assisting the development team to hit goals and deadlines.
Together with the executive management team, the successful candidate would be responsible for growing the company through building great products, new initiatives, and enhancing products areas, assisting with internal processes and helping to develop skills within the development team.
Mybeat works in a cross functional manner where different people and teams work together in a collaborative way to innovate with new products, and to make sound business decisions.
This job is for you if
- You love what you do and software excites you
- You enjoy working in a small team
- You want to be heard
- You want to be very involved in product design and architecture (over and above development)
- An innovative, fluid startup environment appeals to you
- You have ambitions to create something on an international scale
- You have ambitions to be a stakeholder in something
- You enjoy solving problems
- Quality and elegant solutions matter to you
- You like to deliver fast
This job is not for you if
- You don't truly love applying yourself
- You want to be told exactly what to do and/or need detailed design specifications (rather than having the freedom to figure things out for yourself)
- You like a corporate environment
We have invested in building a flat structured organisation where all members of the company work in a cross-functional manner. This structure has intentionally been created to draw the most out of each individual in order to define a culture that fosters innovation and accountability and positions the company tactically in the ever-changing technology space.
Having said that, there are project leads and general day-to-day operational reporting will occur through the project leads and or directly to the Technical Director.
Formal Qualifications required
- Relevant tertiary qualification and / or 6+ years of relevant experience is required.
Work Experience Required
- Experience with high volume server based application design and programming.
- Experience with client based application design and programming.
- Experience with product and systems architecture.
- Exposure to database design and maintenance.
- Experience with dev/ops and supporting server infrastructure
- Experience working with dependency injection, unit testing and design patterns.
- Experience as a full stack senior developer (considered advantageous).
Areas of Responsibility
- Design and architect complex large scale software systems, including mobile web and mobile (native/hybrid) applications
- Develop and deliver aforementioned software systems
- Produce and maintain architectural and design documentation
- Perform Systems Analysis, Impact Analysis and Design of application and database solutions
- Enforce architectural, design and programming standards
- Assist in the design and maintenance of traditional SQL data sources such as SQL Server and MySQL as well as NoSQL based data stores such as MongoDB & Redis
- Provide and or assist in creating time/points estimates for functional/logical blocks of work
- Assist with Refactoring and Bug fixing
- Help in assisting ensure that the code base is well managed and that the Continuous Integration and Continuous Deployments strategies are followed (where applicable)
- Assisting with Code Reviews and other activities to ensure code quality
- Assisting with maintenance of Production systems
- Providing after hours support for production systems to ensure 24/7/365 uptime
- Assist with product and project management when required
- Helping to coordinate priorities
- Coordination and management of outsource suppliers
- Provide feedback to management on the state of applications and development progress
- On call support as required.
- Other tasks required by management.
Required Skills & Technologies
- Experience with server based application design and programming
- Experience using Microsoft .NET particularly C# and MVC Frameworks
- Experience with ORMs (preferably NHibernate or Hibernate)
- Experience using Dependency Injection and IOC containers
- Experience with ElasticSearch and Kibana
- Experience with MySQL 5+ and its associated tools
- Experience using Microsoft SQL Server 2008 R2+ (Managing and writing advanced T-SQL)
- Experience using HTML 5
- Sound knowledge of database design and maintenance
- Analytical approach to problems and meticulous attention to detail
- Interpersonal communication (verbal and written)
- Time management
- Persistence, drive and determination to overcome challenges
- Ability to make choices and sets priorities to meet the organization's needs and fit with the organizational mission
- Passion for solving complex problems
Skills Considered Advantageous
Working knowledge of the following technologies and tools:
- AngularJS 2
- AWS EC2/ RDS/ VPC
- .Net Core
- Objective C/iOS
- Windows Server 2008/2012
- CSS 3
- SQL Server Reporting Services
Personal attributes deemed necessary to fulfill such tasks and responsibilities
- Honesty, commitment, reliability, flexibility, self-motivated, team player with the ability to work with people of different viewpoints, open to different approaches, open to constructive criticism, hardworking, and respectful of others.