My picture

Ivan Tsenilov

Front-end web developer

Education

2015-2017 Master's degree,
Applied Mathematics and Information Technology;
Murom Institute of Vladimir State University (Murom)

2011-2015 Bachelor's degree,
Information Technology and Computer Science;
Murom Institute of Vladimir State University (Murom)

Programming Languages

javascript: The language I'm most comfortable with over two years of experience. Used such tools as jQuery, Bootstrap, AmChart. Recently started learning other frameworks such as React.js and Node.js.

PHP: Was used as a primary language when I was developing a web-application when working at the university. I know the basics of the language though haven't had a chance to use it as of late.

Basic knowledge of HTML, CSS, git

Experience

The place I'm working at right now:
Worked with a team on a web application that helps control a budget of a mid-sized organization. The app increased employee accountability and provided a convinient tool for keeping track of budget operations. Technologies used:

  • javascript, jQuery, Bootstrap, HTML and CSS for frontend;
  • Transact-SQL for getting data from a MS Server database.

The place I worked at before:
While studying for my master's degree worked on a project for internal document flow mostly used by professors and university employees. PHP was used along with MySQL for storing data and javascript/HTML/CSS for frontend.

Additional information

Human Languages:

  • Russian (native speaker)
  • English (C1)

Spent 5 months in the USA as a Work and Travel student that helped me improve my English speaking skills a lot. Also learned what it is like to work in a team and deal with high-intensity work environment.

Currently I'm taking part in a Front-End Development course by RSSchool that has already significantly improved my code quality and fundamentals. In spare time I'm also learning React.js and MERN stack.

Code example

function uncurry(fn) {
    return function(...args) {
        while (typeof fn === 'function' && fn.length <= args.length) {
            fn = fn(...args.splice(0, fn.length))
        }
        return fn
    }
}