As a Senior Principal Engineer, you’ll lead a team of engineers through challenging development projects. Come join a highly collaborative team of skilled engineers with a passion for quality.
What You’ll do:
- Work in an agile environment, orchestrating a group mostly comprised of skilled PHP engineers of various levels to complete User Stories authored by professional Product Managers
- Architect highly scalable/transaction heavy web/API applications
- Work with 1-2 Frontend resources (in addition to backend PHP) through projects in React, Angular (maintenance), MooTools/Jquery (deprecation), Socket.io and serverside NodeJS
- Work with Product and QA Managers in multiple grooming sessions and sprint planning for your team
- Collaborate/coordinate with other Engineering Managers and Leads
- Work with QA and Application Support teams to triage bugs
- Work with DevOps to automate deployment and monitoring of applications
- Design and develop Restful APIs using frameworks with design patterns
- Design JSON payloads and various payload contexts
- Convert complex business rules and workflows from User Story requirements into SalesForce type CRM applications and client facing web portals
- Work with monolithic legacy codebases, along with design patterns in newer repositories
- Work with large database schemas of 500+ tables
- Write complex queries. Efficiently joining upwards of 20 tables, some containing +10m rows. In T-SQL or Doctrine ORM
- Integrate 3rd party platforms via APIs and callbacks
- Write Unit tests and documentation
What You Have:
- 10+ years professional experience developing APIs & web based applications in PHP as an individual contributor
- Prior experience working with organized development teams (5+ member pods)
- Prefer hands-on experience using MS SQL Server, CosmosDB, but other relational databases/NoSQL ok (MySQL, Postgres, MongoDB)
- Professional experience using open source PHP frameworks. Symfony3+ preferred (Laravel, CodeIgniter - ok)
- Experience scaling in LAMP, but also leveraging Redis, RabbitMQ, Elastic Search (ELK), SupervisorD, Socket.io, centralized Session stores
- Prefer experience designing fault tolerant architecture on cloud deployments (loadbalancing, clustering, reducing/eliminating single points of failure, etc)
- Understand branching, merging, pull requests and conflict resolution in Git (Bitbucket or Github)
- Experienced in leveraging issue tracking systems and wikis for documentation (Jira/Confluence)
- Comfortable on CentOS Linux, command line, SSH, SFTP, SCP…
- Full stack is a plus (JavaScript, CSS, HTML, React/Angular/Vue)
- Able to onboard self and others while working entirely remotely in EST
- Experience in Azure PaaS and IaaS
- Experience crafting architecture diagrams in Visio or LucidChart
- Problem solving skills and a proactive work style
- Strong interpersonal & communication skills
About Guidepoint
About
Similar jobs
We're looking for highly skilled experienced engineers to design and build high-scale, cloud-based data processing systems that can handle massive amounts of data with low latency. You'll work with a team of smart, motivated, and diverse people and be given the autonomy and support to do your best work. This is a rare opportunity to make a meaningful impact in society while working in a dynamic and flexible workplace where you'll belong and be encouraged.
Qualifications:
- Bachelor's Degree required
- Significant experience with distributed systems.
- Experience with modern programming languages such as Java, C#, C/C++, or Ruby.
- Experience with container platforms such as DC/OS, Kubernetes
- Fluency in technologies and design concepts around Big Data processing and relational databases, such as the Hadoop ecosystem, Map/Reduce, stream processing, etc.
- Experience with production operations and good practices for putting quality code into production and troubleshooting issues when they arise.
- Effective communication of technical ideas verbally and in writing, including technical proposals, design specs, architecture diagrams, and presentations.
- Ability to collaborate effectively with the team and other stakeholders.
- Preferably, production experience with Cloud and data processing technologies.
Responsibilities:
As a member of the software engineering division, you will take an active role in the definition and evolution of standard practices and procedures. Define specifications for significant new projects and specify, design and develop software according to those specifications. You will perform professional software development tasks associated with the developing, designing and debugging of software applications or operating systems.
- Design and build distributed, scalable, and fault-tolerant software systems.
- Build cloud services on top of the modern OCI infrastructure.
- Participate in the entire software lifecycle, from design to development, to quality assurance, and to production.
- Invest in the best engineering and operational practices upfront to ensure our software quality bar is high.
- Optimize data processing pipelines for orders of magnitude higher throughput and faster latencies.
- Leverage a plethora of internal tooling at OCI to develop, build, deploy, and troubleshoot software.
-
Proficient in .NET Framework, C#, ASP.NET, MVC, Web API, Entity Framework.
Strong design capabilities with SOLID principles using C#.
Working knowledge in WCF.
Database knowledge in SQL
Design, and deliver innovative software solutions in collaboration with Technology teams.
Develop high-quality production code
Experience in HTML, CSS, Javascript.
Experience in React / Angular or Typescript preferred
• Bachelor’s degree in Computer Science or IT related field
• 4-6 years of experience working across different product domains in a product development/engineering role
• Good communication skills necessary to manage business requests and work with different teams across differ-
ent geographies and time-zones; experience working with remote and distributed teams will be an added ad-
vantage
• Hands-on working knowledge and experience is requiredin:
a. JavaScript, Typescript, NodeJS (Express, NestJs, etc.)
b. Experience working in GCP or AWS or Azure
c. Experience working in Containers & Unix Platforms
d. Relational Databases (PostgreSQL, MySQL, SQL, etc.)
e. Agile Methodologies (Scrum, TDD, BDD, etc.)
f. Understanding of Microservices Architecture, Domain Driver Design, Test Driven Development and
Secure Design patterns and architecture is a must
g. Data Structures and Algorithms using Javascript, Typescriptand/or other Programing Languages
h. Strong organizational skills
i. Agile Methodologies (Scrum, TDD, BDD, etc.)
• Experience with several of the following tools/technologies is desirable:
a. GIT (Bit Bucket, Gitlab, etc.), Jira, Gradle, Maven, Jenkins, SharePoint, Eclipse/IntelliJ.
b. Design Patterns and implementing the Design Patterns
c. Development of Complex Application and System Architectures
d. NoSQL Databases (Redis, Mongo, etc.)
e. Full stack development
f. Experience working with CI/CD pipelines with for example GitHub Actions.
• Knowledge of the following technologies is a plus:
a. Other Programming Languages (Java, Python, etc.)
b. Continuous Integration and Continuous Delivery Tools like Jenkins, Git, etc.
c. Secure Development based on OWASP standards
We are looking for a highly capable Node.js developer to optimize our web-based application performance. You will be collaborating with our front-end application developers, designing back-end components, and integrating data storage and protection solutions.
To ensure success as a Node.js developer, you should possess extensive knowledge of Node.Js based services and experience in a similar role. An accomplished Node.js developer will be someone whose expertise results in the stable, fast, and secure exchange of data between servers and end-users.
Node.js Developer Responsibilities:
Developing and maintaining all server-side network components.
Ensuring optimal performance of the central database and responsiveness to front-end requests.
Collaborating with front-end developers on the integration of elements.
Designing customer-facing UI and back-end services for various business processes.
Developing high-performance applications by writing testable, reusable, and efficient code.
Implementing effective security protocols, data protection measures, and storage solutions.
Running diagnostic tests, repairing defects, and providing technical support.
Documenting Node.js processes, including database schemas, as well as preparing reports.
Recommending and implementing improvements to processes and technologies.
Keeping informed of advancements in the field of Node.js development.
Node.js Developer Requirements:
Bachelor's degree in computer science, information science, or similar.
At least two years' experience as a Node.js developer.
Extensive knowledge of JavaScript, web stacks, libraries, and frameworks.
Knowledge of front-end technologies such as HTML5 and CSS3.
Superb interpersonal, communication, and collaboration skills.
Exceptional analytical and problem-solving aptitude.
Great organizational and time management skills.
Availability to resolve urgent web application issues outside of business hours
1. Must have knowledge of Laravel and PHP
2. Can solve bbugs
3. can work with multiple of projects like eCommerce, Tour & Travels, LMS etc.
1. Strong working knowledge of Php CMC Frameworks & object-oriented Php Programming and Drupal |
2. Strong knowledge of SQL/MySQL. RDBMS |
3. Familiar with the Apache Configuration |
4. Understanding the fully synchronous behavior of Php & Mvc Design patterns |
5. Ability to build Restful Api, Using Oops, Data Structure, and algorithms. |
6. Strong knowledge of the common Php or Web Server exploits and their solutions |
7. Creation of Plugins/widgets Written to Conform with the Drupal Coding Standards |
8. Leverage and Develop Apis, Plugins, and Scripts as Needed, to Interface with Internal Applications, Social Platforms, and Third-party Services. |
9. Strong Knowledge of Working On the Cms and Web Frameworks such as Drupal and hands-on experience in front-end technology. |
10. Hands-On Coding Expert in Php, SQL, and Javascript |
11. Must have Experience in Managing a Team of Min. 15-20 team members |
12. Must Possess Excellent Attention to Detail and Be Able to Familiarise and Quickly Learn New Software/ Framework/ Languages/ Technology With Requirements |
13. Should Be Smart to Grasp Requirements Quickly and Can Guide the development in a Global Team Coordination. |
14. Understand Client Requirements and Drive Projects with High-Quality Output. |
15. Should Be a Team Player and Bring Positive Influence Within the Team |
16. Ensuring High-performance and Availability and Managing all Technical aspects of the CMS |
17. Outstanding Communication and Presentation Skills |
18. Ability to Detect Performance Issues/ Scalability Bottlenecks, Existing Queries, and Write New Queries with Performance Optimization in Mind. |
19. Should Be Able to Interact with the International Clients |
- Good skill on NodeJS, Angular 4+, MongoDB, and MySQL
- Having Good knowledge of AWS serverless technologies (Lambda) and other services like EC2, S3 SES, and others.
- Must be passionate about writing clean, efficient, and maintainable code.
- Self-starter with the ability to cope with sharp learning curves.
- Primary: NodeJS, MySQL, MongoDB, AngularJS, ES6 Additional: Angular 2.x and Angular 4
- B.E Computer Science or equivalent
- 3 years experience with the Django framework
- Experience with building APIs (REST or GraphQL)
- Strong Troubleshooting and debugging skills
- React.js knowledge would be an added bonus
- Understanding on how to use a database like Postgres (prefered choice), SQLite,
MongoDB, MySQL.
- Sound knowledge of object-oriented design and analysis.
- A strong passion for writing simple, clean and efficient code.
- Proficient understanding of code versioning tools Git.
- Strong communication skills.
Experience:
- Min 3 year experience
- Startup experience is a must.
Location:
- Remote developer
Timings:
- 40 hours a week but with 4 hours a day overlapping with client timezone. Typically
clients are in California PST Timezone.
Position:
- Full time/Direct
Other Benefits
- We have great benefits such as PF, medical insurance, 12 annual company holidays, 12
PTO leaves per year, annual increments, Diwali bonus, spot bonuses and other
incentives etc.
- We dont believe in locking in people with large notice periods. You will stay here
because you love the company. We have only a 15 days notice period.
- Bachelor’s Degree in Computer Science or equivalent
- 8-12 years’ of industry experience in programming web applications, mobile and/or large scale enterprise products
- Deep knowledge of C#, ASP, .NET, MVC, .Net core
- Deep knowledge and extensive experience working on Ruby or React and JavaScript, as required
- Experience with XML, ADO/ADO.NET, LINQ, AJAX, IIS
- Extended experience with SQL, relational and non-relational databases
- Experience in TFS and Visual Studio
- Hands on experience with SDLC and programming design patterns
- Experience with Agile methodology
- Skillful at reviewing new feature impact on an application and recognizing potential risks
- Uses time effectively and efficiently
- Quickly learns new technologies
- Detailed oriented, professional and possesses a positive work attitude
- Communicate professionally both verbally and in writing
- Effective time management skills
- Knowledge on UI technologies will be plus
PRINCIPAL DUTIES AND RESPONSIBILITIES:
- Develops software solutions by studying information needs, conferring with users, studying systems flow, data usage, and work processes, investigating problem areas, following the software development lifecycle.
- Conducts systems analysis and makes recommendations to improve the system to achieve an outcome.
- Promotes internal best practices and coding conventions to write and execute tests for your own code, including creating comprehensive unit tests.
- Contributes to Technical Requirements Documents.
- Requests constructive feedback for designs early in the process.
- Communicates successfully with large teams and many stakeholders.
- Provides mentorship for Software Engineers and participates in interview panels to hire new Software Engineers.
- Assists in removing obstacles for the team to yield successful sprints.
- Performs peer code reviews to ensure quality of the codebase.
- Ability to decompose and delegate work to junior engineers.
- Updates job knowledge by studying state-of-the-art development tools, programming techniques and computing equipment; participating in educational opportunities, reading professional publications, maintaining personal networks, participating in professional organizations.
- Works effectively with multiple projects and features.
- All other duties as assigned.
Out of many tools and technologies, we use Java, MongoDb, Cassandra, Redis, Twem, Netty extensively for our back-end development.
- Leading the entire Backend platform for a product portfolio.
- End to end delivery new features.
- Evolving the architecture for performance and scalability.
- Design, develop and own components of a highly scalable, distributed web services platform.
- Constantly strive to improve software development process and team productivity.
- Mentor and train team members
- Lead module development independently
Required background, Knowledge, Skills and Abilities
- 5.5+/ 7+ Years of experience in a scalable product/ecommerce organization·
- Excellent Java skills, Understanding of Spring framework & MVC approach
- Strong knowledge of Performance optimization and caching techniques.
- Strong Object Oriented Programming concepts, data structure and algorithms
- Experience in developing scalable, fault-tolerant, distributed backend services
- Experience with prevalent design patterns and advanced system designing
- Good experiences with databases and Schema design. We heavily use NoSQL databases
- Strong Problem Solving skills