Cognician is looking for a Senior Full Stack Developer – starting immediately.
Cognician is a mature product start-up in the corporate learning space. Our mission is to create the space for ideas to form, grow, and ultimately change lives and the world!
Does this mission sound like something you would want to be a part of? Can you see yourself working for a company driven by the desire to make people’s lives better?
We’re building the world’s best platform for online coaching and we’re looking for a Mid to Senior Front End Developer whose experience and skills will help us achieve that.
Our team is composed of a variety of purpose-driven, friendly, smart, skilled, and overall ‘good-weird’ people. We’re all focused on solving the big problems of digital coaching in the workplace according to our own particular skills and strengths. We know that we’ve got a lot of work to do here. We’re eager to do it and enjoy working together as we do.
You can get to know a little about each of us on our team page.
Although we have a physical office in Cape Town, we’re organized as remote-first and asynchronous, since that’s how we started! Our entire organization is in the cloud.
You can learn quite a bit about our tech stack – April 2019 marks our seventh year with the Clojure stack – and culture in a fairly short space of time on episode 27 and episode 48 of the ZADevChat podcast, where our CTO, Robert Stuttaford, appeared as a guest.
- You’re proactive. You understand the value of getting in front of potential problems and work to do so.
- You’re organized. You care about how your work is done just as much as you care about what kind of work you’re doing.
- You’re meticulous. The work you produce is fit-to-purpose, consistent, and complete.
- You’re responsible. You own the problem, not just the solution.
- You’re empathic. You know that this is all about people first.
- You’re a communicator. You understand that effective work is about shared understanding and you strive to achieve that – you’ve got ‘em super communication skills.
- You ask lots of questions.
- You prefer a ‘learning mindset‘, but you can clearly motivate and defend your ‘fixed mindsets.’
- You’re calm and focused under pressure.
- You optimize for your intrinsic motivators – mastery, autonomy, and purpose.
- You understand and value the difference between a goal and a strategy.
- You’re a natural teacher and coach.
- You’re conscious of the passage of time and what that means for a company and a team.
- You’re able to make decisions on your own and work independently.
- You can assess tasks quickly and prioritize adequately.
- Your ability to estimate task time accurately is astounding!
- You live and breathe testing, automatic, manual, and find QA a dream!
- You have an eye for detail and a passion for making.
- You’re not intimidated by data – you can see both the technical and business value of it!
Your Qs and Experience
- Bachelor’s degree or equivalent in Computer Science are preferred
- Alternate Engineering and/or technical qualifications are welcomed if there is no BCompSc
- Previous experience building and maintaining an online system and program is essential
- Portfolio of visible work
- Experience with Clojure (preferred) or a willingness to learn (welcomed)
- HTML 7–10+ years
- CSS 7–10+ years
- Linux or system admin 7–10+ years
- Strong UX design skills
- Experience in database design
- Experience with GitHub or another version control system
- Experience with graphic formats and graphics editing
- Familiarity using Scrum/Agile development methodologies
- Data management and analysis
Technologies that we use
- We use Clojure for our entire stack: server-side, client-side (with ClojureScript), in the database (with Datomic), and in our deployment/CI system. For CSS we use Sass and Compass.
- We use GitHub, FlowDock, Asana, and Google Apps. We also use OSX and Linux. We host on Amazon Web Services EC2 and AWS S3.
- We have automated CI and deployment systems in place, with testing VPSes as well as the AWS cluster – all driven by our FlowDock bot.
- Thanks to Clojure’s brevity, we’ve not yet reached 50,000 lines of production code across all our projects! Because our entire stack is brand new, we don’t have legacy code to contend with. No PHP or SQL here – although it’s not a bad thing if you’re familiar!
Some of the Things You’ll Do (And Then Some)
Awesome Front-End Work
Implement web pages from designs and mockups:
- Develop and test UI for responsive web applications
- Implement using a variety of Closure and ClojureScript tools
- UI testing
- Accurately translating user and business needs into functional front end code
- Work with Design to make best interfaces
Cross-browser responsive design:
- Cross-browser compatible CSS
- Responsive design for all browser viewport sizes
- Knowledge of special browser features and bugs
Update and fix existing pages:
- Fix or update any reported issues on existing pages
- Keep the rest of the team informed with progress updates
Deploy new features or changes to the production or test servers:
- Build reusable code and libraries for future use
- Code new website features or changes for client and/or internal needs
- Use git and GitHub to manage code
- Ensure that coding standards are adhered to
- Make sure that reported bugs are tracked and update the team on its status
- Fix any errors or bugs in the code or design of the website and make sure they are tracked
- Ensure interfaces are cross-browser compatible
Thrilling Back End Work
- Building data reporting functionality
- Building data reports and assets
- Creating data efficiencies for clients
- Creating data access points within the business
- Assisting project managers and account managers to access and interpret data
- Create and manage efficient and effective ETL processes
You will need to be comfortable working in a team with other developers and designers to accomplish tasks and goals. Amongst other things, this will involve:
- Managing tasks and priorities among team members
- Making sure that other team members are unimpeded
- Ensuring that tasks are completed in a timely manner
- Tracking tasks and progress using Asana, keeping your task statuses updated, and regularly reporting progress to the rest of the team
Our office in Cape Town, South Africa is where we hang out at least once a week – if you don’t have the Pacific Ocean or the Transkaroo between you and the mortar. However, if you’re devving at a distance, a once a month pop in to soak up our culture and to coach other tech folks on your discipline and practice would be super. And if you’re way way way away, well, let’s just keep chatting and interacting as best we can so that we can still properly own this important responsibility together.
If we’re speaking the same OOP language and you’ve had enough of complecting state and behavior, you just want to try something new, you’ve tried and liked Functional Programming, or you’re looking for a new challenge, please apply.
Fill in this neat form that tells us a little bit more about yourself and the work you’ve done: https://goo.gl/forms/k1NtvXlFIg2LpZyw2. This helps us figure out if we’re a match!
By the way, if you don’t have experience with Clojure, we’re open to skilling you up on the go. You’d have the support of the whole tech team. We all had to go through the same process.
Don’t be shy to pass this on!
Hope to have you start with us, like, yesterday already!