Adding public key / various resume tweeks
[pwan.org.git] / content / pages / resume.rst
1 Jude Nagurney
2 #############
3
4 :date: 2013-09-13
5 :tags: resume
6 :category: resume
7 :author: Jude N
8 :status: hidden
9
10 | 1136 Forest Edge Drive
11 | Reston, Virginia, 20190
12 | Phone: (703) 831-7492
13 | jude.nagurney@gmail.com
14
15 =======
16 Summary
17 =======
18
19 | I'm a results-oriented software engineer with a strong focus on agile and devops-related processes.
20
21 =================
22 Technical Skllls:
23 =================
24
25 - **Languages** : Python, C/C++, Ruby, Perl, Java, SQL, Bash, Expect, Tcl/Tk, UML OCL, COBOL
26 - **Tools** : Puppet, Cobbler, Jenkins, emacs, vi, Jira, Bugzilla, git, Mercurial, Subversion, Jira, Crucible, Reviewboard, xUnit, SELinux
27 - **Frameworks** : Django, Pylons, Rails, TurboGears, SqlAlchemy
28 - **Operating Systems** : Linux (Ubuntu, RedHat, CentOS), Microsoft Windows, vxWorks, Solaris
29 - **Databases** : PostgresSQL, MySQL, Oracle, DB2
30 - **Standards Expertise** : SONET, SDH, TL1, LMP
31
32 ===============
33 Work Experience
34 ===============
35
36 -------------------------------------------------------------
37 Applied Security Inc., Reston Virginia (March 2010 – Present)
38 -------------------------------------------------------------
39
40 .....................................
41 Software Engineer (Engineering Group)
42 .....................................
43
44 Introduced 'infrastructure-as-code' to the ASI Engineering group.
45
46 - Introduced Puppet and Cobbler provisioning into the Engineering workflow, cutting down the time it took from them to bring up new data centers drasticly, and increasing consistency across all data centers.
47
48 - Captured the state of the existing Engineering infrastructure in Puppet manifests
49
50 - Introduced git and rpm packaging to internal Engineering projects
51
52 - Liason between development and operations, especially with respect helping development write code that wouldn't be denied against operation's SELinux policies.
53
54 ........................................
55 Software Engineer (Web Technology Group)
56 ........................................
57
58 Managed, developed and maintained the Web Technology infrastructure environment.
59
60 - Deployed Puppet across the WT infrastructure machine (DNS, Jenkins, Mercurial, Cobbler) as well as project-specific build server and test machines. Wrote scripts for monitoring the health of the puppet infrastructure.
61
62 - Designed the architecture for a custom internal cloud for quickly building stacks of test VMs based on Puppet, Cobbler, PDNS, and VMWare ESX, and deployed a majority of the components.
63
64 - Extended the number of Jenkins jobs to cover all WT projects, including building rpm/deb packages, publishing the packages to an internal repository, and then installing the packages from the rep to test machines.
65
66 - Wrote and maintained a script to verify Jenkins jobs were configured consistently across WT.
67
68 - Maintained the WT DNS zones and monitored the accuracy of the DNS records over time.
69
70 - Tuned the WT VMWare ESX servers and performed troubleshooting on slow VMs.
71
72 - Developed and maintained the packaging code of WT project
73
74 - Wrote and maintained RPM spec files for CentOS-based projects and Debian build directories for Ubuntu-based projects.
75
76 - Wrote and maintained /etc/init.d/ scripts for many WT projects.
77
78 - Maintained yum and apt package repositories
79
80 - Designed, developed and maintained a shared report building tool.
81
82 - Designed and implemented a Django application for creating ad-hoc reports.
83
84 - Designed and implemented Django and Pylons clients for the reporting tool.
85
86 -------------------------------------------------------------
87 NeuStar, Inc., Sterling Virginia (March 2009 – February 2010)
88 -------------------------------------------------------------
89
90 .........................................
91 Software Engineer III (UltraDNS Services)
92 .........................................
93
94 Maintained the UltraDNS XML API and AXFR services.
95
96 - Designed, implemented and deployed a system for maintaining secondary zone TSIG keys
97
98 - Extended and maintained the UltraDNS Python-based XMLRPC API .
99
100 - Extended and maintained the UltraDNS AXFR/IXFR zone transfer utility, written in C++.
101
102 - Extended and maintained a utility for gathering FNS query timing statistics.
103
104 - Worked on setting up consistent build procedures across the UltraDNS product line.
105
106 - Worked closely with off-site engineers in Arizona and India.
107
108
109 ---------------------------------------------------------------
110 StackSafe, Inc., Vienna Virginia (November 2006 – January 2009)
111 ---------------------------------------------------------------
112
113 ..............................................
114 Senior Software Engineer (Test Center Product)
115 ..............................................
116
117 Designed, developed and maintained StackSafe's flagship Test Center product, which was awarded the 2008 ITIL Innovation of the Year.
118
119 - Designed, implemented, maintained, and documented the product's TurboGears-based licensing system, including the design of its PostgreSQL database, and the sqlalchemy-migrations needed between releases.
120
121 - Designed, implemented, and maintained the licensing and upgrade portions of the product's Rails-based GUI, including a Ruby-based cron job which would occasionally poll the upgrade server for new releases.
122
123 - Designed, implemented, and maintained the product's Ruby-based command line interface.
124
125 - Developed and maintained the products Python-based storage daemon, which was capable of surfacing a virtual machines QEMU disk image over the network by using qemu-nbd and nbd-client.
126
127 - Helped develop and test the product's Python-based management daemon which was responsible for starting and stopping virtual machines.
128
129 - Performed root cause analysis after build failures, sometimes having to dig pretty deep into code I was not written , including Python, C++, Ruby , and Perl code and bash scripts Many times these failures turned out to be locking/synchronization issues between various system components.
130
131 - Maintained the Debian packages and apt-get repository using reprepro.
132
133 - Implemented and maintained the installation scripts associated with the products deb-based packaging.
134
135 - Customized the Debian install process to install our product along with the normal Ubuntu server installation, and to verify that the host machine supported virtualization. Since the Debian install process is not documented very well, this usually involved having to walk through the Debian-installer source to find out how it worked.
136
137 - Designed, implemented and maintained the product's build environment, including a Python based nightly-build script which built all the source, loaded it onto the appropriate test machines, and run the smoke tests.
138
139 - Acted as the primary QA engineer until a full time tester was hired, leading bi-weekly bug scrubs, and making sure all the outstanding issues were resolved before cutting a release.
140
141 - Championed unit testing as an integral part of the normal development environment
142
143 - Participated in code reviews, and monitored the SVN commit notices for questionable commits, especially after build failures.
144
145 - Used Puppet to maintain the configuration Engineering lab's collection of build and test machines.
146
147 - Submitted patches and bugs against the open source projects we were using on the product.
148
149 - Worked closely with off-site engineers in California and New Jersey.
150
151 ----------------------------------------------------------------
152 Cisco Systems, Herndon Virginia (November 2000 – September 2006)
153 ----------------------------------------------------------------
154
155 ........................
156 Senior Software Engineer
157 ........................
158
159 __________________________
160 Lead Engineer(LMP Feature)
161 __________________________
162
163 Led development LMP (RFC 4204) feature on the 15454DWDM multi-service transport platform.
164
165 - Wrote design document and test plans for the LMP feature.
166
167 - Implemented the IDL, CORBA layer, and TL1 (Transaction Language 1 – a widely used telecommunications management protocol) interface code for LMP feature
168
169 - Tracked incoming defect reports for the LMP implementation
170
171 - Participated in successful interoperability tests with the Calient PXC at the KDDI research labs outside Tokyo. Fixed and retested minor issues on-site during testing.. KDDI was very impressed with the quick turnaround time, saying it had taken a competitor months to make similar changes.
172
173 - Trained support engineers in the LMP feature during technology transfer
174
175 _________________________________
176 Lead Engineer (15600 TL1 Feature)
177 _________________________________
178
179 Led development for the TL1 interface for the 15600 multi-service transport platform.
180
181 - Assigned priorities for TL1-related bugs on the 15600 platform to a team of 7 engineers located in California, Texas, Italy, and India. Remove roadblocks associated with fixing the problems. Adjusted workloads to keep engineers from becoming swamped or burned out. Participated in most code reviews related to the 15600’s TL1 interface.
182
183 - Removed 100K SLOC by aligning divergent code bases between the 15454 and 15600 platforms. The common code base freed up engineers who had previously been dedicated to either the 15454 or 15600. Fixing a bug or extending one platform also ended up being reflected on the other platform as well.
184
185 - Worked closely with other Cisco sites in Texas, North Carolina, and California, as well as offshore developers in India, and Italy.
186
187 ________________________________________________
188 Software Engineer(15327, 15454, 15600 platforms)
189 ________________________________________________
190
191 Provided full life cycle support across a number of Cisco’s multi-service transport platforms
192
193 - Wrote and maintained an extensive TL1 regression test suite in Expect. The test suite originally was meant to provide early testing for OSMINE deliverables. The tests were so successful, they began being used as a stability metric after branch syncs or merges. Before the tests were available, it might be weeks before a sync error was discovered. After the tests were implemented, sync errors were noticed within a day.
194
195 - Implemented Telcordia’s COPY-RFILE feature. This was the first time the feature was developed by a vendor. Worked closely with Telcordia engineers to work out the kinks in their specification.
196
197 - Resolved 800+ defects over 5 years, making me on of the top 5 contributors on the team. Wrote 700+ defect reports over 5 years despite not being a QA tester. Posted more defects than most of the dedicated testers.
198
199 - Participated in multiple OSMINE certification cycles. The OSMINE testing cycle forced code delivery to Telcordia months before the software went through formal QA. This test suite guaranteed high quality software was delivered despite the lack of QA. OSMINE certification cost ~6M, so an unsuccessful certification effort would have been extremely expensive.
200
201 - Had to carry a pager once or twice a year on a rotating basis in case any serious problems happened in the field that the regular support engineers couldn't resolve.
202
203 ----------------------------------------------------
204 CACI, Fairfax, Virginia (March 1998 – November 2000)
205 ----------------------------------------------------
206
207 ....................................
208 Senior Systems Analyst / Task Leader
209 ....................................
210
211 _________________________
212 Web Invoice System (WinS)
213 _________________________
214
215 Developed Oracle stored procedures for digital signature application
216
217 - Migrated embedded SQL in a Java servlets application to use stored procedures, allowing the database developers to focus on the SQL code, and the Java developers to focus on the servlet code.
218
219 - Developed regression test plan for stored procedures.
220
221 ___________
222 DIFMS/NIMMS
223 ___________
224
225 Developed the project's C++ framework, and provided custom tools to support various aspects of the life cycle on a COBOL reengineering project
226
227 - Developed framework for server side batches in C++
228
229 - Implemented an engine for translating Rational Rose class diagrams into Oracle DDL scripts
230
231 - Implemented a Microsoft Word template for capturing business rules which were then ported to Rational Rose
232
233 - Implemented a database monitoring tool in Perl to ensure various design decisions were being maintained in the database schema
234
235 - Implemented a regression test system for the batches which was incorporated into the nightly builds.
236
237 -------------------------------------------------------------------
238 RS Information Systems, McLean Virginia (June 1995 – February 1998)
239 -------------------------------------------------------------------
240
241 ....................................
242 Senior Systems Analyst / Task Leader
243 ....................................
244
245 ____________________________________________________
246 Midwest Electronic One-Stop Shopping Service (MEOSS)
247 ____________________________________________________
248
249 Developed a credentialing and permitting system used by the trucking industry and state motor vehicle departments in seven Midwestern states.
250
251 - Designed and implemented the mapping between the database schema and the EDI documents, including the design of the database schema
252
253 - Developed the installation process for state and industry versions of the software.
254
255 - Lead a team of four PowerBuilder developers
256
257 __________________________________________________
258 Virginia/Maryland CVISN Pilot Credentialing System
259 __________________________________________________
260
261 Ported the MEOSS Credentialing System to the states of Virginia and Maryland
262
263 - Added client/server capabilities to the state portion of the MEOSS credentialing system
264
265 - Developed a direct-dial communications subsystem to bypass VAN charges.
266
267 - Developed a Perl script to diagnose common problems in ODBC.INI files.
268
269 ____________________________________________________
270 IFTA Clearinghouse / Quarterly Tax Submission System
271 ____________________________________________________
272
273 Developed a system for gathering fuel tax data from states.
274
275 - Implemented the mapping between the database schema and the ANSI X12 813 EDI file format.
276
277 - Developed the system for importing EDI files into a DB2 database.
278
279 - Lead a team of 2 C++ developers
280
281 - Developed the VAN communication system for sending and receiving EDI files
282
283 ______________________________________________
284 Hazardous Material Registration System (HARPS)
285 ______________________________________________
286
287 Developed a system allowing states to share hazardous material registration information.
288
289 - Gathered system requirements and wrote the technical specification document.
290
291 - Mapped database schema to the applicable ANSI X12 EDI formats.
292
293 ==========
294 Education:
295 ==========
296
297 ----------------------------------------------------------------------
298 George Mason University, Information Technology and Engineering School
299 ----------------------------------------------------------------------
300 Masters of Science / Systems Engineering / Expected Graduation May 2014
301 Masters of Science / Computer Science / May 2006
302
303 ------------------------------------------
304 Cornell University, College of Engineering
305 ------------------------------------------
306 Bachelor of Science / Computer Scuience / May 1990
307
308
309 =====================
310 Open Source Projects:
311 =====================
312
313 Haskell Augeas FFI Bindings (http://trac.haskell.org/augeas/ (2009-Present)
314
315 - Provided foreign function interface bindings so Haskell users could easily use the Augeas library
316
317 python-module-for puppet (http://github.com/jude/python-module-for-puppet/tree/master) 2009
318
319 - Extended Python packaging support in Puppet to include installation of specific package versions
320
321
322 Pwan OCL Library: (http://sourceforge.net/projects/pwan) (1999-2000)
323
324 - Developed a YACC parser for the UML Object Constraint Language version 1.3
325
326 Various other patches on github (https://github.com/jude?tab=activity) (2009-Present)
327
328
329
330
331
332